首页 > 其他分享 >游戏中的数学:矩阵

游戏中的数学:矩阵

时间:2023-09-30 23:22:25浏览次数:50  
标签:begin end 游戏 cdot 矩阵 color 数学 bmatrix

一个mxn矩阵是一个m行n列的矩形数组。矩阵中每一项叫做矩阵的元素(Element),行数和列数指定了矩阵的维数。下面是一个2×3矩阵的例子:

$\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}$

矩阵可以通过(i, j)进行索引,i是行,j是列,一共2行3列,因此叫做2×3矩阵的原因(2×3也叫做矩阵的维度,Dimension)。

矩阵的下标从1开始,所以第一行和第一列都用数字1。这与C语言中以0作为数组下标起点有所不同,矩阵没有0行0列。

 

矩阵相等

两个矩阵维数相同,且对应的各个元素也相同,则这两个矩阵相等。如下$A$矩阵与$B$矩阵相等,即$A=B$:

$A = \begin{bmatrix} 1 & 5 \\ -2 & 3 \end{bmatrix}$,$B = \begin{bmatrix} 1 & 5 \\ -2 & 3 \end{bmatrix}$

 

矩阵转置

沿着矩阵$M$的对角线进行翻折,就得到其转置矩阵$M^{T} $。mxn向量经过转置(transpose)后变成nxm向量,原来的行变成列,原来的列变成行。如下:

$\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ 10 & 11 & 12 \end{bmatrix} ^{T} = \begin{bmatrix} 1 & 4 & 7 & 10 \\ 2 & 5 & 8 & 11 \\ 3 & 6 & 9 & 12 \end{bmatrix}$

 

矩阵转置的性质

(1) 对于任意矩阵$M$,其转置的转置为其自身。即:$(M^{T})^{T} = M$

(2) 对于任意对角矩阵$D$,即:$D^{T}=D$

 

矩阵数乘

矩阵与标量之间的乘法也是矩阵的每一个元素分别乘以该标量

$\color{green}2 \cdot \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} = \begin{bmatrix} \color{green}2 \cdot 1 & \color{green}2 \cdot 2 \\ \color{green}2 \cdot 3 & \color{green}2 \cdot 4 \end{bmatrix} = \begin{bmatrix} 2 & 4 \\ 6 & 8 \end{bmatrix}$

 

矩阵数乘的性质

(1) 交换律

$k\cdot M = M \cdot k$

(2) 结合率

$ k_1 \cdot (k_2 \cdot M)=(k_1 \cdot k_2) \cdot M $

(3) 分配律

$k\cdot (A + B) = k\cdot A + k\cdot B$

$( k_1+k_2)\cdot A = k_1\cdot A + k_2\cdot A$

(4) 转置

${(k \cdot M)}^{T} =k \cdot M^{T} $

 

矩阵加法

矩阵与矩阵之间的加法就是两个矩阵对应元素的加法运算。  注:两个矩阵需要维度相同

两个2×2矩阵相加:

$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 1 + 5 & 2 + 6 \\ 3 + 7 & 4 + 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ {10} & {12} \end{bmatrix}$

 

数学上是没有矩阵与标量相加的运算的,但是很多矩阵c++库则支持矩阵与标量的加法。

具体做法是将标量转变成一个相同维度的矩阵,然后再与矩阵进行相加。

2×2矩阵与标量相加:

$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \color{green}3 = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} \color{green}3 & \color{green}3 \\ \color{green}3 & \color{green}3 \end{bmatrix} = \begin{bmatrix} 1 + \color{green}3 & 2 + \color{green}3 \\ 3 + \color{green}3 & 4 + \color{green}3 \end{bmatrix} = \begin{bmatrix} 4 & 5 \\ 6 & 7 \end{bmatrix}$

 

矩阵加法的性质

(1) 交换律

$A+B=B+A$

(2) 结合律

$(A+B)+C=A+(B+C)$

(3) 转置

${(A+B)}^{T}=A^{T}+B^{T}$

 

矩阵减法

矩阵与矩阵之间的减法就是两个矩阵对应元素的减法运算。  注:两个矩阵需要维度相同

两个2×2矩阵相减:

