注:本文为 "线性代数 | 矩阵运算" 相关合辑。
略作重排,未整理去重。
如有内容异常,请看原文。
线性代数 -- 矩阵基本计算(加减乘法)
二十五画生已于 2025-02-22 21:32:38 修改
一、矩阵的基本概念
矩阵本质上是一个数表,用 A m × n A_{m \times n} Am×n 表示,代表一个 m × n m \times n m×n 的矩阵,有 m m m 行 n n n 列。
矩阵的应用场景广泛,例如用于表示关系等。
如下图就是一个 4 行 4 列的矩阵。
A = [ 0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 ] \boldsymbol{A} = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 1 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 \end{bmatrix} A= 0011101001000110
1、行矩阵与列矩阵
仅有一行的矩阵称为行矩阵
A = [ a 1 , a 2 , ⋯ , a n ] \boldsymbol{A} = \left[ a_1, a_2, \cdots, a_n \right] A=[a1,a2,⋯,an]
仅有一列的矩阵称为列矩阵
A = [ a 1 a 2 ⋮ a n ] \boldsymbol{A} = \begin{bmatrix} a_1 \\ a_2 \\ \vdots \\ a_n \end{bmatrix} A= a1a2⋮an
2、零矩阵
若矩阵中所有元素均为 0,则称其为零矩阵,记作 0 0 0
( 0 0 ⋯ 0 0 0 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 0 ) \begin{pmatrix} 0 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 \end{pmatrix} 00⋮000⋮0⋯⋯⋱⋯00⋮0
3、负矩阵
将某一矩阵的所有元素取相反数所得到的矩阵,称为该矩阵的负矩阵。
例如 A A A 的负矩阵为 − A -A −A。
A = [ 0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 ] \boldsymbol{A} = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 1 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 \end{bmatrix} A= 0011101001000110
− A = [ 0 − 1 0 0 0 0 − 1 − 1 − 1 − 1 0 − 1 − 1 0 0 0 ] -\boldsymbol{A} = \begin{bmatrix} 0 & -1 & 0 & 0 \\ 0 & 0 & -1 & -1 \\ -1 & -1 & 0 & -1 \\ -1 & 0 & 0 & 0 \end{bmatrix} −A= 00−1−1−10−100−1000−1−10
4、方阵
1)方阵的定义
行数与列数相等的矩阵称为方阵,通常也称为 n n n 阶矩阵,记为 A n × n A_{n \times n} An×n 或 A n A_n An
例如下面这个矩阵,就是三行三列的矩阵。
( a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 ) \begin{pmatrix} a_1 & b_1 & c_1 \\ a_2 & b_2 & c_2 \\ a_3 & b_3 & c_3 \end{pmatrix} a1a2a3b1b2b3c1c2c3
2)主对角线和次对角线
仅在方阵中存在对角线的概念。如图:

