【UpToLec5】【Linear Algebra】线性代数基础回顾

本笔记为Gilbert Strang Introduction to Linear Algebra (Fifth edition)要点整理,力求用符合直觉的方式对线代体系中精彩的推理进行复现。笔记的目的是复习,因此求精不求全,适合对线性代数已有经验的读者。

线性代数基础 Gilbert Strang

矩阵基础

行图像和列图像

A x = b Ax = b Ax=b的解集可以看做 A A A的行和 b b b的行确定的Hyperplane的交集,这是行图像。也可以看做 A A A的列的线性组合的系数,这是列图像。

行图像里 A A A的行是每个hyperplane的normal vector。想象 a T x = 0 a^Tx = 0 aTx=0。解集过原点,空间里的每个 x x x都和 a a a垂直。 a T x = b a^Tx = b aTx=b不过是前者平移后的图像,所以normal vector不变。之所以 x x x不再和 a a a直接垂直,是因为“和平面垂直”的考察对象不是 x x x,而是平面上任意两个 x 1 , x 2 x_1, x_2 x1,x2的连线(也就是 a T ( x 1 − x 2 ) = 0 a^T(x_1 - x_2) = 0 aT(x1x2)=0)。这在 x x x是一维的时候就是个乘积拆成乘数的问题,但在高维度里需要把标量拆成两个向量的内积,相对没那么明显了。

行图像里解集是个点,列图像里解集是一套系数,几何上暂时看不出什么联系

矩阵乘法:B提供行,A提供行系数;A提供列,B提供列系数

维度对齐,想怎么乘怎么乘。但个人认为以下两个式子最本质:

( A B ) i , . = Σ i = 1 i = q a i , k r k (AB)_{i, . } = \Sigma_{i = 1}^{i = q} a_{i, k}r_k (AB)i,.=Σi=1i=qai,krk

( A B ) . , j = Σ k = 1 k = q c k b k , j (AB)_{.,j } = \Sigma_{k = 1}^{k = q} c_kb_{k, j} (AB).,j=Σk=1k=qckbk,j

用人话说: A B AB AB的第 i i i行看啥?看A的第 i i i行给 B B B的行提供了怎样的线性组合。 A B AB AB j j j列看啥?看 B B B的第 j j j列给 A A A的列提供了怎样的线性组合系数。行看行,列看列这在理解Elementary matrix的作用时十分方便。

LU decomposition来自于组成Row Reduction行变换的初等矩阵

初等矩阵来自于高斯消元。因为要对 A A A做行变换,初等矩阵必须乘在 A A A的左边( E A EA EA里面 E E E贡献列, A A A贡献行)。

从目的上来说 E i j E_{ij} Eij是消去的作用是消去 A A A i , j i, j i,j位置上的元。 E i j A E_{ij}A EijA这个乘积的第 i i i行是由 A A A的第 j j j行乘上某个倍数,再加到 A A A的第 i i i行构成的;其他行不变。所以 E i , j E_{i,j} Ei,j的结构必然是Identity在 i , j i, j i,j位置上改个数,倍数就记录这个位置里面。

P P P为permutation matrix。为什么 P A = L U PA = LU PA=LU? 拿三阶距离。我们知道高斯消元能得到 E 32 E 31 E 21 P A = U E_{32}E_{31}E_{21}PA = U E32E31E21PA=U, 所以 P A = E 21 − 1 E 31 − 1 E 32 − 1 U PA = E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}U PA=E211E311E321U所有的初等矩阵都是从上往下减行,逆就是从上往下加行,再怎么加都只能在下半部分有值,所以是个L.

P A = L U PA = LU PA=LU的本质是高斯消元能消到上三角形矩阵。 注意,只能有上三角形是有保证的,不一定是对角。比如
A = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 ] A =\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \end{bmatrix} A=1000010000000010
上三角形,但没法继续化成对角了。(要不然Diagonalizability这词也不会轮到Eigenvectors)

干净的L: L包含且仅包含行操作的系数

P A = L U PA = LU PA=LU中, L L L不仅是个下三角矩阵,还能从 L L L中直接读取所有在 P A PA PA上行操作的信息。具体而言, l i j l_{ij} lij记录了对第 i i i行的行操作力,要将几倍的第 j j j行从第 i i i行减去。

例如:对于