$\begin{bmatrix} 4 & 2 \\ 1 & 6 \end{bmatrix} - \begin{bmatrix} 2 & 4 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 4 - 2 & 2  - 4 \\ 1 - 0 & 6 - 1 \end{bmatrix} = \begin{bmatrix} 2 & -2 \\ 1 & 5 \end{bmatrix}$

 

与加法类似,矩阵与标量的减法的具体做法是将标量转变成一个相同维度的矩阵,然后再与矩阵进行相减。

2×2矩阵与标量相减:

$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} - \color{green}3 = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} - \begin{bmatrix} \color{green}3 & \color{green}3 \\ \color{green}3 & \color{green}3 \end{bmatrix} = \begin{bmatrix} 1 - \color{green}3 & 2 - \color{green}3 \\ 3 - \color{green}3 & 4 - \color{green}3 \end{bmatrix} = \begin{bmatrix} -2 & -1 \\ 0 & 1 \end{bmatrix}$

 

方阵

行数和列数相同的矩阵称作方阵(square matrix)。常用的有2x2,3x3和4x4方阵。如下为一个3x3的方阵:

$\begin{bmatrix} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{bmatrix}$

 

对角矩阵

对角矩阵是所有非对角线元素都为0的方阵。一般记作$D$。如下为一个4x4的对角矩阵:

$\begin{bmatrix} 3 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -5 & 0 \\ 0 & 0 & 0 & 2 \end{bmatrix}$

 

单位矩阵

单位矩阵(Identity Matrix)是一个对角线上的元素为1,其他都是0的N×N对角矩阵。$n$维单位矩阵记作$I_n$或者$E_n$。如下为一个4x4的单位矩阵:

$\begin{bmatrix} \color{red}1 & \color{red}0 & \color{red}0 & \color{red}0 \\ \color{green}0 & \color{green}1 & \color{green}0 & \color{green}0 \\ \color{blue}0 & \color{blue}0 & \color{blue}1 & \color{blue}0 \\ \color{purple}0 & \color{purple}0 & \color{purple}0 & \color{purple}1 \end{bmatrix}$

单位矩阵非常特殊:它是矩阵乘法的单位元(类似于数字1)。即:任意一个矩阵乘以单位矩阵,都将得到原矩阵。

$M\cdot I =  I\cdot M = M$

 

矩阵与矩阵相乘

m×n矩阵与n×p矩阵才能相乘,得到新的m×p矩阵。即:只有当左侧矩阵的列数与右侧矩阵的行数相等,两个矩阵才能相乘。这表明乘法一般不具有交换性($A\cdot B\ne B\cdot A$)

$\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ a_{31} & a_{32} \\ a_{41} & a_{42} \end{bmatrix} \cdot \begin{bmatrix} b_{11} & b_{12} & b_{13} & b_{14} \\ b_{21} & b_{22} & b_{23} & b_{24} \end{bmatrix} = \begin{bmatrix} c_{11} & c_{12} & c_{13} & c_{14} \\ c_{21} & c_{22} & c_{23} & c_{24} \\ c_{31} & c_{32} & c_{33} & c_{34} \\ c_{41} & c_{42} & c_{43} & c_{44} \end{bmatrix}$

其中,$ c_{ij} = \sum_{k=1}^{n} a_{ik}\cdot b_{kj}$。

即:$C$矩阵第i行第j列的元素等于$A$矩阵第i行与$B$矩阵第j列所在向量的点积。用公式表示为:$c_{ij} = \bar{a_i}\cdot \bar{b_j}$

例如:$ \color{blue}{c_{24}} = \color{red}{a_{21}} \cdot \color{green}{b_{14}} +  \color{red}{a_{22}} \cdot \color{green}{b_{24}}$

 

一种更直观的写法是将矩阵$B$写在矩阵$C$的上面,目的是使$A$的行和$B$的列与$C$中对应的元素对齐。如下:

                         $\begin{bmatrix} b_{11} & b_{12} & b_{13} & \color{green}{b_{14}} \\ b_{21} & b_{22} & b_{23} & \color{green}{b_{24}} \end{bmatrix}$

$\begin{bmatrix} a_{11} & a_{12} \\ \color{red}{a_{21}} & \color{red}{a_{22}} \\ a_{31} & a_{32} \\ a_{41} & a_{42} \end{bmatrix}$  $ \begin{bmatrix} c_{11} & c_{12} & c_{13} & c_{14} \\ c_{21} & c_{22} & c_{23} & \color{blue}{c_{24}} \\ c_{31} & c_{32} & c_{33} & c_{34} \\ c_{41} & c_{42} & c_{43} & c_{44} \end{bmatrix}$

 

