线性代数及其应用 第二章

第 2 章 矩阵代数

2.1 矩阵运算

Am×n 矩阵,用 aij 表示 A 的第 i 行第 j 列的元素,称为 A(i,j) 元素。A 的各列是 Rm 中的向量,用黑体字母 a1,a2,,an 表示,写作 A=[a1a2an]。注意 aij 是第 j 个列向量 aj 从上面算起的第 i 个元素。

m×n 矩阵 A=[aij]对角线元素a11,a22,a33,,它们组成 A主对角线对角矩阵是一个方阵,它的非对角线元素全是 0(例如 In)。元素全是零的 m×n 矩阵称为零矩阵,用 0 表示。零矩阵的维数通常可由上下文得知,否则用 0m×n 表示。

和与标量乘法

定理 1

A,B,C 是相同维数的矩阵,rs 为数,则有

a. A+B=B+A

b. (A+B)+C=A+(B+C)

c. A+0=A

d. r(A+B)=rA+rB

e. (r+s)A=rA+sA

f. r(sA)=(rs)A

为证明这些,只需看左右两边的每列是否分别相同即可。

矩阵乘法

当矩阵 B 乘以向量 x,它将 x 变换为向量 Bx。若这个向量又乘以矩阵 A,则得到的向量是 A(Bx)

于是 A(Bx) 是由 x复合映射变换所得,欲将此复合映射表示为乘以一个矩阵的变换,此矩阵记为 AB,即

A(Bx)=(AB)x

Am×n 矩阵,Bn×p 矩阵,xRpB 的各列为 b1,b2,,bpx 的元素为 x1,x2,,xp,则

Bx=x1b1+x2b2++xpbp

由乘以 A 的线性性质,

A(Bx)=A(x1b1)+A(x2b2)++A(xpbp)=x1Ab1+x2Ab2++xpAbp

向量 A(Bx) 是向量 Ab1,Ab2,,Abp 的线性组合,以 x 的元素为权,将这些向量表示成一个矩阵的各列:

A(Bx)=[Ab1Ab2Abp]x

于是乘以矩阵 [Ab1Ab2Abp]x 变换为 A(Bx),我们已找到所需矩阵。

定义 Am×n 矩阵,Bn×p 矩阵,B 的列是 b1,b2,,bp,则乘积 ABm×p 矩阵,它的各列是 Ab1,Ab2,,Abp,即

AB=A[b1b2bp]=[Ab1Ab2Abp]

AB 的定义易知如下事实:

AB 的每一列都是 A 的各列的线性组合,以 B 的对应列的元素为权。

为使线性组合 Ab1 有定义,A 的列数等于 B 的行数。由定义,AB 的行数等于 A 的行数,列数等于 B 的列数。

计算 AB 的行列法则

若乘积 AB 有定义,则 AB 的第 i 行第 j 列的元素是 A 的第 i 行与 B 的第 j 列对应元素乘积之和。若 (AB)ij 表示 AB(i,j) 元素,Am×n 矩阵,则

(AB)ij=ai1bij+ai2b2j++ainbbj

若我们需要求 AB 的第 i 行,它其实就是 A 的第 i 行和 B 的各列相乘得到的结果。记 rowi(A) 表示矩阵 A 的第 i 行,则

rowi(AB)=rowi(A)B

假设 m×n 矩阵 A 的所有行相同,n×p 矩阵 B 的所有列相同。AB 中的元素是怎样的?


AB=[Ab1Ab2Abp]

于是 AB 的各列相同,又

rowi(AB)=rowi(A)B

于是 AB 的各行相同,可知 AB 的各元素相同。

矩阵乘法的性质

定理 2

Am×n 矩阵,BC 的维数使下列各式的乘积由定义。

a. A(BC)=(AB)C(乘法结合律)

b. A(B+C)=AB+AC(乘法左分配律)

c. (B+C)A=BA+CA(乘法右分配律)

d. r(AB)=(rA)B=A(rB)r 为任意数

e. ImA=A=AIn(矩阵乘法的恒等式)

关于 (b)(e) 的证明略去。

对于 (a),由于矩阵乘法对应于线性变换的复合,而函数的复合是可结合的,可得该性质。

基于矩阵乘积的“列定义”的证明:设

C=[c1c2cp]

由矩阵乘法定义

BC=[Bc1Bc2Bcp]