B = [ 1 1 0 0 1 2 1 0 0 1 2 1 0 0 1 2 ] = [ 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 ] × [ 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 ] B=\begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 2 & 1 & 0 \\ 0 & 1 & 2 & 1 \\ 0 & 0 & 1 & 2 \end{bmatrix} =\begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \end{bmatrix} \times\begin{bmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix} B=1100121001210012=1100011000110001×1000110001100011

我们可以直接读出,为了对第二行进行行操作,我们需要把1倍的第一行从第二行减去。为了对第三行进行行操作,需要把1倍的第二行从第三行减去。为了对第四行进行行操作,需要把1倍的第三行从第四行减去。 L L L这个矩阵 包含且仅包含 了行操作的系数信息,显得十分干净。

这和直接把基础矩阵相乘的得到的结果形成鲜明对比。 L − 1 = [ 1 0 0 0 − 1 1 0 0 1 − 1 1 0 − 1 1 − 1 1 ] L^{-1} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ -1 & 1 & 0 & 0 \\ 1 & -1 & 1 & 0 \\ -1 & 1 & -1 & 1 \end{bmatrix} L1=1111011100110001

L − 1 A = U L^{-1} A = U L1A=U告诉我们,为了对第四行进行行操作,需要把-1倍的第一行,1倍的第二行,-1倍的第三行加到1倍的第四行上。这当然是对的,但十分的反直觉!因为我们在做行操作时只考虑怎么用 整理好的第三行 消去第四行的元,而不会把整理第三行的过程再重复一遍。所以说 L L L更干净。

为什么 L L L能做到包含且仅包含行操作的系数?因为构成 L L L的变换都是“从后往前”。上面的例子里,要把 B B B行变换,需要从第二行减去第一行,然后第三行减去整理后的第二行,再从第四行减去整理后的第三行。对应的把 L L L拆成基础矩阵,可以得到
L − 1 = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 − 1 1 ] × [ 1 0 0 0 0 1 0 0 0 − 1 1 0 0 0 0 1 ] × [ 1 0 0 0 − 1 1 0 0 0 0 1 0 0 0 0 1 ] L^{-1} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 &0 & -1 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & -1 & 1 & 0 \\ 0 &0 & 0 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 0 & 0 & 0 \\ -1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 &0 & 0 & 1 \end{bmatrix} L1=1000010000110001×1000011000100001×1100010000100001,于是

L = [ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 ] × [ 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 ] × [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 ] L = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 &0 & 0 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 &0 & 0 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 &0 & 1 & 1 \end{bmatrix} L=1100010000100001×1000011000100001×1000010000110001
每一个基础矩阵涉及的变换都是“这一行等于未经处理的前几行乘上某个倍数加到这一行”,即“已经被操作过得行不会再用于未来的操作”这给人的启示是:有些从前往后做会很messy的操作,如果调转顺序,可能会很干净。

对称矩阵 S S S的对称性在 L D L − 1 LDL^{-1} LDL1中得以保留

U U U的行首元都变成1,把系数提取到对角矩阵里,可以让 P A = L U PA = LU PA=LU变成 P A = L D U PA = LDU PA=LDU

如果 S S S是对称的,那 S = L D U = U T D L T S = LDU = U^TDL^T S=LDU=UTDLT,容易猜想 L T = U L^T = U LT=U S S S的对称性在 L D U LDU LDU分解中会得到保留。

Permuatation Matrix: P − 1 = P T P^{-1} = P^T P1=PT

每行每列都只有一个1的叫Permutation Matrix,排序矩阵。排序矩阵的逆就是排序矩阵的转置,这个试两个就知道了。证明比较机械。

线性空间

一个矩阵的四个空间,各自的Basis和维度

A A A m × n m\times n m×n行,rank为 r r r。RREF后的结果为 R R R

1. Row Space 行空间的基底就是 R R R里有1开头的行

行空间的Basis不会随着RREF改变,其基底可以直接读取。Row rank就是维度。

2. Null Space 的基底是 B a s i s M a t r i x BasisMatrix BasisMatrix的列,可以由Block Multiplicaiton猜出构造

Null Space的Basis可以从以下矩阵的列中直接读取 B a s i s M a t r i x = [ − F r × ( n − r ) I ( n − r ) × ( n − r ) ] Basis Matrix = \begin{bmatrix} -F_{r\times (n-r) } \\ I_{(n - r) \times (n - r)} \end{bmatrix} BasisMatrix=[Fr×(nr)I(nr)×(nr)]