2×2矩阵相乘公式

$\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}   \end{bmatrix} \cdot \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22}   \end{bmatrix}=\begin{bmatrix} a_{11}\cdot b_{11} + a_{12}\cdot b_{21} & a_{11}\cdot b_{12} + a_{12}\cdot b_{22} \\ a_{21}\cdot b_{11} + a_{22}\cdot b_{21} & a_{21}\cdot b_{12} + a_{22}\cdot b_{22}   \end{bmatrix} $

 

3×3矩阵相乘公式

$\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33}  \end{bmatrix} \cdot \begin{bmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \\ b_{31} & b_{32} & b_{33}  \end{bmatrix} =\begin{bmatrix} a_{11}\cdot b_{11} + a_{12}\cdot b_{21}+ a_{13}\cdot b_{31} & a_{11}\cdot b_{12} + a_{12}\cdot b_{22}+ a_{13}\cdot b_{32} & a_{11}\cdot b_{13} + a_{12}\cdot b_{23}+ a_{13}\cdot b_{33} \\ a_{21}\cdot b_{11} + a_{22}\cdot b_{21}+ a_{23}\cdot b_{31} & a_{21}\cdot b_{12} + a_{22}\cdot b_{22}+ a_{23}\cdot b_{32} & a_{21}\cdot b_{13} + a_{22}\cdot b_{23}+ a_{23}\cdot b_{33} \\ a_{31}\cdot b_{11} + a_{32}\cdot b_{21}+ a_{33}\cdot b_{31} & a_{31}\cdot b_{12} + a_{32}\cdot b_{22}+ a_{33}\cdot b_{32} & a_{31}\cdot b_{13} + a_{32}\cdot b_{23}+ a_{33}\cdot b_{33}  \end{bmatrix}$

 

2×2矩阵相乘示例

$\begin{bmatrix} \color{red}1 & \color{red}2 \\ \color{green}3 & \color{green}4 \end{bmatrix} \cdot \begin{bmatrix} \color{blue}5 & \color{purple}6 \\ \color{blue}7 & \color{purple}8 \end{bmatrix} = \begin{bmatrix} \color{red}1 \cdot \color{blue}5 + \color{red}2 \cdot \color{blue}7 & \color{red}1 \cdot \color{purple}6 + \color{red}2 \cdot \color{purple}8 \\ \color{green}3 \cdot \color{blue}5 + \color{green}4 \cdot \color{blue}7 & \color{green}3 \cdot \color{purple}6 + \color{green}4 \cdot \color{purple}8 \end{bmatrix} = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix}$

 

3×3矩阵相乘示例

$\begin{bmatrix} \color{red}4 & \color{red}2 & \color{red}0 \\ \color{green}0 & \color{green}8 & \color{green}1 \\ \color{blue}0 & \color{blue}1 & \color{blue}0 \end{bmatrix} \cdot \begin{bmatrix} \color{red}4 & \color{green}2 & \color{blue}1 \\ \color{red}2 & \color{green}0 & \color{blue}4 \\ \color{red}9 & \color{green}4 & \color{blue}2 \end{bmatrix} = \begin{bmatrix} \color{red}4 \cdot \color{red}4 + \color{red}2 \cdot \color{red}2 + \color{red}0 \cdot \color{red}9 & \color{red}4 \cdot \color{green}2 + \color{red}2 \cdot \color{green}0 + \color{red}0 \cdot \color{green}4 & \color{red}4 \cdot \color{blue}1 + \color{red}2 \cdot \color{blue}4 + \color{red}0 \cdot \color{blue}2 \\ \color{green}0 \cdot \color{red}4 + \color{green}8 \cdot \color{red}2 + \color{green}1 \cdot \color{red}9 & \color{green}0 \cdot \color{green}2 + \color{green}8 \cdot \color{green}0 + \color{green}1 \cdot \color{green}4 & \color{green}0 \cdot \color{blue}1 + \color{green}8 \cdot \color{blue}4 + \color{green}1 \cdot \color{blue}2 \\ \color{blue}0 \cdot \color{red}4 + \color{blue}1 \cdot \color{red}2 + \color{blue}0 \cdot \color{red}9 & \color{blue}0 \cdot \color{green}2 + \color{blue}1 \cdot \color{green}0 + \color{blue}0 \cdot \color{green}4 & \color{blue}0 \cdot \color{blue}1 + \color{blue}1 \cdot \color{blue}4 + \color{blue}0 \cdot \color{blue}2 \end{bmatrix} \\ = \begin{bmatrix} 20 & 8 & 12 \\ 25 & 4 & 34 \\ 2 & 0 & 4 \end{bmatrix}$

 

