线性代数基础

线性代数

向量

1.线性相关与线性无关

  • 向量组线性相关

存在一组不全为的实数,使得:

即至少有一个向量可以用其余向量线性表示。

  • 向量组线性无关

当且仅当时,才有:

即存在一个向量,其不能等于向量组内任意向量,可由向量组内向量进行唯一的线性表示。

2. 向量空间的维数

一个向量空间所包含的最大线性无关向量的数据,称为向量空间的维数。

3. 向量的点积(内积)

\vec{\text{u}}\cdot \vec{\text{v}} = u_{1}v_{1} + u_{2}v_{2} + \cdots + u_{n}x_{n} = |\vec{\text{u}}||\vec{\text{v}}| cos(\vec{\text{u}}, \vec{\text{v}} ) = \vec{\text{u}}^\text T\vec{\text{v}} = \vec{\text{u}}^\text T\vec{\text{v}}

import numpy as np

u, v = np.array([1, 2, 3]), np.array([4, 5, 6])

uv = u.dot(v)
uv = np.dot(u, v)
uv
32

4. 三维向量的叉积(外积)

\vec{\text{w}} = \vec{\text{u}} \times \vec{\text{v}} = \left| \begin{matrix} \vec{\text{i}} & \vec{\text{j}} & \vec{\text{k}} \\ u_x & u_y & u_z \\ v_x & v_y & v_z \end{matrix} \right| \\ = (u_yv_z - u_zv_y)\vec{\text{i}} - (u_xv_z - u_zv_x)\vec{\text{j}} + (u_xv_y - u_yv_x)\vec{\text{k}}

其中, 为轴的单位向量。

  • 和 的叉积垂直于构成的平面,其方向符合右手规则;

  • 叉积的模等于构成的平面四边形的面积;

import numpy as np

u, v = np.array([1, 2, 3]), np.array([4, 5, 6])

uv = np.cross(u, v).sum()
uv
0

5. 三维向量的混合积

\left[ \vec{\text{u}}\vec{\text v}\vec{\text w} \right] = (\vec{\text u}\times\vec{\text v})\cdot \vec{\text w} = \vec{\text u} \cdot (\vec{\text v} \times \vec{\text w})\\\ = \left| \begin{matrix} u_x & u_y & u_z \\\ v_x & v_y & v_z \\\ w_x & w_y & w_z \end{matrix} \right| = \left| \begin{matrix} u_x & v_x & w_x \\\ u_y & v_y & w_y \\\ u_z & v_z & w_z \end{matrix} \right|

  • 其物理意义为:以为三个棱边所围成平行六面体的体积。当构成右手系时,该平行六面体的体积为正号。

6. 三维向量的并矢积

也记作 或者

import numpy as np

u, v = np.array([1, 2, 3]), np.array([4, 5, 6])

uv = np.outer(u, v)
uv
array([[ 4,  5,  6],
       [ 8, 10, 12],
       [12, 15, 18]])

7. Gram - Schmidt正交化

设 是 中的一个线性无关向量组,若令

\beta_1 = \alpha_1 \\ \beta_2 = \alpha_2 - \frac{\left\langle \alpha_2, \beta_1\right\rangle}{\left\langle\beta_1, \beta_1\right\rangle}\beta_1 \\ \beta_m = \alpha_m - \frac{\left\langle \alpha_m, \beta_1 \right\rangle}{\left\langle \beta_1, \beta_1 \right\rangle}\beta_1 - \frac{\left\langle \alpha_m, \beta_2 \right\rangle}{\left\langle \beta_2, \beta_2 \right\rangle}\beta_2 - \dots - \frac{\left\langle \alpha_m, \beta_{m-1} \right\rangle}{\left\langle \beta_{m-1}, \beta_{m -1}\right\rangle}\beta_{m-1}

则就是一个正交向量组,若再令

就得到一个标准正交向量组 ,且该向量组与 等价。

import numpy as np

A = np.array([[1,1,6],  ## numpy.linalg 是对列向量进行标准正交化
              [1,2,4],
              [1,3,2]])

q, r = np.linalg.qr(A)
q, r
(array([[-5.77350269e-01,  7.07106781e-01,  4.08248290e-01],
        [-5.77350269e-01,  5.55111512e-17, -8.16496581e-01],
        [-5.77350269e-01, -7.07106781e-01,  4.08248290e-01]]),
 array([[-1.73205081, -3.46410162, -6.92820323],
        [ 0.        , -1.41421356,  2.82842712],
        [ 0.        ,  0.        ,  0.        ]]))

矩阵

\text{A} = \left[ \begin{matrix} a_{11} & a_{12} & \dots & a_{1n}\\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots &\vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm} \end{matrix} \right]