A(BC)=[A(Bc1)A(Bc2)A(Bcp)]

A(Bx)=(AB)x

A(BC)=[(AB)c1(AB)c2(AB)cp]=(AB)C

得证。

注意:

  • 一般情况下,ABBA

  • 消去律对矩阵乘法不成立,即若 AB=AC,一般情况下 B=C 并不成立。

  • 若乘积 AB 是零矩阵,一般情况下,不能断定 A=0B=0

矩阵的乘幂

An×n 矩阵,kN+,用 Ak 表示 kA 的乘积。

A 不是零矩阵,且 xRn,则 Akx 表示 xA 连续左乘 k 次。特别的,A0x=x,因此 A0 被解释为单位矩阵。

矩阵的转置

给定 m×n 矩阵 A,则 A转置是一个 n×m 矩阵,用 AT 表示,它的列是由 A 的对应行构成的。

例如有

A=[abcd]C=[11113527]

那么

AT=[acbd]CT=[13151217]

定理 3

AB 表示矩阵,其维数使下列和与积有定义,则

a. (AT)T=A

b. (A+B)T=AT+BT

c. 对任意数 r(rA)T=rAT

d. (AB)T=BTAT

ac 是简单的。对于 d,计算两边的 (i,j) 元素是否相同即可。将其推广至多个矩阵:

矩阵的乘积的转置等于它们的转置的乘积,但相乘的顺序相反

2.2 矩阵的逆

一个 n×n 矩阵 A可逆的,若存在一个 n×n 矩阵 C 使

CA=IAC=I

其中 I=In,这时称 CA

CA 唯一确定,因为若 BA 的另一个逆,则 B=BI=B(AC)=(BA)C=IC=C。于是若 A 可逆,它的逆是唯一的,记为 A1,那么

A1A=IAA1=I

不可逆矩阵有时称为奇异矩阵,而可逆矩阵也称为非奇异矩阵

能不能说一个 m×n 矩阵 A 是可逆的,如果存在 n×m 矩阵 C,D 使 CA=InAD=Im?事实上我们能推出 A 是方阵,且 C=D,因此 A 是可逆的定义同上。

CA=In,对于方程 Ax=0,可知 CAx=0Inx=0x=0,于是该方程只有平凡解。A 的列数不可以多于行数,否则会出现自由变量。

AD=ImbRm,对于方程 Ax=b,有 ADb=b,于是 x=Db 可作为方程的一解。故对于任意 b,方程 Ax=b 有解。A 的行数不可以多于列数,否则 A 的各列不能生成 Rm

于是我们得到 m=n,即 A 为方阵。又 CAD=InD=CIm,那么 C=D

定理 4

A=[abcd]。若 adbc0,则 A 可逆且

A1=1adbc[dbca]

adbc=0,则 A 不可逆。

adbc0,有 [abcd]×[dbca]=[dbca]×[abcd]=[adbc00adbc],于是 A1 的公式是正确的。

只需证明 adbc=0A 不可逆。

a=b=0,这与前面推知的“若 AD=Im,则 bRm,方程 Ax=b 有解”矛盾。

a,b 不全为 0,这说明 A 的两个列向量共线,这与前面推知的“若 CA=In,则方程 Ax=0 只有平凡解”矛盾。

得证。

adbc 称为 A 的行列式,记为

detA=adbc

定理 4 说明 2×2 矩阵 A 可逆当且仅当 detA0

定理 5

A 是可逆 n×n 矩阵,则对 Rn 中的每一 b,方程 Ax=b 有唯一解 x=A1b

Rn 中任意 b,方程 Ax=b 有解,这是因为若以 A1b 代替 x,有 Ax=A(A1b)=(AA1)b=b,所以 A1b 是解。为证明解是唯一的,只需证明若 u 是任意一个解,则 u 必为 A1b

Au=b,那么

A1Au=A1bIu=A1bu=A1b

证毕。

定理 6

a.A 是可逆矩阵,则 A1 也可逆而且 (A1)1=A

b.AB 都是 n×n 可逆矩阵,则 AB 也可逆,且其逆是 AB 的逆矩阵按相反顺序的乘积,即

(AB)1=B1A1

c.A 可逆,则 AT 也可逆,且其逆是 A1 的转置,即 (AT)1=(A1)T

证明 a,即寻找矩阵 C 使