矩阵乘法的性质

(1) 矩阵乘法不满足交换律。即:$AB\ne BA$

(2) 矩阵乘法满足结合律。即$(AB)C=A(BC)$    注1:假设$A$、$B$、$C$的维数使其乘法有意义。  注2:如果$(AB)C$有意义,那么$A(BC)$一定有意义。

     扩展到多个矩阵的情况,也有:$ABCDEF=((((AB)C)D)E)F=A((((BC)D)E)F)=(AB)(CD)(EF)$     注:所有括法都能计算出正确结果,但有些组中标量乘法更少。寻找使标量乘法最少的问题,称为矩阵链问题。

(3) 矩阵乘法也满足与标量或向量的结合律

     $(kA)B=k(AB)=A(kB)$

     $(\bar{v}A)B=\bar{v}AB$

(4) 分配率

     $(A+B)C=AC+BC$

     $C(A+B)=CA+CB$

(5) 反序定律:矩阵积的转置相当于先转置矩阵然后以相反的顺序乘

     $(AB)^{T}=B^{T}A^{T}$

     扩展到多个矩阵的情况,也有:$({M_1}{M_2}\cdots{M_{n-1}}{M_{n-2}})^{T}={M_{n-2}}^{T}{M_{n-1}}^{T}\cdots{M_2}^{T}{M_1}^{T}$

     $(A^{k})^{T}=(A^{T})^{k}$    $k$为整数

 

矩阵的行列式

只有方阵才有行列式(为一个标量),非方阵矩阵的行列式是未定义的。

方阵$A$的行列式记作$\mid A\mid$或“det$A$”。

2×2矩阵行列式公式

$\begin{vmatrix}
A
\end{vmatrix}
=
\begin{vmatrix}
a_{11} & a_{12}\\
a_{21} & a_{22}
\end{vmatrix}
= a_{11}\cdot a_{22} - a_{12}\cdot a_{21}$

按照主对角线减去副对角线规律为:

2阶行列式几何意义

行列式的值等于第1个行向量$\bar{v}$与第2个行向量$\bar{w}$为两边的平行四边形的有符号的面积。注:也可以使用第1个列向量与第2个列向量

当对$\bar{v}$到$\bar{w}$使用右手螺旋法则,如果大拇指方向朝向屏幕外,则面积为正;当大拇指方向朝向屏幕内,则面积为负。

$\begin{vmatrix}
A
\end{vmatrix}
=
\begin{vmatrix}
\bar{v} \\
\bar{w}
\end{vmatrix}
=
\begin{vmatrix}
a_{11} & a_{12}\\
a_{21} & a_{22}
\end{vmatrix}
= a_{11}\cdot a_{22} - a_{12}\cdot a_{21}$

 

3×3矩阵行列式公式

$\begin{vmatrix}
A
\end{vmatrix}
=
\begin{vmatrix}
a_{11} & a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}\\
a_{31} & a_{32} & a_{33}
\end{vmatrix}\\
= a_{11}\cdot a_{22}\cdot a_{33}+a_{12}\cdot a_{23}\cdot a_{31}+a_{13}\cdot a_{21}\cdot a_{32}-a_{13}\cdot a_{22}\cdot a_{31}-a_{12}\cdot a_{21}\cdot a_{33}-a_{11}\cdot a_{23}\cdot a_{32}\\
= a_{11}\cdot(a_{22}\cdot a_{33}-a_{23}\cdot a_{32}) + a_{12}\cdot(a_{23}\cdot a_{31}-a_{21}\cdot a_{33}) + a_{13}\cdot(a_{21}\cdot a_{32}-a_{22}\cdot a_{31})$

按照主对角线减去副对角线规律为:

三元组积