1. 矩阵的运算

  • 加法 \text{A} + \text{B} = \left[ \begin{matrix} a_{11} + b_{11} & a_{12} + b_{12} & \dots & a_{1n} + b_{1n}\\ a_{21} + b_{21} & a_{22} + b_{22} & \dots & a_{2n} + b_{2n}\\ \vdots & \vdots & \ddots &\vdots \\ a_{m1} + b_{m1} & a_{m2} + b_{m2} & \cdots & a_{mm} + b_{mm} \end{matrix} \right], 都为矩阵

  • 数乘 k\text{A} = \left[ \begin{matrix} ka_{11} & ka_{12} & \dots & ka_{1n}\\ ka_{21} & ka_{22} & \dots & ka_{2n} \\ \vdots & \vdots & \ddots &\vdots \\ ka_{m1} & ka_{m2} & \cdots & ka_{mm} \end{matrix} \right]

  • 乘积 \text{A}\text{B} = \left[ \begin{matrix} a_{11} & a_{12} & \dots & a_{1n}\\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots &\vdots \\ a_{m1} & a_{m2} & \cdots & a_{mm} \end{matrix} \right] \left[ \begin{matrix} b_{11} & b_{12} & \dots & b_{1s} \\ b_{21} & b_{22} & \dots & b_{2s} \\ \vdots & \vdots & \ddots & \vdots \\ b_{n1} & b_{n2} & \dots & b_{ns} \end{matrix} \right] \\ = \left[ \begin{matrix} a_{11}b_{11} + a_{12}b_{21} + \dots + a_{1n}b_{n1} & a_{11}b_{12} + a_{12}b_{22} + \dots + a_{1n}b_{n2} & \dots & a_{11}b_{1s} + a_{12}b_{2s} + \dots + a_{11}b_{ns} \\ a_{21}b_{11} + a_{22}b_{21} + \dots + a_{2n}b_{n1} & a_{21}b_{12} + a_{22}b_{22} + \dots + a_{2n}b_{n2} & \dots & a_{21}b_{1s} + a_{22}b_{2s} + \dots + a_{21}b_{ns} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}b_{11} + a_{m2}b_{21} + \dots + a_{mn}b_{n1} & a_{m1}b_{12} + a_{m2}b_{22} + \dots + a_{mn}b_{n2} & \dots & a_{m1}b_{1s} + a_{m2}b_{2s} + \dots + a_{m1}b_{ns} \\ \end{matrix} \right]

  • 点乘(阿达马积) \text{A} \cdot \text{B} = \left[ \begin{matrix} a_{11} b_{11} & a_{12} b_{12} & \dots & a_{1n} b_{1n}\\ a_{21} b_{21} & a_{22} b_{22} & \dots & a_{2n} b_{2n}\\ \vdots & \vdots & \ddots &\vdots \\ a_{m1} b_{m1} & a_{m2} b_{m2} & \cdots & a_{mm} b_{mm} \end{matrix} \right]

  • 克罗内克积 \sideset{\text A}{\text B}\bigotimes =\left[ \begin{matrix} a_{11}\text{B} & a_{12}\text{B} & \dots & a_{1n}\text{B}\\ a_{21}\text{B} & a_{22}\text{B} & \dots & a_{2n}\text{B}\\ \vdots & \vdots & \ddots &\vdots \\ a_{m1}\text{B} & a_{m2}\text{B} & \cdots & a_{mm}\text{B} \end{matrix} \right]

2.

,转置;
,矩阵的逆;
,伴随矩阵。

反矩阵


  • 若矩阵可逆,则

  • 若为阶方阵,则

import numpy as np

A = np.mat(np.random.randint(10, size = (3,3)))
A = np.mat([[-3, 2, -5], [-1, 0, -2], [3, -4, 1]])
print(A)
print(A.T) # 转置
print(A.I) # 逆
print(np.linalg.det(A)) # 行列式
print(np.dot(np.linalg.det(A), A.I)) # 伴随矩阵
[[-3  2 -5]
 [-1  0 -2]
 [ 3 -4  1]]
[[-3 -1  3]
 [ 2  0 -4]
 [-5 -2  1]]
[[ 1.33333333 -3.          0.66666667]
 [ 0.83333333 -2.          0.16666667]
 [-0.66666667  1.         -0.33333333]]
-6.0
[[-8. 18. -4.]
 [-5. 12. -1.]
 [ 4. -6.  2.]]

3. 矩阵的秩

  • 初等变换不改变矩阵的秩

  • ,特别当,则:

  • 若存在,则;若存在,则;若,则;若,则

  • 只有零解

import numpy as np
A = np.array([[1, 1], [2, 2]]) # rank = 1
# A = np.array([[1, 2], [3, 4]]) # rank = 2
A_rank = np.linalg.matrix_rank(A)
A_rank
1

4. 特征值与特征向量

  • 设为阶矩阵,若存在常数和维非零向量,使得

  • 设是的一个特征值,则 特征值 , 特征值 , 特征值 , 特征值 , 特征值 , 特征值 , 特征值 , 特征值

  • 若为的个特征值,则

  • 设为的个特征值,对应特征向量为,若,则

import numpy as np

A = np.mat([[-1, 1, 0], [-4, 3, 0], [1, 0, 2]])
eigenvalue, featurevector = np.linalg.eig(A)
eigenvalue, featurevector
(array([2., 1., 1.]), matrix([[ 0.        ,  0.40824829,  0.40824829],
         [ 0.        ,  0.81649658,  0.81649658],
         [ 1.        , -0.40824829, -0.40824829]]))

5. 相似矩阵

  • 设都是阶矩阵,若存在可逆矩阵,使,则称是的相似矩阵, 并称矩阵与相似,记为。
    对进行运算称为对进行相似变换,称可逆矩阵为相似变换矩阵。

你可能感兴趣的:(线性代数基础)