5、单位阵
主对角线上的元素均为 1,其余元素均为 0 的方阵,称为单位矩阵,记作 E E E。
( 1 0 0 0 1 0 0 0 1 ) \left( \begin{matrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{matrix} \right) 100010001
6、只有一个数字的矩阵
仅含一个元素的矩阵也是矩阵,可视为特殊的矩阵。
例如: [ 5 ] [5] [5]
7、同型矩阵
若两个矩阵的行数和列数分别相等,则称这两个矩阵为同型矩阵。
例如: A 2 × 3 A_{2 \times 3} A2×3 和 B 2 × 3 B_{2 \times 3} B2×3 就是同型矩阵。
若两个同型矩阵的对应元素相等,则称这两个矩阵相等。即矩阵相等的前提是它们为同型矩阵。
二、矩阵与行列式的区别
- 本质上,矩阵是一个数表,而行列式是一个数。
- 符号:矩阵通常用 ( ) \left ( \right) () 或 [ ] [ ] [] 表示,而行列式用 ∣ ∣ \left| \right| ∣∣ 表示。
- 形状上,矩阵不一定是方阵,但是行列式一定是方阵,即行数等于列数。
三、矩阵的运算
1、加法、减法
矩阵的加减运算为对应元素分别相加减(注意:仅同型矩阵可进行加减运算)。
1 0 0 1 \] + \[ 1 1 0 0 \] = \[ 2 1 0 1 \] \\begin{bmatrix} 1 \& 0 \\\\ 0 \& 1 \\end{bmatrix} + \\begin{bmatrix} 1 \& 1 \\\\ 0 \& 0 \\end{bmatrix} = \\begin{bmatrix} 2 \& 1 \\\\ 0 \& 1 \\end{bmatrix} \[1001\]+\[1010\]=\[2011
矩阵的加减法满足以下运算法则:
A + B = B + A A + B = B + A A+B=B+A
( A + B + C ) = A + ( B + C ) (A + B + C) = A + (B + C) (A+B+C)=A+(B+C)
A + ( − A ) = O A + (-A) = O A+(−A)=O
A + B = C ⇔ A = C − B A + B = C \Leftrightarrow A = C - B A+B=C⇔A=C−B
2、数乘运算
数 k k k 与矩阵相乘,结果为该数与矩阵中每个元素分别相乘所得到的矩阵。
3 ( 1 2 3 1 0 − 1 0 1 1 ) = ( 3 × 1 3 × 2 3 × 3 3 × 1 3 × 0 3 × ( − 1 ) 3 × 0 3 × 1 3 × 1 ) 3\begin{pmatrix} 1 & 2 & 3 \\ 1 & 0 & -1 \\ 0 & 1 & 1 \end{pmatrix} = \begin{pmatrix} 3\times1 & 3\times2 & 3\times3 \\ 3\times1 & 3\times0 & 3\times(-1) \\ 3\times0 & 3\times1 & 3\times1 \end{pmatrix} 3 1102013−11 = 3×13×13×03×23×03×13×33×(−1)3×1
矩阵数乘与行列式的区别:
- 矩阵提取公因子时,若矩阵中所有元素均有公因子,则公因子提取一次。
- 行列式提取公因子时,每一行(或每一列)可提取一次公因子,若所有元素均有公因子,则对于 n n n 阶行列式,公因子需提取 n n n 次。
矩阵数乘满足的运算规律:
k ( A + B ) = k A + k B ( k + m ) A = k A + m A k ( m A ) = k m A \begin{align*} k(A+B) & =kA+kB \\ (k+m)A & =kA+mA \\ k(mA) & =kmA \end{align*} k(A+B)(k+m)Ak(mA)=kA+kB=kA+mA=kmA
四、矩阵乘法
1、矩阵的乘法
矩阵乘法的计算规则为:前一矩阵的第 i i i 行与后一矩阵的第 j j j 列对应元素相乘后求和,结果作为乘积矩阵第 i i i 行第 j j j 列的元素。
矩阵相乘的前提条件是:第一个矩阵的列数等于第二个矩阵的行数。
乘积矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。
例如: A 2 × 3 × A 3 × 2 A_{2 \times 3} \times A_{3 \times 2} A2×3×A3×2 的结果矩阵就是 2 × 2 2 \times 2 2×2 的方阵。

做两个例题练习:
A 99 × 55 × B 55 × 200 = C 99 × 200 A_{99 \times 55} \times B_{55 \times 200} = C_{99 \times 200} A99×55×B55×200=C99×200
A s × h × B h × m = C s × m A_{s \times h} \times B_{h \times m} = C_{s \times m} As×h×Bh×m=Cs×m
2、矩阵乘法不满足的三条规律
-
A B ≠ B A AB \neq BA AB=BA,即矩阵乘法一般不满足交换律。
例如: A 5 × 2 A_{5 \times 2} A5×2 与 B 2 × 3 B_{2 \times 3} B2×3 可以相乘,满足前一矩阵列数与后一矩阵行数相等;但 B 2 × 3 B_{2 \times 3} B2×3 与 A 5 × 2 A_{5 \times 2} A5×2 不能相乘,因为 3 ≠ 5 3 \neq 5 3=5,不满足相乘条件。
矩阵乘法一般不满足交换律,但存在特殊情况,若 A B = B A AB = BA AB=BA,则称 A A A 与 B B B 可交换。
-
若 A B = O AB = O AB=O 且 A ≠ O A \neq O A=O,则不能推出 B = O B = O B=O。
在数字运算中,若 x y = 0 xy = 0 xy=0,可推出 x = 0 x = 0 x=0 或 y = 0 y = 0 y=0;但在矩阵运算中该结论不成立。
-
若 A B = A C AB = AC AB=AC 且 A ≠ O A \neq O A=O,则不能推出 B = C B = C B=C。
同样,在数字运算中,若 3 x = 3 y 3x = 3y 3x=3y,可推出 x = y x = y x=y;但在矩阵运算中该结论不成立。
总结 矩阵乘法不满足的三条规律:
-
(1) A B ≠ B A AB \neq BA AB=BA;
-
(2) 若 A B = A C AB = AC AB=AC 且 A ≠ O A \neq O A=O,不能推出 B = C B = C B=C;
-
(3) 若 A B = O AB = O AB=O,不能推出 A = O A = O A=O 或 B = O B = O B=O。
任何矩阵与零矩阵相乘的结果均为零矩阵,由于矩阵乘法的特殊性,需注意零矩阵的形状。
3、矩阵乘法的运算规律
-
结合律: ( A B ) C = A ( B C ) (AB) C = A (BC) (AB)C=A(BC)
-
分配律: ( A + B ) C = A C + B C (A + B) C = AC + BC (A+B)C=AC+BC, C ( A + B ) = C A + C B C (A + B) = CA + CB C(A+B)=CA+CB(注意:由于矩阵乘法的特殊性,矩阵的左右位置具有严格意义,不可随意调换,即矩阵乘法不满足交换律)。
-
k ( A B ) = ( k A ) B = A ( k B ) k (AB) = (kA) B = A (kB) k(AB)=(kA)B=A(kB)(对于常数 k k k,其在乘法运算中的位置可任意放置)。
(注意:对于上述三条运算规律,需保持矩阵乘法的先后顺序,左乘和右乘的位置不可改变。)
4、矩阵的可交换
若 A B = B A AB = BA AB=BA,则称矩阵 A A A 与 B B B 可交换。当题目告知 A A A 与 B B B 可交换时,即表明着 A B = B A AB = BA AB=BA。
相等矩阵的定义:同型矩阵的对应元素相等。
矩阵可交换的前提是它们为同型方阵。
否则,例如:
A 2 × 3 × B 3 × 2 = C 2 × 2 A_{2 \times 3} \times B_{3 \times 2} = C_{2 \times 2} A2×3×B3×2=C2×2( A B AB AB 的结果矩阵为 2 × 2 2 \times 2 2×2 矩阵);
B 3 × 2 × A 2 × 3 = C 3 × 3 B_{3 \times 2} \times A_{2 \times 3} = C_{3 \times 3} B3×2×A2×3=C3×3( B A BA BA 的结果矩阵为 3 × 3 3 \times 3 3×3 矩阵)。
显然,二者结果不相等。
因此,若非同型方阵,矩阵无法交换,首先结果矩阵的形状就不相同。
五、矩阵的幂运算
注意 :矩阵的幂运算仅适用于方阵,以保证运算可连续进行。
矩阵的幂运算定义为: A k = A A ⋯ A A^k = AA\cdots A Ak=AA⋯A(共 k k k 个 A A A 相乘)。
其中 A 0 = E A^0 = E A0=E。
性质 1: A k 1 A k 2 = A k 1 + k 2 A^{k_1} A^{k_2} = A^{k_1 + k_2} Ak1Ak2=Ak1+k2
性质 2: ( A k 1 ) k 2 = A k 1 k 2 (A^{k_1})^{k_2} = A^{k_1k_2} (Ak1)k2=Ak1k2
(再次注意:矩阵的乘法不满足交换律。)
( A B ) k ≠ A k B k (AB)^k \neq A^kB^k (AB)k=AkBk
例如: ( A B ) 2 ≠ A 2 B 2 (AB)^2 \neq A^2B^2 (AB)2=A2B2
原因如下: ( A B ) 2 = A B A B (AB)^2 = ABAB (AB)2=ABAB,而 A 2 B 2 = A A B B A^2B^2 = AABB A2B2=AABB。
注意,矩阵乘法不满足交换律 ,因此上述两式显然不相等,除非 A B AB AB 可交换,即 A B = B A AB = BA AB=BA。
同时:
( A + B ) 2 ≠ A 2 + 2 A B + B 2 (A + B)^2 \neq A^2 + 2AB + B^2 (A+B)2=A2+2AB+B2
证明:
( A + B ) ( A + B ) = ( A + B ) A + ( A + B ) B = A 2 + B A + A B + B 2 (A + B)(A + B) = (A + B) A + (A + B) B = A^2 + BA + AB + B^2 (A+B)(A+B)=(A+B)A+(A+B)B=A2+BA+AB+B2
显然,
2 A B ≠ B A + A B 2AB \neq BA + AB 2AB=BA+AB
同理:
( A − B ) 2 ≠ A 2 − 2 A B + B 2 (A - B)^2 \neq A^2 - 2AB + B^2 (A−B)2=A2−2AB+B2
证明:
( A − B ) ( A − B ) = ( A − B ) A − ( A − B ) B = A 2 − B A − A B + B 2 (A - B)(A - B) = (A - B) A - (A - B) B = A^2 - BA - AB + B^2 (A−B)(A−B)=(A−B)A−(A−B)B=A2−BA−AB+B2
显然,
− 2 A B ≠ − B A − A B -2AB \neq -BA - AB −2AB=−BA−AB
需始终注意:矩阵乘法需严格关注 A B AB AB 的先后顺序,位置的变化会影响运算结果(因为矩阵乘法是前一矩阵的行与后一矩阵的列相乘)。
但是,对于
( A + E ) 2 = A 2 + A E + E A + E 2 (A + E)^2 = A^2 + AE + EA + E^2 (A+E)2=A2+AE+EA+E2
和
( A − E ) 2 = A 2 − A E − E A + E 2 (A - E)^2 = A^2 - AE - EA + E^2 (A−E)2=A2−AE−EA+E2,
由于任何矩阵与单位阵 E E E 相乘的结果等于其本身,且单位阵左乘与右乘的结果相同,
即 A E = E A AE = EA AE=EA, B E = E B BE = EB BE=EB,
因此:
( A + E ) 2 = A 2 + 2 A E + E 2 (A + E)^2 = A^2 + 2AE + E^2 (A+E)2=A2+2AE+E2
( A − E ) 2 = A 2 − 2 A E + E 2 (A - E)^2 = A^2 - 2AE + E^2 (A−E)2=A2−2AE+E2
是成立的。
六、简单的矩阵运算,运用所学知识点
例 1
给定两个方程组:
x 1 = y 1 − y 2 x_1 = y_1 - y_2 x1=y1−y2, y 1 = z 1 + z 2 + z 3 y_1 = z_1 + z_2 + z_3 y1=z1+z2+z3;
x 2 = y 1 + y 2 x_2 = y_1 + y_2 x2=y1+y2, y 2 = z 1 − 2 z 2 + z 3 y_2 = z_1 - 2z_2 + z_3 y2=z1−2z2+z3。
要求用 z 1 , z 2 , z 3 z_1, z_2, z_3 z1,z2,z3 表示 x 1 x_1 x1 和 x 2 x_2 x2。
矩阵与线性变换(变量代换)
通过变量代换( x x x 用 y y y 表示、 y y y 用 z z z 表示 ),将 x x x 关于 y y y 的矩阵变换与 y y y 关于 z z z 的矩阵变换相乘,得到 x x x 关于 z z z 的矩阵变换,还给出了另一组 ( x 1 , x 2 x_1,x_2 x1,x2 )关于 z z z 的矩阵变换,涉及矩阵乘法在线性替换中的应用 。
- x x x 与 y y y、 y y y 与 z z z 的矩阵表示
{ ( x 1 x 2 ) = ( 1 − 1 1 1 ) ( y 1 y 2 ) ( y 1 y 2 ) = ( 1 1 1 1 − 2 1 ) ( z 1 z 2 z 3 ) \begin{cases} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} y_1 \\ y_2 \end{pmatrix} \\ \\ \begin{pmatrix} y_1 \\ y_2 \end{pmatrix} = \begin{pmatrix} 1 & 1 & 1 \\ 1 & -2 & 1 \end{pmatrix} \begin{pmatrix} z_1 \\ z_2 \\ z_3 \end{pmatrix} \end{cases} ⎩ ⎨ ⎧(x1x2)=(11−11)(y1y2)(y1y2)=(111−211) z1z2z3
- x x x 关于 z z z 的矩阵变换
( x 1 x 2 ) = ( 1 − 1 1 1 ) ( 1 1 1 1 − 2 1 ) ( z 1 z 2 z 3 ) \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} 1 & 1 & 1 \\ 1 & -2 & 1 \end{pmatrix} \begin{pmatrix} z_1 \\ z_2 \\ z_3 \end{pmatrix} (x1x2)=(11−11)(111−211) z1z2z3
- 化简 x 1 , x 2 x_1,x_2 x1,x2 关于 z z z 的矩阵变换
( x 1 x 2 ) = ( 0 3 0 2 − 1 2 ) ( z 1 z 2 z 3 ) \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} 0 & 3 & 0 \\ 2 & -1 & 2 \end{pmatrix} \begin{pmatrix} z_1 \\ z_2 \\ z_3 \end{pmatrix} (x1x2)=(023−102) z1z2z3
例 2
已知矩阵 A = ( 1 1 1 ) A = \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} A= 111 ( 3 × 1 3×1 3×1 矩阵 ),矩阵 B = ( 1 2 3 ) B = \begin{pmatrix} 1&2&3 \end{pmatrix} B=(123)( 1 × 3 1×3 1×3 矩阵 )。
求 A B AB AB、 B A BA BA、 ( A B ) 2 (AB)^2 (AB)2、 ( A B ) n (AB)^n (AB)n
-
矩阵乘法 A B AB AB:
A B = ( 1 1 1 ) ( 1 2 3 ) = ( 1 × 1 1 × 2 1 × 3 1 × 1 1 × 2 1 × 3 1 × 1 1 × 2 1 × 3 ) = ( 1 2 3 1 2 3 1 2 3 ) AB = \begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix}\begin{pmatrix} 1&2&3 \end{pmatrix} = \begin{pmatrix} 1×1 & 1×2 & 1×3 \\ 1×1 & 1×2 & 1×3 \\ 1×1 & 1×2 & 1×3 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} AB= 111 (123)= 1×11×11×11×21×21×21×31×31×3 = 111222333 (结果为 3 × 3 3×3 3×3 矩阵 ) -
矩阵乘法 B A BA BA:
B A = ( 1 2 3 ) ( 1 1 1 ) = 1 × 1 + 2 × 1 + 3 × 1 = 6 BA = \begin{pmatrix} 1&2&3 \end{pmatrix}\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} = 1×1 + 2×1 + 3×1 = 6 BA=(123) 111 =1×1+2×1+3×1=6(结果为标量 ) -
幂运算 ( A B ) 2 (AB)^2 (AB)2:
由结合律, ( A B ) 2 = A B ⋅ A B = A ( B A ) B = 6 A B = 6 ( 1 2 3 1 2 3 1 2 3 ) (AB)^2 = AB \cdot AB = A(BA)B = 6AB = 6\begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} (AB)2=AB⋅AB=A(BA)B=6AB=6 111222333
B A BA BA 是标量(常数) ,矩阵乘法中,标量的幂次可单独提取,且不影响 A A A 与 B B B 的"连接"(即 A ⋅ B A \cdot B A⋅B 始终是 A B AB AB )。
-
幂运算 ( A B ) n (AB)^n (AB)n:
同理, ( A B ) n = 6 n − 1 A B = 6 n − 1 ( 1 2 3 1 2 3 1 2 3 ) (AB)^n = 6^{n - 1}AB = 6^{n - 1}\begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} (AB)n=6n−1AB=6n−1 111222333
【线性代数】向量的乘法运算
北境の守卫于 2018-06-29 17:30:45 发布
为明晰向量乘法运算的相关概念,以下对其进行梳理。
0. 综述
常用的向量乘法运算包括:
- a ⋅ b = ∥ a ∥ ∥ b ∥ cos θ \boldsymbol {a} \cdot \boldsymbol {b} = \|\boldsymbol {a}\| \|\boldsymbol {b}\| \cos\theta a⋅b=∥a∥∥b∥cosθ,称为向量的内积,也称为数量积或点积。
- a × b = ∥ a ∥ ∥ b ∥ sin θ \boldsymbol {a} \times \boldsymbol {b} = \|\boldsymbol {a}\| \|\boldsymbol {b}\| \sin\theta a×b=∥a∥∥b∥sinθ,称为向量的外积,也称为向量积或叉积。
-
a b c \] = ( a × b ) ⋅ c \[\\boldsymbol {a} \\boldsymbol {b} \\boldsymbol {c}\] = (\\boldsymbol {a} \\times \\boldsymbol {b}) \\cdot \\boldsymbol {c} \[abc\]=(a×b)⋅c,称为向量的混合积。
1.1 定义