如果将3x3阶矩阵的行解释为3个向量,那么矩阵的行列式等于这些向量的三元组积

$\begin{vmatrix}
\bar{a}\\
\bar{b}\\
\bar{c}
\end{vmatrix}
=
\begin{vmatrix}
a_x & a_y & a_z\\
b_x & b_y & b_z\\
c_x & c_y & c_z
\end{vmatrix}\\
= a_x \cdot b_y \cdot c_z+a_y \cdot b_z \cdot c_x+a_z \cdot b_x \cdot c_y-a_z \cdot b_y \cdot c_x-a_y \cdot b_x \cdot c_z-a_x \cdot b_z \cdot c_y\\
= (a_y \cdot b_z-a_z \cdot b_y) \cdot c_x + (a_z \cdot b_x-a_x \cdot b_z) \cdot c_y + (a_x \cdot b_y-a_y \cdot b_x) \cdot c_z\\
= (\bar{a} \times \bar{b}) \cdot \bar{c}$

 

3阶行列式几何意义

行列式的值等于第1个行向量$\bar{u}$、第2个行向量$\bar{v}$和第3个行向量$\bar{w}$为棱边的平行六面体的有符号的体积。注:也可以使用第1个列向量、第2个列向量与第3个列向量

当对$\bar{u}$到$\bar{v}$使用右手螺旋法则,如果大拇指方向与$\bar{w}$在大拇指方向的分量朝向一致,则面积为正;朝向相反,则面积为负。

$\begin{vmatrix}
A
\end{vmatrix}
=
\begin{vmatrix}
\bar{u} \\
\bar{v} \\
\bar{w}
\end{vmatrix}
=
\begin{vmatrix}
a_{11} & a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}\\
a_{31} & a_{32} & a_{33}
\end{vmatrix}$

 

4x4矩阵行列式公式

4阶不能按照主对角线减去副对角线规律,该规律下计算式只有8项(如下),但实际它的计算式有24项

 

nxn矩阵行列式公式

n阶方阵$A=(a_ia_j)$,其定义为:

其中:$p_1p_2\cdot\cdot\cdot p_n$是数字1到n的全排列(全排列即不遗漏不重复地将所有数字排在一起,n个不同数的全排列种数有n!个)

           t为全排列$p_1p_2\cdot\cdot\cdot p_n$的逆序数

           $\sum$表示对$1,2,\cdot \cdot \cdot  ,n$的所有全排列$p_1p_2\cdot\cdot\cdot p_n$求和

----------------------------------逆序数说明-----------------------------------------

2431中的逆序有(2,1),(4,3),(4,1),(3,1),即其逆序数为4,它是一个偶排列。
45321中的逆序有(4,3),(4,2),(4,1),(5,3),(5,2),(5,1),(3,2),(3,1),(2,1),即其逆序数为9,它是一个奇排列。
排列1,2,...,n中没有逆序,即逆序数为零,因而它是偶排列。

-----------------------------------------------------------------------------------------

更多信息详见:马同学图解数学 -- 如何计算n阶行列式(如何理解全排列,逆序数及行列式的定义) 

 

行列式的性质

(1) 矩阵积的行列式等于矩阵行列式的积:$\mid A \cdot B \mid = \mid A \mid \cdot \mid B \mid$

(2) 这可以扩展到多个矩阵的情况:$\mid A_1 A_2 \cdot\cdot \cdot A_n  \mid = \mid A_1 \mid \cdot \mid A_2 \mid \cdot\cdot \cdot \mid A_n \mid$

(3) 矩阵转置的行列式等于原矩阵的行列式:$\mid A^T \mid = \mid A \mid$

(4) 行列式的任意行或列全为0,那么它的值等于0

(5) 行列式有两行或列元素完全相同,那么它的值等于0

(6) 交换行列式的任意两行或两列,它的值变负

(7) 用数k乘行列式某一行或某一列中所有元素,等于用k乘此行列式

(8) 任意行或列的k倍($k \ne 0$)加到另一行或列上不会改变行列式的值 

(9) 行列式中某一行(列)的每个元素是两数之和,则此行列式可拆分为两个相加的行列式,该性质也可以称为行列式的加法

更多详见:行列式的运算性质

 

余子式和代数余子式

n阶行列式$\mid A \mid$,除去第$i$行和第$j$列后剩下的行列式$\mid A_{ij} \mid$,称为元素$a_{ij}$的余子式。