构造思路如下:

R R R的形式一定为( 0 0 0矩阵和 F F F矩阵均不一定存在):
R = [ I F 0 0 ] R = \begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} R=[I0F0]

其中 F F F ( n − r ) + (n - r)^{+} (nr)+列(如果 r ≥ n r \geq n rn F F F就不存在),于是有 ( n − r ) + (n - r)^{+} (nr)+个自由元,即null space有这么多维度。如果把所有null space的basis做成列,排列成矩阵(称作 B a s i s M a t r i x BasisMatrix BasisMatrix),那一定有 R × B a s i s M a t r i x = 0 n × ( n − r ) R \times BasisMatrix = 0_{n \times (n-r)} R×BasisMatrix=0n×(nr)

尝试构造 B a s i s M a t r i x BasisMatrix BasisMatrix即可。构造时注意用Block Multiplication匹配维度,就可以把成分猜出来。

验证:

  • 矩阵乘法可以验证 A × B a s i s M a t r i x = Z e r o M a t r i x A \times BasisMatrix = ZeroMatrix A×BasisMatrix=ZeroMatrix,即列在Null space中.
  • 下方的 I ( n − r ) × ( n − r ) I_{(n - r) \times (n - r)} I(nr)×(nr)确保了列一定是线性独立的。

所以Null Space的基底就是 B a s i s M a t r i x BasisMatrix BasisMatrix的列,维度为 m a x ( n − r , 0 ) max(n - r, 0) max(nr,0)

3. Column Space 的基底是 R R R中的pivot columns在 A A A中对应的列

这可能是线性代数里最能把行空间和列空间联系起来的定理。 A A A列空间的基底怎么找?把 A A A矩阵RREF,结果记为 R R R R R R哪些列开头有1, A A A的哪些列就是 C o l ( A ) Col(A) Col(A)的基底。

证明的核心是RREF不改变Null Space,而Null Space里的向量又可以视为列线性组合的系数。具体如下:

记前 r r r列在RREF后有leading 1,形式如 [ I F 0 0 ] \begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} [I0F0] 0 0 0 F F F均可以不存在)

要证明两点:

  1. A A A的前 r r r列线性独立。假如线性不独立,那存在 x x x(前 r r r项不都为0,后 n − r n - r nr项全都为0)使得 A A A的前 r r r列的线性组合为0. 因为 A A A的null space和 R R R的null space相同,而 x x x A A A的null space中,那 x x x也一定在 R R R的null space中。可是 R R R的前 r r r列的前 r r r行是单位矩阵,怎么都不可能靠着非0的线性组合系数加成0,所以 x x x不可能在 R R R的null space中。这一部分得证。

  2. A A A的前 r r r列加上任何一列之后,都不再线性独立。假设依然线性独立。抓出 R R R里的对应列来考察。 A A A的相关列经过RREF可以得到 R R R的相关列,于是 A A A的相关列组成的矩阵和 R R R的对应列组成的矩阵null space相同。 R R R的形式告诉我们这些相关列必然不线性独立,即Null Space 维度大于等于1,于是 A A A的相关列也不线性独立。

因此列空间的基底是 R R R中pivot columns对应的 A A A的列。

这一小节换句话说就是 行操作可能改变列空间本身,但不会改变列空间的线性关系(即行操作以后,该共线的向量还是共线,不共线的不会跑到一条直线上) 。几何上怎么理解呢? 想象一个2 x 5的矩阵,它记录了5条2维的向量。把第一行加到第二行的操作相当于是让y变成了y+x,即让每一个点的y值向上平移了其x坐标的距离。这种操作相当于把一条线加到另一条线上,当然会保留向量的线性关系!只是因为平时看到的线性操作大多是平移“固定距离”,而非平移“线性变化”的距离,所以才显得陌生。

4. Left Null Space的基底是 E A = R EA = R EA=R E E E的后 m − r m - r mr

Left null space = { x ∣ A T x = 0 } = { x ∣ x T A = 0 1 × n } \{x|A^Tx = 0\} = \{x|x^TA = 0_{1 \times n} \} {xATx=0}={xxTA=01×n}