1.2 向量内积性质

注意,向量内积不满足结合律,即一般情况下 ( a ⋅ b ) ⋅ c ≠ a ⋅ ( b ⋅ c ) (\boldsymbol {a} \cdot \boldsymbol {b}) \cdot \boldsymbol {c} \neq \boldsymbol {a} \cdot (\boldsymbol {b} \cdot \boldsymbol {c}) (a⋅b)⋅c=a⋅(b⋅c),这是因为向量内积的结果为标量。

1.3 向量内积的物理意义

向量内积的物理意义是力对物体做功,即力沿位移方向所做的功。
1.4 向量内积的用途
1.4.1 求两个非零向量的夹角

1.4.2 判断两个非零向量是否垂直

通过对应坐标相乘后求和,若结果为 0,则两向量垂直;否则,不垂直。
2. 外积
2.1 向量外积的定义

向量外积的结果是垂直于原向量所确定平面的向量。
通过坐标直接计算外积较为复杂,将其写成行列式形式再展开,更便于记忆。

2.2 向量外积的性质

2.3 向量外积的几何意义

其模长的一半即为以 a \boldsymbol {a} a, b \boldsymbol {b} b 为邻边的三角形的面积。
2.4 向量外积的用途
2.4.1 求与三角形面积相关的问题