考虑第$i$行和第$j$列符号的余子式,称为元素$a_{ij}$的代数余子式:$c_{ij}=(-1)^{i+j}\mid A_{ij} \mid$

从矩阵中任意选择一行或一列,对该行或列中的每个元素,都乘以对应的代数余子式,乘积的和就是矩阵的行列式。例如选择行$i$,行列式的计算过程如下公式:

$\mid A \mid = \sum_{j=1}^{n}a_{ij}c_{ij} = \sum_{j=1}^{n}a_{ij}(-1)^{i+j}\mid A_{ij} \mid = \sum_{j=1}^{n}(-1)^{i+j}a_{ij}\mid A_{ij} \mid$

 

利用代数余子式计算4x4行列式

$\begin{vmatrix} a_{11} & a_{12} & a_{13} & a_{14}\\ a_{21} & a_{22} & a_{23} & a_{24}\\ a_{31} & a_{32} & a_{33} & a_{34}\\ a_{41} & a_{42} & a_{43}
& a_{44} \end{vmatrix}
=a_{11}\begin{vmatrix} a_{22} & a_{23} & a_{24}\\ a_{32} & a_{33} & a_{34}\\ a_{42} & a_{43} & a_{44} \end{vmatrix}-a_{21}\begin{vmatrix} a_{12} & a_{13} &
a_{14}\\ a_{32} & a_{33} & a_{34}\\ a_{42} & a_{43} & a_{44} \end{vmatrix}+a_{31}\begin{vmatrix} a_{12} & a_{13} & a_{14}\\ a_{22} & a_{23} & a_{24}\\ a_{42}
& a_{43} & a_{44} \end{vmatrix}-a_{41}\begin{vmatrix} a_{12} & a_{13} & a_{14}\\ a_{22} & a_{23} & a_{24}\\ a_{32} & a_{33} & a_{34} \end{vmatrix}$

 

余子式的性质

当$i \ne j$时,则$a_{j1} \cdot \mid A_{i1} \mid + a_{j2} \cdot \mid A_{i2} \mid + \cdot \cdot \cdot + a_{jn} \cdot \mid A_{in} \mid = 0$,或$a_{1j} \cdot \mid A_{1i} \mid + a_{2j} \cdot \mid A_{2i} \mid + \cdot \cdot \cdot + a_{nj} \cdot \mid A_{ni} \mid = 0$

当$i = j$时,则$a_{j1} \cdot \mid A_{i1} \mid + a_{j2} \cdot \mid A_{i2} \mid + \cdot \cdot \cdot + a_{jn} \cdot \mid A_{in} \mid = \mid A \mid$,或$a_{1j} \cdot \mid A_{1i} \mid + a_{2j} \cdot \mid A_{2i} \mid + \cdot \cdot \cdot + a_{nj} \cdot \mid A_{ni} \mid = \mid A \mid$ 

 

伴随矩阵

方阵$A$的代数余子式矩阵的转置矩阵为其伴随矩阵,记作$adj(A) $,或$A^{*}$。

2×2方阵

$\begin{bmatrix} a & b  \\ c & d  \end{bmatrix}$的伴随矩阵:

$\begin{bmatrix} d & -b  \\ -c & a  \end{bmatrix}$

3×3方阵

$\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33}  \end{bmatrix}$的伴随矩阵:

例如$\begin{bmatrix} -4 & -3 & 3 \\ 0 & 2 & -2 \\ 0 & 4 & -1  \end{bmatrix}$的伴随矩阵为:

$adj(A) = \begin{bmatrix} 6 & -2 & -2 \\ 9 & 1 & 13 \\ 0 & -8 & -8 \end{bmatrix} ^{T} =  \begin{bmatrix} 6 & 9 & 0 \\ -2 & 1 & -8 \\ -2 & 13 & -8 \end{bmatrix} $

伴随矩阵的性质

(1) $I^{*} = I$

(2)  $ A \cdot A^{*} = A^{*} \cdot A= \mid A\mid \cdot I$ 

(3) $ (A \cdot B)^{*} = B^{*} \cdot A^{*}$ 

(4) $ (A^{n})^{*} = (A^{*})^{n}$ 

(5) $(A^{T})^{*} = (A^{*})^{T}$