由Dimension theorem(Dimension Theorem可以由RREF不改变行、列空间维度结合 R R R的形式证明,不会有循环逻辑)可知Left Null的维度一定是 m − r m - r mr。哪里能找到 m − r m - r mr个相互独立的0解呢?注意到

E A = R = [ I F 0 0 ] EA = R = \begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} EA=R=[I0F0]

E E E的最后 m − r m - r mr行显然都是0解。 E E E又是个基础矩阵,各行各列都线性独立。所以基底就出来了。

Dimension Theorem: Destinations under A are either 0 or range(A).

For A m × n A_{m \times n} Am×n, D i m ( N u l l ( A ) ) + D i m ( R a n g e ( A ) ) = n Dim(Null(A)) + Dim(Range(A)) = n Dim(Null(A))+Dim(Range(A))=n

两种理解方法:

  • A A A作为一个线性映射,输入是个 n n n维的空间,输出是个 r r r维的空间,剩下的几个维度都被映射到0上了,所以Null Space维度为 n − r n - r nr。这是个直觉理解,不是证明。
  • A A A作为一个矩阵,RREF后可以表示成(以下的 0 0 0 F F F均可以不存在) [ I F 0 0 ] \begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} [I0F0]
    Range(A)就是 A A A的Column Space, 前一小节刚说过行操作不改变列空间的维度(可能改变列空间本身,但不会改变维度)。所以 I I I的列数就是 C o l ( A ) Col(A) Col(A)的维度。 F F F的列数是自由元的数量,也就是Null Space的维度。所以 n = D i m ( R a n g e ( A ) ) + D i m ( N u l l ( A ) ) n = Dim(Range(A)) + Dim(Null(A)) n=Dim(Range(A))+Dim(Null(A)). 这是个证明。

解的个数:用 R R R的形式推断更方便

解的个数不太好记。按照 R R R的形式推断就可以。

一个线性系统行操作完毕可能有以下形式(适当的时候换列,本质是重命名未知数):

  • Underdetermined system:0 or infinitely many
    即行数小于列数。可能形式为
    [ I F 0 0 ] 、 [ I F ] \begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} 、\begin{bmatrix} I & F \\ \end{bmatrix} [I0F0][IF]
    这两种形式里均有 n − r n - r nr个free columns,于是null space dimension均为 n − r n - r nr.
    前一种形式里可能有0个(0的row在 b b b里不为0)或无穷个解。
    后一种形式是full-row-rank, Columns space 包含了一个 I r × r I_{r \times r} Ir×r,覆盖了 R r \mathbb{R^r} Rr, 所以一定有特殊解,加上Null space任何一个 b b b都有无穷个解。

  • Exactly-determined system: 0 or 1
    可能的情况有
    [ I ] 、 [ I F 0 0 ] \begin{bmatrix} I \end{bmatrix} 、\begin{bmatrix} I & F \\ 0 & 0 \end{bmatrix} [I][I0F0]
    前一种既是full-column-rank也是full-row-rank,invertible,情况简单。
    后一种不是full-rank,null-space维度为 n − r n - r nr, 0个或无穷多个解。

  • Overdetermined system: 0 or 1
    可能的情况有
    [ I 0 ] \begin{bmatrix} I \\ 0 \end{bmatrix} [I0]
    Full-column rank,null-space dimension为0,一个解或者没有解。

子空间正交

子空间的正交关系、Normal Equation的正交理解、正交化的妙处

行空间和Null Space正交;列空间和Left Null正交。由于这两对维度相加分别等于总空间的维度,所以行空间是Null Space的Orthogonal Complement,列空间是Left Null Space的Orthogonal Complement. 这是Dimension Theorem的另一种理解方法。

投影到向量上的投影矩阵有个好记的方法:外积/内积,例如 b b b a a a上的投影就是 a a T a T a b \frac{aa^T}{a^Ta}b aTaaaTb. 矩阵类似,最常见于线性回归。

线性回归中的Normal equation除了通过最优化,也可以通过空间正交关系得到。线性回归即是把 y y y投影到 A A A的列空间上。记投影的“系数”为 x ^ \hat{x} x^,即投影的结果为 A x ^ A\hat{x} Ax^(如果 A A A是一列,系数就是倍数;如果 A A A是一个矩阵, x ^ \hat{x} x^就是其列的线性组合的系数)。投影的剩余 y − A x ^ y - A\hat{x} yAx^一定和 A A A的列空间垂直,所以 y − A x ^ y-A\hat{x} yAx^一定在 A A A的Left Null Space里, A T ( b − A x ^ ) = 0 A^T(b - A\hat{x}) = 0 AT(bAx^)=0,由此可得Normal Equation。