A1C=ICA1=I

显然 A 满足这些方程,故 A1 可逆且 A 是它的逆。

证明 b,有

(AB)(B1A1)=A(BB1)A1=AIA1=AA1=I

类似地有 (B1A1)(AB)=I,因此 AB 可逆且其逆为 B1A1

证明 c,利用定理 3d,有 (A1)TAT=(AA1)T=I,类似地有 AT(A1)T=I,因此 AT 可逆且其逆为 (A1)T

我们推广定理 6b:

若干个 n×n 可逆矩阵的积也是可逆的,其逆等于这些矩阵的逆按相反顺序的乘积。

在可逆矩阵与矩阵的行变换之间有一种重要的联系,它引出了计算逆矩阵的一种方法。可以看到,可逆矩阵行等价于单位矩阵,而我们可通过观察 A 行化简为 I 这一过程求出 A1

初等矩阵

把单位矩阵进行一次初等行变换,就得到初等矩阵

E1=[100010401],E2=[010100001],E3=[100010005],A=[abcdefghi]

计算 E1A,E2A,E3A,说明它们均可由 A 进行初等行变换得到。


E1A=[abcdefg4ah4bi4c],E2A=[defabcghi],E3A=[abcdef5g5h5i]

于是我们很容易说明题目的结论。

对于任意 3×n 矩阵,左乘上面的 E1(在左边相乘,就是 E1A)也有相同的结果。特别地,E1I=E1,我们看到,E1 本身是把单位矩阵以同一行变换作用所得。上述例子说明了下列关于初等矩阵的一般事实:

若对 m×n 矩阵 A 进行某种初等行变换,所得矩阵可写成 EA,其中 Em×m 矩阵,是由 Im 进行同一行变换所得。

由于行变换可逆,所以初等矩阵也可逆。若 EI 进行行变换所得,则有同一类型的另一行变换把 E 变回 I。因此有初等矩阵 F 使 FE=I。因为 EF 对应于互逆的变换,所以也有 EF=I

每个初等矩阵 E 是可逆的,E 的逆是一个同类型的初等矩阵,它把 E 变回 I

E1=[100010401] 的逆。


为把 E1 变成 I,把第 1 行的 4 倍加到第 3 行,这相应于初等矩阵

E11=[100010401]

定理 7

n×n 矩阵 A 是可逆的,当且仅当 A 行等价于 In,这时,把 A 化简为 In 的一系列初等行变换同时把 In 变成 A1

A 为可逆矩阵,则对任意 b,方程 Ax=b 有解,A 在每一行有一个主元位置。又 A 为方阵,这 n 个主元位置在对角线上,那么 AIn

反正,若 AIn,由于每步行化简对应于左乘一个初等矩阵,存在初等矩阵 E1,E2,,Ep 使

AE1AE2(E1A)Ep(Ep1E1A)=In

EpEp1E1A=In

(EpEp1E1)1(EpEp1E1)A=(EpEp1E1)1InA=(EpEp1E1)1

可知

A1=[(EpEp1E1)1]1=EpEp1E1

这说明 A1 可由依次以 E1,E2,,Ep 作用于 In 得到。

得证。

A1 的算法

A1 的算法

把增广矩阵 [AI] 进行行化简。若 A 行等价于 I,则 [AI] 行等价于 [IA1],否则 A 没有逆。

有关逆矩阵的另一个观点

e1,e2,,en 表示 In 的各列,则将 [AI] 行化简为 [IA1] 的过程可视为解 n 个方程组

Ax=e1,Ax=e2,,Ax=en

我们可知 A1 的列正好是上述方程组的解。

数值计算

在实际应用中很少计算 A1,除非需要 A1 的元素。计算 A1A1b 总共需要的运算次数大约是用行化简解方程 Ax=b3 倍,且行化简可能更为精确。

2.3 可逆矩阵的特征

定理 8(可逆矩阵定理)

An×n 矩阵,则下列命题是等价的:

a. A 是可逆矩阵。

b. A 行等价于 n×n 单位矩阵。

c. An 个主元位置。

d. 方程 Ax=0 仅有平凡解。

e. A 的各列线性无关。

f. 线性变换 xAx 是一对一的。

g.Rn 中任意 b,方程 Ax=b 至少有一个解。

h. A 的各列生成 Rn

i. 线性变换 xAxRn 映射到 Rn 上。