(6) $\mid A^{*}\mid = \mid A\mid^{n-1}$

(7) $(k \cdot A)^{*} = k^{n-1} \cdot A^{*}$

(8) $(A^{*})^{*} = \mid A\mid^{n-2} \cdot A$

(9) 如果A是对称矩阵,那么其伴随矩阵也是对称矩阵;如果A是反对称矩阵,那么当n为偶数时,A的伴随矩阵也是反对称矩阵,n为奇数时则是对称矩阵。

 

逆矩阵

矩阵虽然没有类似于标量除法的运算,但可通过逆矩阵来实现矩阵乘法逆运算。

只有方阵才可能有逆矩阵。一个nxn矩阵$M$的逆矩阵也是一个nxn矩阵,用符号$A^{-1} $表示。并非所有的方阵都有逆矩阵。

当一个方阵有逆矩阵,那么称它是可逆的或非奇异的;没有逆矩阵时,则它是不可逆的或奇异的。

 

矩阵$A$的逆矩阵为其伴随矩阵除以其行列式,公式如下:

$A^{-1} = \frac{A^{*}}{\mid A \mid} $

 

逆矩阵的性质

(1) 可逆矩阵(非奇异矩阵)的充分必要条件是其行列式不为0

(2) 对于任意可逆矩阵$A$,当且仅当列向量$\bar{v}$为$0$时,$\bar{v} \cdot A = 0 $;或者当且仅当行向量$\bar{v}$为$0$时,$A \cdot \bar{v}  = 0 $。

(3) 当$A$、$B$为相同维度的可逆矩阵,则:$(A\cdot B)^{-1} = B^{-1}\cdot A^{-1}$

(4) $(k \cdot A)^{-1} = \frac{A^{-1}}{k}$

(5) $A\cdot A^{-1} = A^{-1}\cdot A = I$

(6) $(A^{-1})^{-1}= A$

(7) $(A^{T})^{-1}= (A^{-1})^{T}$

(8) $(AB)^{-1}=B^{-1}A^{-1}$

    扩展到多个矩阵的情况,也有:$({M_1}{M_2}\cdots{M_{n-1}}{M_{n-2}})^{-1}={M_{n-2}}^{-1}{M_{n-1}}^{-1}\cdots{M_2}^{-1}{M_1}^{-1}$

(9) $(A^{*})^{-1}= (A^{-1})^{*} = \frac{A}{\mid A \mid}$

 

正交矩阵

若方阵$A$是正交的,当且仅当$A$与它的转置矩阵$A^{T}$的乘积等于单位矩阵$I$。

$A \cdot A^{T}= I$

由于$A \cdot A^{-1}= I$,因此,如果一个矩阵是正交的,当且仅当它的转置矩阵等于它的逆。

$ A^{T}= A^{-1}$

以3x3方阵为例:

$ A = \begin{bmatrix} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{bmatrix} \cdot \begin{bmatrix} m_{11} & m_{21} & m_{31} \\ m_{12} & m_{22} & m_{32} \\ m_{13} & m_{23} & m_{33} \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$

设向量$\bar{u } = \begin{bmatrix} m_{11} & m_{12} & m_{13}  \end{bmatrix}$,$\bar{v } = \begin{bmatrix} m_{21} & m_{22} & m_{23}  \end{bmatrix}$,$\bar{w } = \begin{bmatrix} m_{31} & m_{32} & m_{33}  \end{bmatrix}$,则:

$ A = \begin{bmatrix} \bar{u }\\ \bar{v } \\ \bar{w } \end{bmatrix} \cdot \begin{bmatrix} \bar{u } & \bar{v } & \bar{w } \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$

则得到:

$\bar{u } \cdot \bar{u } = 1$,$\bar{u } \cdot \bar{v } = 0$,$\bar{u } \cdot \bar{w } = 0$

$\bar{v } \cdot \bar{u } = 0$,$\bar{v } \cdot \bar{v } = 1$,$\bar{v } \cdot \bar{w } = 0$

$\bar{w } \cdot \bar{u } = 0$,$\bar{w } \cdot \bar{v } = 0$,$\bar{w } \cdot \bar{w } = 1$

做出一些解释:

当且仅当一个向量是单位向量时,它与自身的点积结果是1。因此,仅当$\bar{u } $,$\bar{v } $,$\bar{w } $是单位向量时,第1,5,9式成立。