A T A A^TA ATA的形式一般来说比较复杂。但如果 A A A的列两两正交,那 A T A A^TA ATA就是个对角矩阵,结果会好处理很多。

Orthogonal Matrix和 Q T Q = I Q^TQ=I QTQ=I的几何意义:不改变长度,也不改变角度

如果一个矩阵的列能构成这个空间的Orthonormal Basis,这个矩阵就叫Orthogonal Matrix(其实应该叫Orthonormal Matrix,但约定俗成)。等价的定义是 Q T Q = I Q^TQ=I QTQ=I. 这个式子说明列的模长是1,且任意两列都垂直,和配合维度,即能说明列是Orthonormal Basis。

Q T Q = I Q^TQ=I QTQ=I还有一个向量层面的直观意义。考虑任意两个向量 u u u, v v v,对他们都施加 Q Q Q变换。变换前的内积是 u T v u^Tv uTv,变换后的内积是 u T Q T Q v u^TQ^TQv uTQTQv Q T Q = I Q^TQ=I QTQ=I的第一层几何意义是 Q Q Q不改变内积。取 u = v u = v u=v,可以发现 Q Q Q变换不改变模长,这是第二层意思。加在一起, Q T Q = I Q^TQ = I QTQ=I意味着 Q Q Q变换既不改变模长,也不改变夹角,也就我们说的rigid motions。

什么样的操作既不改变模长也不改变夹角?

  • 旋转。
  • 排序。也就是换轴。
  • 过原点的对称。包括中心对称和对称轴过原点的轴堆成。

诸如平移、其他对称其实也有相同属性,本质上和以上三类是一样的。只是矩阵的定义方式要求变换一定是线性的,但平移、其他对称不保留原点,就没法用矩阵乘法表达。

Gram-Schmit 和 A = QR的直观理解: a k a_k ak只在 { q 1 , . . . , q k } \{q_1,...,q_k\} {q1,...,qk}上可能有非零投影

Gram-Schmit的目的是让一组向量正交化且标准化。第一个方向来自于第一个向量,其后每个方向都来自于从原向量中刨掉已搭建方向的投影。

Gram-Schmit还能很方便地推出 A = Q R A = QR A=QR分解(如果 A A A的列线性独立且 A A A满秩, Q Q Q为orthogonal;不然 Q Q Q会有0列,但其他依然orthonogal, R R R为上三角),且推导不依赖于算法运行的具体结果。只需要知道两点:把 a 1 , a 2 , . . . , a n a_1, a_2, ..., a_n a1,a2,...,an记作原始向量, q 1 , q 2 , . . . , q n q_1, q_2,...,q_n q1,q2,...,qn记作算法运行后的orthonormal向量(严格地讲可能包含0),那么

  • 不管 { a k } \{a_k\} {ak}长什么样,投影总是行的,所以 { q k } \{q_k\} {qk}一定出得来。最多里面有些0.
  • 在构造 q 1 , q 2 q_1, q_2 q1,q2的时候只用到了 a 1 , a 2 a_1, a_2 a1,a2,那反推 a 1 , a 2 a_1, a_2 a1,a2,应该也只需要用到 q 1 , q 2 q_1, q_2 q1,q2.这一点已经保证了 R R R是个上三角矩阵,因为它记录了每个 q k q_k qk的系数。