j. 存在 n×n 矩阵 C 使 CA=I

k. 存在 n×n 矩阵 D 使 AD=I

l. AT 是可逆矩阵。

若命题 a 为真蕴涵命题 j 为真,则称 a 蕴涵 j,记为 aj

结合所学,有 ajdcbaakgghidefalla

得证。

易知如下事实:

AB 为方阵,若 AB=I,则 AB 都是可逆的,且 B=A1A=B1

可逆矩阵定理将所有 n×n 矩阵分为两个不相交集合:可逆(非奇异)矩阵和不可逆(奇异)矩阵。定理中每个命题给出了 n×n 可逆矩阵的一个性质,定理中每个命题的命题给出了 n×n 奇异矩阵的一个性质。

可逆线性变换

线性变换 T:RnRn 称为可逆的,若存在函数 S:RnRn 使得

RnxS(T(x))=x

RnxT(S(x))=x

记为 (1)(2)。下列定理说明若这样的 S 存在,则它是唯一的而且必是线性变换。我们称 ST 的逆,把它写成 T1

定理 9

T:RnRn 为线性变换,AT 的标准矩阵。则 T 可逆当且仅当 A 是可逆矩阵。这时由 S(x)=A1x 定义的线性变换 S 是满足 (1) 式和 (2) 式的唯一函数。

T 是可逆的,则 (2) 式说明 T 是从 Rn 映射到 Rn 上的映射,因若 bRnx=S(b),则 T(x)=T(S(b))=b,所以每个 b 属于 T 的值域。由可逆矩阵定理命题 (i)A 为可逆的。

反之,若 A 是可逆的,令 S(x)=A1x,则 S 是线性变换且满足 (1) 式和 (2) 式,于是 T 是可逆的。

得证。

2.4 分块矩阵

对于矩阵 A=[301592524031863174],其可以写成 2×3 分块矩阵

A=[A11A12A13A21A22A23]