3. 混合积
3.1 向量混合积的定义
三个向量的混合积是指先对前两个向量做外积,再将结果与第三个向量做内积,最终得到一个标量,即 [ a b c ] = ( a × b ) ⋅ c [\boldsymbol {a} \boldsymbol {b} \boldsymbol {c}] = (\boldsymbol {a} \times \boldsymbol {b}) \cdot \boldsymbol {c} [abc]=(a×b)⋅c。


混合积的坐标表达式具有规整优美的形式。
3.2 混合积的性质

3.3 混合积的几何意义

3.4 混合积的用途
3.4.1 求与四面体体积相关的问题

3.4.2 判断三个向量是否共面

内容主要来自以下两个文档:
线性代数:矩阵、矩阵乘法与广义矩阵乘法
posted @ 2023-09-17 18:54 RainPPR
一、引言
矩阵是线性代数中的核心概念,是处理线性关系的重要工具。其通常用圆括号或方括号表示,形式如下:
A = ( a 11 ⋯ a 1 n ⋮ ⋱ ⋮ a m 1 ⋯ a m n ) A = \begin {pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end {pmatrix} A= a11⋮am1⋯⋱⋯a1n⋮amn
矩阵具有明确的行数和列数,一个具有 m m m 行 n n n 列的矩阵称为 m × n m \times n m×n 矩阵(读作 " m m m 乘 n n n 矩阵")。
二、矩阵与线性方程组的表示
线性方程组可以通过矩阵乘法的形式简洁表示。例如,对于线性方程组:
{ 7 x 1 + 8 x 2 + 9 x 3 = 13 4 x 1 + 5 x 2 + 6 x 3 = 12 x 1 + 2 x 2 + 3 x 3 = 11 \begin {cases} 7x_1 + 8x_2 + 9x_3 = 13 \\ 4x_1 + 5x_2 + 6x_3 = 12 \\ x_1 + 2x_2 + 3x_3 = 11 \end {cases} ⎩ ⎨ ⎧7x1+8x2+9x3=134x1+5x2+6x3=12x1+2x2+3x3=11
可将其系数、未知量和常数项分别提取为矩阵和向量,写成矩阵乘法形式:
( 7 8 9 4 5 6 1 2 3 ) ( x 1 x 2 x 3 ) = ( 13 12 11 ) \begin {pmatrix} 7 & 8 & 9 \\ 4 & 5 & 6 \\ 1 & 2 & 3 \end {pmatrix} \begin {pmatrix} x_1 \\ x_2 \\ x_3 \end {pmatrix} = \begin {pmatrix} 13 \\ 12 \\ 11 \end {pmatrix} 741852963 x1x2x3 = 131211
上述形式可简记为 A x = b Ax = b Ax=b,其中:
- A A A 称为系数矩阵,即 A = ( 7 8 9 4 5 6 1 2 3 ) A = \begin {pmatrix} 7 & 8 & 9 \\ 4 & 5 & 6 \\ 1 & 2 & 3 \end {pmatrix} A= 741852963
- x x x 称为未知量向量,即 x = ( x 1 x 2 x 3 ) x = \begin {pmatrix} x_1 \\ x_2 \\ x_3 \end {pmatrix} x= x1x2x3
- b b b 称为常数项向量,即 b = ( 13 12 11 ) b = \begin {pmatrix} 13 \\ 12 \\ 11 \end {pmatrix} b= 131211
其本质是:系数矩阵 A A A 左乘未知量列向量 x x x,结果等于常数项列向量 b b b。
三、矩阵的基本运算
(一)线性运算(加减法与数乘)
矩阵的线性运算包括加减法和数乘,运算规则均为逐个元素操作。
-
加减法:
只有同型矩阵(即行数和列数均相同的矩阵)才能进行加减运算,运算结果为对应元素分别相加或相减后形成的新矩阵。
例如:
( 1 2 3 4 ) + ( 5 6 7 8 ) = ( 1 + 5 2 + 6 3 + 7 4 + 8 ) = ( 6 8 10 12 ) \begin {pmatrix} 1 & 2 \\ 3 & 4 \end {pmatrix} + \begin {pmatrix} 5 & 6 \\ 7 & 8 \end {pmatrix} = \begin {pmatrix} 1+5 & 2+6 \\ 3+7 & 4+8 \end {pmatrix} = \begin {pmatrix} 6 & 8 \\ 10 & 12 \end {pmatrix} (1324)+(5768)=(1+53+72+64+8)=(610812) -
数乘 :
一个数与矩阵相乘,结果为该数与矩阵中每个元素分别相乘后形成的新矩阵。
例如:
3 × ( 1 2 3 4 ) = ( 3 × 1 3 × 2 3 × 3 3 × 4 ) = ( 3 6 9 12 ) 3 \times \begin {pmatrix} 1 & 2 \\ 3 & 4 \end {pmatrix} = \begin {pmatrix} 3 \times 1 & 3 \times 2 \\ 3 \times 3 & 3 \times 4 \end {pmatrix} = \begin {pmatrix} 3 & 6 \\ 9 & 12 \end {pmatrix} 3×(1324)=(3×13×33×23×4)=(39612)
(二)转置
矩阵的转置是指将矩阵的行与列互换,转置后的矩阵记为 A T A^\text {T} AT(在矩阵右上角标注 " T \text {T} T")。
例如,一个 2 × 3 2 \times 3 2×3 矩阵的转置为 3 × 2 3 \times 2 3×2 矩阵:
( 1 2 3 3 4 5 ) T = ( 1 3 2 4 3 5 ) \begin {pmatrix} 1 & 2 & 3 \\ 3 & 4 & 5 \end {pmatrix}^\text {T} = \begin {pmatrix} 1 & 3 \\ 2 & 4 \\ 3 & 5 \end {pmatrix} (132435)T= 123345
(三)向量内积
两个维数相同的向量(通常为行向量或列向量)的内积,定义为对应元素乘积的和。
例如,两个三维行向量的内积为:
( 1 2 3 ) × ( 4 5 6 ) = 1 × 4 + 2 × 5 + 3 × 6 = 32 \begin {pmatrix} 1 & 2 & 3 \end {pmatrix} \times \begin {pmatrix} 4 & 5 & 6 \end {pmatrix} = 1 \times 4 + 2 \times 5 + 3 \times 6 = 32 (123)×(456)=1×4+2×5+3×6=32
四、矩阵乘法
(一)朴素矩阵乘法
-
运算前提 :
设矩阵 A A A 为 n × m n \times m n×m 矩阵,矩阵 B B B 为 m × r m \times r m×r 矩阵(即前一矩阵的列数等于后一矩阵的行数),则两矩阵可相乘,乘积记为 C = A × B C = A \times B C=A×B。
-
元素定义 :
乘积矩阵 C C C 为 n × r n \times r n×r 矩阵,其第 i i i 行第 j j j 列的元素 C i , j C_{i,j} Ci,j 等于矩阵 A A A 的第 i i i 行向量与矩阵 B B B 的第 j j j 列向量的内积,即:
C i , j = ∑ k = 1 m A i , k B k , j C_{i,j} = \sum_{k=1}^m A_{i,k} B_{k,j} Ci,j=k=1∑mAi,kBk,j该规则可概括为 "左行右列":左矩阵的行与右矩阵的列对应计算。
-
示例 :
矩阵与向量的乘法是矩阵乘法的特殊情况(向量可视为单列矩阵):
( 1 2 3 4 5 6 ) ( 3 6 9 ) = ( 1 × 3 + 2 × 6 + 3 × 9 4 × 3 + 5 × 6 + 6 × 9 ) = ( 42 96 ) \begin {pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end {pmatrix} \begin {pmatrix} 3 \\ 6 \\ 9 \end {pmatrix} = \begin {pmatrix} 1 \times 3 + 2 \times 6 + 3 \times 9 \\ 4 \times 3 + 5 \times 6 + 6 \times 9 \end {pmatrix} = \begin {pmatrix} 42 \\ 96 \end {pmatrix} (142536) 369 =(1×3+2×6+3×94×3+5×6+6×9)=(4296)
(二)单位矩阵
单位矩阵是一类特殊的方阵(行数等于列数),记为 I I I。其特点是:主对角线(从左上到右下)元素均为 1,其余元素均为 0。
单位矩阵的核心性质是:对于任意矩阵 A A A,若 I I I 与 A A A 可乘,则 I A = A IA = A IA=A 且 A I = A AI = A AI=A(类似于数 "1" 在乘法中的作用)。
例如:
( 1 2 3 4 4 5 6 7 7 8 9 0 ) ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ) = ( 1 2 3 4 4 5 6 7 7 8 9 0 ) \begin {pmatrix} 1 & 2 & 3 & 4 \\ 4 & 5 & 6 & 7 \\ 7 & 8 & 9 & 0 \end {pmatrix} \begin {pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end {pmatrix} = \begin {pmatrix} 1 & 2 & 3 & 4 \\ 4 & 5 & 6 & 7 \\ 7 & 8 & 9 & 0 \end {pmatrix} 147258369470 1000010000100001 = 147258369470
(三)广义矩阵乘法
朴素矩阵乘法可推广为更一般的形式,称为广义矩阵乘法。
对于 n × m n \times m n×m 矩阵 A A A 和 m × r m \times r m×r 矩阵 B B B,广义矩阵乘法定义为:
C i j = A × B = ⨁ k = 1 m ( A i k ⊗ B k j ) C_{ij} = A \times B = \bigoplus_{k=1}^m (A_{ik} \otimes B_{kj}) Cij=A×B=k=1⨁m(Aik⊗Bkj)
其中, ⊗ \otimes ⊗ 和 ⊕ \oplus ⊕ 是两种运算(称为 "乘法" 和 "加法" 的推广),该形式称为 ( ⊗ , ⊕ ) (\otimes, \oplus) (⊗,⊕) 型矩阵乘法。
- 结合律条件 :
广义矩阵乘法满足结合律的前提是:
- ⊕ \oplus ⊕ 运算满足交换律;
- ⊗ \otimes ⊗ 运算满足结合律和交换律;
- ⊗ \otimes ⊗ 对 ⊕ \oplus ⊕ 满足分配律,即 ( a ⊕ b ) ⊗ c = ( a ⊗ c ) ⊕ ( b ⊗ c ) (a \oplus b) \otimes c = (a \otimes c) \oplus (b \otimes c) (a⊕b)⊗c=(a⊗c)⊕(b⊗c)。
- 常见形式 :
实际应用中常见的广义矩阵乘法包括 ( ± , max ) (\pm, \max) (±,max)、 ( ± , min ) (\pm, \min) (±,min)、 ( ∧ , ∨ ) (\land, \lor) (∧,∨)(其中 ∧ \land ∧ 为逻辑与, ∨ \lor ∨ 为逻辑或)等。
五、矩阵乘法的性质与应用
(一)基本性质
- 结合律 :矩阵乘法满足结合律,即 ( A B ) C = A ( B C ) (AB) C = A (BC) (AB)C=A(BC)(其中 A , B , C A, B, C A,B,C 满足可乘条件)。
- 交换律 :矩阵乘法不满足一般交换律,即通常 A B ≠ B A AB \neq BA AB=BA。
- 对加法的分配律:
- ( A + B ) C = A C + B C (A + B) C = AC + BC (A+B)C=AC+BC;
- C ( A + B ) = C A + C B C (A + B) = CA + CB C(A+B)=CA+CB。
- 对数乘的结合律 : k ( A B ) = ( k A ) B = A ( k B ) k (AB) = (kA) B = A (kB) k(AB)=(kA)B=A(kB)(其中 k k k 为常数)。
(二)应用
- 快速幂优化 :利用矩阵乘法的结合律,可采用快速幂思想高效计算矩阵的高次幂(如 A k A^k Ak)。
- 线性递推求解 :线性递推关系可转化为矩阵乘法形式,进而通过矩阵快速幂求解递推数列的第 n n n 项。
六、矩阵乘法的代码实现
以下是基于 C++ 的矩阵乘法及快速幂实现示例:
cpp
const int N = 110; // 矩阵的最大大小
const int MOD = 1e9 + 7; // 取模
struct matrix
{
int n, m, a[N][N];
// 初始矩阵
matrix() { memset(a, 0, sizeof a); }
matrix(int _n, int _m) { n = _n, m = _m, memset(a, 0, sizeof a); }
// 单位矩阵
matrix(int _n)
{
n = m = _n;
for (int i = 1; i <= n; ++i)
a[i][i] = 1;
}
// 定义矩阵
matrix(int _n, int _m, const int t[N][N])
{
n = _n, m = _m;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
a[i][j] = t[i][j];
}
// 矩阵乘法
matrix operator*(const matrix &b) const
{
matrix res;
res.n = n, res.m = b.m;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= b.m; ++j)
for (int k = 1; k <= m; ++k)
res.a[i][j] = (res.a[i][j] + a[i][k] * b.a[k][j] % MOD) % MOD;
return res;
}
};
// 矩阵快速幂
matrix pow(const int &n, matrix a, int k)
{
matrix res(n);
while (k)
{
if (k & 1)
res = res * a;
k >>= 1, a = a * a;
}
return res;
}
七、矩阵乘法的优化
(一)循环置换(缓存优化)
朴素矩阵乘法的循环顺序通常为 i , j , k i, j, k i,j,k,但调整为 i , k , j i, k, j i,k,j 可显著提升效率。原因是该顺序能使矩阵元素的访问更连续,充分利用计算机缓存,减少内存访问开销。
(二)稀疏矩阵优化
对于稀疏矩阵(大部分元素为 0),可通过特判 0 元素直接跳过计算,减少无效运算。但该方法对稠密矩阵(元素多为非 0)无效。
via:
-
线性代数 -- 矩阵基本计算(加减乘法)_矩阵运算 - CSDN 博客
https://blog.csdn.net/qq_51216031/article/details/134521526 -
【线性代数】向量的乘法运算_向量 a・b 与 axb 公式 - CSDN 博客
https://blog.csdn.net/baishuo8/article/details/80858692-
向量的乘法运算 - 长于举例丰富,形象生动
https://wenku.baidu.com/view/0587a076a417866fb84a8eab.html -
向量的乘法 - 长于公式性质列举完整
https://wenku.baidu.com/view/7bd3374d571252d380eb6294dd88d0d233d43c33.html
-
-
线性代数 ------ 矩阵、矩阵乘法、广义矩阵乘法 学习笔记 - RainPPR - 博客园
https://www.cnblogs.com/RainPPR/p/matrix-multiplication.html-
1\] 矩阵左乘和右乘的区别_高三网
https://oi-wiki.org/math/linear-algebra/matrix/ -
3\] Matrix Multiplication[_](https://rainppr.github.io/matrixmultiplication/)
-