至于 R R R里面具体是什么,直接从定义考察就行。 q k q_k qk非0的俩俩垂直且都是单位向量,且 { q k } \{q_k\} {qk}的空间和 { a k } \{a_k\} {ak}的空间完全一致,于是 { q k } \{q_k\} {qk}相当于这个空间的一个笛卡尔坐标系。每一个原始的 a k a_k ak都相当于在各个 q k q_k qk方向上的投影之和。于是有 a 3 = q 1 q 1 T a 3 + q 2 q 2 T a 3 + q 3 q 3 T a 3 a_3 = q_1q_1^Ta_3 + q_2q_2^Ta_3 + q_3q_3^Ta_3 a3=q1q1Ta3+q2q2Ta3+q3q3Ta3
调整成 q k q_k qk的系数的格式,就有
[ a 1 a 2 a 3 ] = [ q 1 q 2 q 3 ] [ a 1 T q 1 a 2 T q 1 a 3 T q 1 0 a 2 T q 2 a 3 T q 2 0 0 a 3 T q 3 ] \begin{bmatrix}a_1 & a_2 & a_3 \end{bmatrix} = \begin{bmatrix}q_1 & q_2 & q_3 \end{bmatrix} \begin{bmatrix}a_1^Tq_1 & a_2^Tq_1 & a_3^Tq_1 \\ 0 & a_2^Tq_2 & a_3^Tq_2 \\ 0 & 0 & a_3^Tq_3 \end{bmatrix} [a1a2a3]=[q1q2q3]a1Tq100a2Tq1a2Tq20a3Tq1a3Tq2a3Tq3

行列式

通过性质定义行列式:起点是按行线性、换行为负和Identity

行列式有若干种定义方法。可以直接用Permutation+符号定义,这种最方便计算但也最难懂;可以定义完1x1,2x2的再用按行/列展开的递归定义;Strang给的定义是直接用行列式性质,这种方法点出了行列式最重要的性质。

起点是三条:

  1. 规定Identity的行列式为1.
  2. 规定行列式在每行的变换里线性。即比如有矩阵 A A A A 0 A_0 A0 A 0 A_0 A0仅在某一行有值,其他行为0。 记 A ′ A' A A A A的对应行用 A 0 A_0 A0替代掉,那 ∣ A + k A 0 ∣ = ∣ A ∣ + k ∣ A ′ ∣ |A + kA_{0}| = |A| + k|A'| A+kA0=A+kA注意这要求 A 0 A_{0} A0仅在某一行有值,一般来讲这个式子不成立。
  3. 规定互换两行后,行列式变号。

由这三条能推出行列式其他性质。比如,

  • 两行相同则行列式为0。 可以由换行,变号却依旧相等得到。
  • 某一行乘上一个系数,行列式也会乘上那个系数。由线性可得。
  • 行操作不改变行列式的值。把用线性把行变化拆成原行列式和新加上去的行列式并拆出来系数,新加上去的里面有两行一模一样,为0.
  • 某一行如果都为0,则行列式为0。这其实用该行展开最直接。用当前的定义可以用行操作构造出一个为0的行列式。
  • 三角矩阵的行列式等于对角线相乘。行操作把非对角的都化成0(如果对角线上有0,由于那一行的其他非0值能被化成0,行列式也为0.)
    • 这还有个小推论。单看前 k k k k k k列,小矩阵的行列式只取决于这个小矩阵的主元,和其他行其他列无关。直觉理解同样出自行操作。
  • 行列式不为0是矩阵可逆的充分必要条件。可逆就是说行操作以后主元都不为0,即对角线上没有0,即行列式不为0.
  • ∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| = |A||B| AB=AB。这条相对复杂些。尝试证明 f ( A ) = ∣ A B ∣ ∣ B ∣ f(A) = \frac{|AB|}{|B|} f(A)=BAB这个操作即是行列式。Identity很好证。在单行线性和换行为负可以对分子运用行列式定义。三条性质成立说明 f f f就是行列式,而行列式唯一(用计算定义想最简单)。
  • ∣ A ∣ = ∣ A T ∣ |A| = |A^T| A=AT。由高斯消元可以得到 P A = L U PA = LU PA=LU,又由于 P P P是保型变换, P P T = I PP^T=I PPT=I。对转置取行列式可以得到这条结论。

从性质到其他定义:用单行线性推出Permutation的大公式;把大公式按行整理得到展开式

用单行线性先拆第一行,再拆第二行,一行一行拆下去就是Permutation大公式。拆到每行只有一个数时可以把数提出来,Permutation的符号就出来了。

这种拆解的精髓应该是在逆运算: 怎么把行列式加成一个?Q! 暂未领悟。

另外展开式的推导方式也只知其表。从使用角度上记熟就行。

Cramer’s Rule: x j = ∣ A jth column subbed by b ∣ ∣ A ∣ x_j = \frac{|A_{\text{jth column subbed by b}}|}{|A|} xj=AAjth column subbed by b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值