它的元素是分块(或子矩阵

A11=[301524]A12=[5903]A13=[21]A21=[863]A22=[17]A23=[4]

加法与标量乘法

这和一般矩阵是相同的。不过加法成立需要矩阵 AB 有相同的维数且以同样方式分块。

分块矩阵的乘法

分块矩阵可用通常的行列法则进行乘法运算,即我们将分块视为数运算。对于乘积 AB,只要 A 的列的分法与 B 的行的分法一致。

3×5 矩阵 A 的列被分为 3 列一组和 2 列一组;5×2 矩阵 B 的行被分为 3 行一组和 2 行一组,形如

A=[A11A12A21A22]B=[B1B2]

那么

AB=[A11A12A21A22][B1B2]=[A11B1+A12B2A21B1+A22B2]

注意小乘积中必须将 A 的子矩阵写在前面。

我们在前面已经有四种关于矩阵乘积的观点:(1) 使用 A 的列来给出 Ax 的定义;(2) AB 的列的定义;(3) 计算 AB 的行列法则;(4) A 的行与矩阵 B 的乘积作为 AB 的行。下列定理应用分块思想给出第 5 种观点。

这里提到了内积和外积的概念。

我们将 Rn 中向量视为 n×1 矩阵,对 u,vRn,矩阵乘积 uTv1×1 矩阵,称为 uv数量积内积,它通常写作实数而省略括号。矩阵乘积 uvTn×n 矩阵,称为 uv外积

A=[312145]B=[abcdef],验证

AB=col1(A)row1(B)+col2(A)row2(B)+col3(A)row3(B)


上面的每一项都是外积,有

col1(A)row1(B)=[31][ab]=[3a3bab]

col2(A)row2(B)=[14][cd]=[cd4c4d]

col3(A)row3(B)=[25][ef]=[2e2f5e5f]

于是

k=13colk(A)rowk(B)=[3a+c+2e3b+d+2fa4c+5eb4d+5f]

这个矩阵恰好就是 ABAB(i,j) 元素是三个外积的 (i,j) 元素之和。

定理 10(AB 的列行展开)

Am×n 矩阵,Bn×p 矩阵,则

AB=[col1(A)col2(A)coln(A)][row1(B)row2(B)rown(B)]=col1(A)row1(B)+col2(A)row2(B)++coln(A)rown(B)

分块矩阵的逆

形如 A=[A11A120A22] 的矩阵称为分块上三角矩阵。设 A11p×p 矩阵,A22q×q 矩阵,且 A 可逆,求 A1


B 表示 A1 且把 B 分块,使得

[A11A120A22][B11B12B21B22]=[Ip00Iq]

于是得到四个方程

A11B11+A12B21=IpA11B12+A12B22=0A22B21=0A22B22=Iq

我们可知 A22 可逆且 B22=A221,由第三个方程

B21=A2210=bm0

于是第一个方程为

A11B11+0=Ip

可知 A11 可逆且 B11=A111,由第二个方程

A11B12=A12B22=A12A221

B12=A111A12A221

最终得到

A1=[A11A120A22]1=[A111A111A12A2210A221]

分块对角矩阵是一个分块矩阵,除了主对角线上各分块外,其余全是零分块。可以用类似上述方法证明,这样的一个矩阵是可逆的当且仅当对角线上各分块都是可逆的。

数值计算

1. 当矩阵太大时,不适于储存在高速计算机内存中,分块矩阵允许计算机一次处理两到三块子矩阵。

2. 对于某些高速计算机,特别是具有向量传输技术的计算机,当把矩阵分块后再进行矩阵运算更有效。

2.5 矩阵分解

矩阵 A分解是把 A 表示为两个或更多个矩阵的乘积。矩阵乘法是数据的综合(把两个或更多个线性变换的作用结合成一个矩阵),矩阵分解是数据的分解。在计算机科学的语言中,将 A 表示为矩阵的乘积是对 A 中数据的预处理,把这些数据分成两个或多个部分可能更有用或更便于计算。

LU 分解

Am×n 矩阵,它可以行化简为阶梯形而不必行对换(此后我们处理一般情形),则 A 可写成形式 A=LULm×m 下三角形矩阵,主对角线元素全是 1UA 的一个 m×n 阶梯形矩阵,例如

A=[1000100101][000000000]

这样一个分解称为 LU 分解,矩阵 L 是可逆的,称为单位下三角形矩阵。

A=LU,方程 Ax=b 可写成 L(Ux)=b,令 y=Ux,可通过如下方程解得 x

{Ly=bUx=y

L,U 都是三角矩阵,我们可以较方便地求解。

LU 分解算法

A 可以化为阶梯形 U,化简过程中仅用行倍加变换,即把一行的倍数加于它下面的另一行。存在单位下三角初等矩阵 E1,E2,,Ep 使

EpEp1E1A=U

A=(EpEp1E1)1U=LU

L=(EpEp1E1)1

可以证明单位下三角形矩阵的乘积和逆也是单位下三角形矩阵,于是 L 为简化阶梯形。

注意有

EpEp1E1L=(EpEp1E1)(EpEp1E1)1=I

这是构造 L 的关键。

LU 分解的算法

1. 如果可能的话,用一系列的行倍加变换把 A 化为阶梯形 U

2. L 的元素满足用相同的一系列行变换把 L 变为 I

当第 1 步可能时,上述讨论指出 LU 分解存在。第 2 步,对上述 E1,E2,,EpL 满足

(EpEp1E1)L=I

根据可逆矩阵定理,L 是可逆的,(EpEp1E1)=L1

求下列矩阵的 LU 分解:

A=[24152453812541860731]


A4 行,L4×4 矩阵,L 的第一列是 A 的第一列除以它的第一行主元元素:

L=[1000210011031]

比较两者的第一列。A 的第一列的后三个元素变成 0 的行变换同时也将 L 的第一列的后三个元素变成 0,而同样的道理对 L 的其他各列也成立,如下所示(注意 处):

A=[24152453812541860731][24152031230934100124125]

[24152031230002100047][24152031230002100005]=U

标出元素确定了将 A 化为 U 的行化简,在每个主元列,把标出的元素除以主元后将结果放入 L,可得

L=[1000210013103421]

易验证 LU=A

在实际工作中行对换几乎总是必要的,因为部分主元法可以用来提高精确度(其选择一列中可以作为主元的元素中绝对值最大的一个作为主元)。为处理行对换,上述 LU 分解可以稍作改变以产生一个置换下三角形矩阵 L,就是说经过行的置换后它成为(单位)下三角形矩阵。所得的置换 LU 分解可通过与前面一样的途径解方程 Ax=b,只要在把 [Lb] 化简为 [Iy] 时按照 L 中主元的顺序从左到右进行,并从第一列的主元开始。

数值计算

下列运算次数的计算适用于 n×n 稠密矩阵 A(大部分元素非零),n 相当大(如 n30)。

1. 计算 ALU 分解大约需要 23n3 次浮算(大约与行化简 [Ab] 的次数相同),而求 A1 大约需要 2n3 次浮算。

2.Ly=bUx=y 大约需要 2n2 次浮算,因任意 n×n 三角方程组可以用大约 n2 次浮算解出。

3.b 乘以 A1 也需要 2n2 次浮算,但结果可能不如由 LU 得出的精确(由于计算 A1A1b 的舍入误差)。

4.A 是稀疏矩阵(大部分元素为 0),则 LU 可能也是稀疏的,然而 A1 很可能是稠密的,这时用 LU 分解来解方程 Ax=b 很可能比用 A1 快很多。

2.6 列昂惕夫投入-产出模型

在以下经济模型中,设 xRn产出向量d最终需求向量(或最终需求账单),C消耗矩阵Cij 表示部门 j 每单位产出中对部门 i 消耗的投入,有

{}=i=1nx1ci=Cx

列昂惕夫投入-产出模型或生产方程

x=Cx+d

其中 x 为总产出,Cx 为中间需求,d 为最终需求。

可以将该方程写为 (IC)x=d

下列定理中用列的和表示矩阵中某一列元素的和。

定理 11

C 为某一经济体系的消耗矩阵,d 为最终需求。若 Cd 的元素非负,C 的每一列的和小于 1,则 (IC)1 存在,产出向量

x=(IC)1d

有非负元素,且是下列方程的唯一解:

x=Cx+d

(IC)1 的公式

假设有由 d 表示的需求和产出水平为 x=d 的计划,恰好满足最终需求,这创造出对投入的中间需求 Cd。为满足 Cd 需要额外投入 C2dd,C3d,,在某一时刻停止。于是

x=d+Cd+C2d+C3d+=(I+C+C2+C3+)d

为使上式有意义,使用代数恒等式

(IC)(I+C+C2++Cm)=ICm+1

可以证明,若 C 的列的和都严格小于 1,则 IC 是可逆的,当 m 趋于无穷时 Cm 趋于 0,而 ICm+1I。那么当 C 的和小于 1 时,

(IC)1I+C+C2++Cm

实际上消耗矩阵的幂迅速趋于 0。类似地,对任意 d,向量 Cmd 迅速趋于零向量。

于是上面已经给出了计算 (IC)1 和求解方程 (IC)x=d 方法。若 C,d 中元素均非负,可知 x 中的元素也非负。

(IC)1 中元素的经济重要性

事实上,(IC)1j 列的元素表示当第 j 个部门的最终需求增加 1 单位时,各部门需要增加产出的数量。

2.7 在计算机图形学中的应用

我们在 1.9 节中已经知道,R2 中的几何线性变换可以用对称、收缩与拉伸、剪切和投影复合而成,这里略过。

齐次坐标

R2 中每个点 (x,y) 可以对应于 R3 中的点 (x,y,1),它们位于 xy 平面上方 1 单位的平面上,称 (x,y)齐次坐标 (x,y,1)

形如 (x,y)(x+h,y+k) 的平移可以用齐次坐标写成 (x,y,1)(x+h,y+k,1),用矩阵乘法实现:

[10h01k001][xy1]=[x+hy+k1]

R2 中的任意线性变换可以通过齐次坐标乘以分块矩阵 [A001] 实现,其中 A2×2 矩阵,例如

  • 绕原点顺时针旋转角度 φ[cosφsinφ0sinφcosφ0001]

  • 关于 y=x 的对称:[010100001]

  • x 乘以 sy 乘以 t[s000t0001]

复合变换

图形在计算机屏幕上的移动通常需要两个或多个基本变换。这些的变换的复合相应于在使用齐次坐标时进行矩阵相乘。

三维计算机图形学

应用于分子建模。药物设计的进展依赖于计算机图形学构造有真实感的分子和它们的交互作用的仿真的能力。现在的分子建模的研究集中于虚拟现实

齐次三维坐标

我们称 (x,y,z,1)R3 中点 (x,y,z) 的齐次坐标。一般地,若 H0,则 (X,Y,Z,H)(x,y,z)齐次坐标,且

x=XH,y=YH,z=ZH

(x,y,z,1) 的每一个非零的标量乘法得到一组 (x,y,z) 的齐次坐标。

同样可以通过研究 e1,e2e3 在线性变换作用下的坐标得到 4×4 的线性变换矩阵。

透视投影

三维物体在二维计算机屏幕上的表示方法是把它投影在一个可视平面上。简单起见,设 xy 平面表示计算机屏幕,假设某一观察者的眼睛向正 z 轴看去,眼睛位置为 (0,0,d)透视投影把每个点 (x,y,z) 映射为 (x,y,0),使这两点与观察者的眼睛位置(称为投影中心)在一条直线上。作图,由相似三角形有

xd=xdzx=dxdz=x1z/d

类似地,

y=y1z/d

使用齐次坐标,用矩阵 P 表示透视投影,我们想将 (x,y,z,1) 映射为

(x1z/d,y1z/d,0,1)

可用 1z/d 把这个坐标缩放,也可用 (x,y,0,1z/d) 作为像的齐次坐标,可求出

P[xyz1]=[100001000000001/d1][xyz1]=[xy01z/d]

数值计算

图形化三维物体的连续移动需要计算大量的 4×4 矩阵。特别地,当渲染曲面使其光滑时,可使它更有实体感,并有适当的光线。高档图形工作站有 4×4 矩阵运算及并将图形嵌入芯片和电路中,这样的工作站可以每秒做数十亿次矩阵乘法以实现三维游戏程序中有真实感的颜色变化。

2.8 Rn 的子空间

定义 Rn 中的一个子空间Rn 中的集合 H,具有以下三个性质:

a. 零向量属于 H

b.H 中任意的向量 uv,向量 u+v 属于 H

c.H 中任意向量 u 和数 c,向量 cu 属于 H

换句话说,子空间对加法和标量乘法运算是封闭的

v1,v2,,vp 属于 Rn,则 v1,v2,vp 的所有线性组合是 Rn 的子空间,称 Span{v1,v2,,vp} 为由 v1,v2,,vp 生成(或张成)的子空间

Rn 是它本身的子空间。仅含零向量的集合称为零子空间

定义 矩阵 A列空间A 的各列的线性组合的集合,记作 ColA

A=[a1a2an],各列属于 Rm,则 ColASpan{a1,a2,,an} 相同。

向量 b 属于 A 的列空间,这说明方程 Ax=b 相容。A 的列空间是所有使方程组有解的向量 b 集合。

m×n 矩阵的列空间是 Rm 的子空间。仅当 A 的列生成 Rm 时,ColA 等于 Rm。否则 ColA 仅是 Rm 的一部分。

定义 矩阵 A零空间是齐次方程 Ax=0 的所有解的集合,记为 NulA

An 列时,Ax=0 的解属于 RnA 的零空间是 Rn 的子集。

定理 12

m×n 矩阵 A 的零空间时 Rn 的子空间。等价地,n 个未知数的 m 个齐次线性方程的方程组 Ax=0 的所有解的集合是 Rn 的子空间。

首先零向量属于 NulA

NulA 中两向量 u,v 和数 c,则 u+vcu 属于 NulA。容易得证。

检验 v 是否属于 NulA 只需检验 Av=0 是否成立。因 NulA 是用其中每个向量必须满足的一个条件来描述的,所以说零空间时隐式定义的。而列空间是显式定义的,因 ColA 中的向量可由 A 的各列利用线性组合构造出来。为建立 NulA 的显示描述,只需将解写成参数向量形式。

子空间的基

定义 Rn 中子空间 H 的一组H 中一个线性无关集,它生成 H

{e1,e2,,en} 称为 Rn标准基

下例说明,求出方程 Ax=0 的解集的向量参数形式实际上就是确定 NulA 的基。

求出 NulA 的基,其中

A=[361171223124584]


将方程 Ax=0 的解写成参数向量形式:

[A0][120130001220000000]x12x2x4+3x5=0x3+2x42x5=00=0

通解为 x1=2x3+x43x5,x3=2x4+2x5x2,x4,x5 为自由变量,则

[x1x2x3x4x5]=[2x2+x43x5x22x4+2x5x4x5]=x2[21000]+x4[10210]+x5[30201]

将其表示为 x=x2u+x4v+x5w

可知 {u,v,w} 生成 NulA。容易得出,u,v,w 的构造保证了它们线性无关(因为 x2 不能被 x4,x5 表示出),因此 {u,v,w}NulA 的一组基。

ColB 的基,其中

B=[b1b2b3b4b5]=[10350012100000100000]


注意到 b3=3b1+2b2b4=5b1b2。这意味着对于任意 vColB,有

v=c1b1+c2b2+c3b3+c4b4+c5b5=c1b1+c2b2+c3(3b1+2b2)+c4(5b1b2)+c5b5

它是 b1,b2,b5 的线性组合,于是 {b1,b2,b5} 生成 ColB,又 b1,b2,b5 线性无关,B 的主元列构成 ColB 的基。

B 是简化阶梯形。对于一般矩阵 A,回顾 A 的各列之间的线性相关关系可表示为形式 Ax=0。当 A 行化简为简化阶梯形 B 时,方程 Ax=0Bx=0 有相同的解集,即 A 的列与 B 的列有相同的线性相关关系

此时 A 类似 B,满足 a3=3a1+2a2a4=5a1a2,且 {a1,a2,a5} 线性无关,可知 {a1,a2,a5}ColA 的一组基。

定理 13

矩阵 A 的主元列构成 A 的列空间的基。

注意阶梯形 B 的列通常并不在 A 的列空间内,因为行变换只能保证行向量的线性相关性不变,而列向量不行。

n×n 矩阵 A 可逆,NulAColA 会如何?


根据可逆矩阵定理,A 的各列生成 Rn,故 ColA=Rn;同时方程 Ax=0 只有平凡解,则 NulA={0}

2.9 维数与秩

坐标系

选择子空间 H 的一个基代替一个纯粹生成集的主要原因是 H 中每个向量可以被表示为基向量的线性组合的唯一方式。这是显然的。

定义 假设 B={b1,b2,,bp} 是子空间 H 的一组基。对 H 中每一个向量 x相对于基 B 的坐标是使 x=c1b1+c2b2++cpbp 成立的权 c1,c2,,cp,且 Rp 中的向量

[x]B=[c1c2cp]

称为 x(相对于 B)的坐标向量,或 xB 坐标向量。([x]B 的元素依赖于 B 中向量的次序)

B={v1,v2}v1,v2R3,则 B 确定 R3 中平面 H 上的一个“坐标系”。映射 x[x]BHR2 之间保持线性组合关系的一一映射。我们称这种映射是同构的,且 HR2 同构

一般地,如果 B={b1,b2,,bp}H 的基,则映射 x[x]B 是使 HRp 的形态一样的一一映射(尽管 H 中的向量可能有多于 p 个元素)。

子空间的维数

可以证明,若子空间 H 有一组基包含 p 个向量,则 H 的每个基都正好包含 p 个向量。

定义 非零子空间 H维数(用 dimH 表示)是 H 的任意一个基的向量个数。零子空间 {0} 的维数定义为零。(因为零向量本身构成一个线性相关集,零子空间无基)

定义 矩阵 A(记为 rankA) 是 A 的列空间的维数。

A 的秩正好是 A 的主元列的个数。

由于主元列的个数加上非主元列的个数等于 A 的列数,可得如下定理:

定理 14(秩定理)

如果一矩阵有 n 列,则 rankA+dimNulA=n

定理 15(基定理)

HRnp 维子空间,H 中的任何恰好由 p 个元素组成的线性无关集构成 H 的一个基。并且,H 中任何生成 Hp 个向量集自然也构成 H 的一个基。

秩与可逆矩阵定理

定理 16(可逆矩阵定理8(续))

An×n 矩阵,则下面的每个命题与 A 是可逆矩阵的命题等价:

m. A 的列向量构成 Rn 的一个基。

n. ColA=Rn

o. rankA=n

p. dimNulA=0

q. NulA={0}

回顾定理可知命题 m 逻辑上与命题 eh 等价,且

gnopqd

因为命题 dgA 是可逆矩阵的命题等价,得证。

数值计算

我们已学算法通常不适于处理现实生活中的大规模问题。

例如矩阵 [575x],它的秩可能是 12,这取决于计算机是否视 x7 为零。

本文作者:SE の 摆烂窝

本文链接:https://www.cnblogs.com/SError0819/p/18151694

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SError  阅读(16)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起