当且仅当两个向量互相垂直时,它们的点积为0。因此,仅当$\bar{u } $,$\bar{v } $,$\bar{w }$ 互相垂直时,其他等式成立。

所以,若一个矩阵是正交的,它必须满足下列条件:

① 矩阵的每一行(列)都是单位向量

② 矩阵的所有行(列)互相垂直

 

参考

【官方双语/合集】线性代数的本质 - 系列合集(3Blue1Brown)

矩阵与矩阵乘法的来历(马同学图解数学)

 

标签:begin,end,游戏,cdot,矩阵,color,数学,bmatrix
From: https://www.cnblogs.com/kekec/p/16487857.html

相关文章

  • 商人过河问题数学建模
     问题描述三名商人各带–个随从乘船渡河,一只小船只能容纳二人,由他们自己划行.随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货,商人们怎样才能安全渡河呢? 问题建模考虑用深度优先搜索解决此问题,提前记录在船承载量为2时候,所有可行的移动状态,以及所有安全的商......
  • 简单数学函数(最小公倍数与最大公约数与快速幂)
    最大公约数(\(gcd\)):intgcd(inta,intb){returnb?gcd(b,a%b):a;}最小公倍数(\(lcm\)):intlcm(inta,intb){returna/gcd(a,b)*b;//注意:除数为gcd(a,b)}快速幂:template<typenameA,typenameB,typenameC>Cpow(Ax,By,Cp){ if(x==......
  • NO.3 C语言实现贪吃蛇游戏(Linux)
     一、简易说明:实现了初步的游戏模型,可以玩,但有一些细节bug没有解决。用WASD控制方向  二、源代码+头文件1#include<stdio.h>2#include"snake.h"34567intmain(intargc,constchar*argv[])8{91011system("cl......
  • Leetcode 45. 跳跃游戏 II
    https://leetcode.cn/problems/jump-game-ii/description/给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0<=j<=nums[i]i+j<n......
  • python贪吃蛇模块设计一(真正的游戏效果还未实现)
    importrandomimporttimeimportturtle#分数score=0#最高分heigh_score=0#移动延迟delay=0.2#创建屏幕window=turtle.Screen()#设置标题window.title("贪吃蛇")#背景颜色window.bgcolor("white")#窗口大小window.setup(width=600,height=600)#创建蛇head=t......
  • 数学建模__动态规划
    动态规划就是,将任务每一步均记录下来,以便将来重复使用时能够直接调用问题描述:给定n个物品,每个物品的重量是Wi,价值是Vi,但是背包最多能装下capacity重量的物品,问我们如何选择才能利益最大化。这里涉及到建模过程,本文章主要讲解代码实现,建模过程较为简略。使用dp[i][j]来表示在容量为......
  • 数学建模__线性规划Python实现
    我使用到的是python库中scipy。'''线性规划'''#目标函数的系数#minz=2x1+3x2-5x3c=np.array([-2,-3,5])#不等式限制条件的系数,转化为小于等于#2x1-5x2+x3<=10,x1+3x2+x3<=12Aup=np.array([[-2,5,-1],[-1,-3,-1]])#必须是二维#右侧系数bup=np.array([-1......
  • 数学建模__非线性规划Python实现
    使用到的是scipy库线性规划指的是目标模型均为线性,除此以外的都是非线性规划,使用scipy提供的方法对该类问题进行求解。fromscipy.optimizeimportminimizeimportnumpyasnp#定义目标函数deffun(args):a,b,c,d=argsv=lambdax:(a+x[0])/(b+x[1])-c*x[0]......
  • 9.29闲话:9.24数学周练(第二次)拓展
    关于这张卷子呢,其实还是有点东西的,但是cxc上课讲的过于答辩,在这里写些题目的拓展解法和结论。T7(单选最后一题)题面解法求\(C_1\)到平面\(\alpha\)的距离,其实也就是求\(\overrightarrow{AC_1}\)在平面\(\alpha\)的法向量的投影的模长。而\(\overrightarrow{AC_1}=\ov......
  • 74. 搜索二维矩阵
    给你一个满足下述两条属性的mxn整数矩阵:每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数target,如果target在矩阵中,返回true;否则,返回false。示例1:输入:matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,60]],targ......