线性代数(数值分析)

目录

一,奇异值分解(SVD)

1,奇异值分解

2,性质

3,二维SVD

二,伪逆矩阵

1,伪逆矩阵

2,python求解

3,伪逆矩阵的性质

4,伪逆矩阵的应用——求方程组的解

三,向量微分

1,标量对向量的微分

2,向量对向量的微分

3,向量微分的计算方法

四,矩阵的范数、条件数

1,矩阵的范数

2,条件数

3,线性方程的稳定性

五,Cholesky分解

1,Cholesky分解

2,LDLT分解

六,近似正定对称矩阵

1,正定试探算法

2,修正LDLT分解

七,格拉姆-施密特正交化

1,格拉姆-施密特过程

2,格拉姆-施密特QR分解


一,奇异值分解(SVD)

1,奇异值分解

每个实对称矩阵A都可以进行特征值分解:A=Q\Lambda Q^T  其中Q是正交矩阵,\Lambda是对角矩阵。

据此可推出奇异值分解:

每个矩阵都可以表示成A=UDV^T 

其中A是m*n的矩阵,U是m*m的正交矩阵,D是m*n的对角矩阵,V是n*n的正交矩阵。

U的列向量叫A的左奇异向量,V的列向量叫A的右奇异向量,D的对角线上元素叫做A的奇异值。

2,性质

(1)如果一个方阵可以进行特征值分解,那么它的特征值分解和奇异值分解是相同的。

(2)非零奇异值的个数就是矩阵的秩。

(3)矩阵的特征值有可能是是复数(即使是实数矩阵,其特征值也有可能是复数),但是矩阵的奇异值一定是非负实数(即使矩阵是复数矩阵,其奇异值也一定是非负实数)。

3,二维SVD

二,伪逆矩阵

1,伪逆矩阵

任意非0矩阵的伪逆矩阵:

 用特征值分解可以得到它的等价定义:

A=UDV^T, A^+=VD^+U^T

其中对角矩阵 D 的伪逆矩阵是D的所有非零元素各自取倒数之后再转置得到的。

如果一个方阵有逆矩阵,那么它的逆矩阵和伪逆矩阵是相同的。

2,python求解

A = [[1,2,3]]
u,d,vt = linalg.svd(A)
print(u)
print(d)
print(vt)

输出;

[[-1.]]
[3.74165739]
[[-0.26726124 -0.53452248 -0.80178373]
 [-0.53452248  0.77454192 -0.33818712]
 [-0.80178373 -0.33818712  0.49271932]]

\left ( 1\, 2 \, 3 \right )=\left ( -1 \right )\left ( 3.741\: 0\: 0 \right )\begin{pmatrix} -0.267\: -0.534\: -0.801\\ -0.534\: 0.774\: -0.338\\ -0.801\: -0.3382\: 0.492 \end{pmatrix}

3,伪逆矩阵的性质

对于m行n列的矩阵A,如果n>=m,则A^+A=E

4,伪逆矩阵的应用——求方程组的解

如果方程组的秩小于变量个数,那么就有无穷多解,

用Ax=b表示方程组,用伪逆矩阵可以求出一个解x=A^+y

而且,这个解是所有解中,欧几里得范数最小的解。

三,向量微分

标量的微分还是标量,列向量的微分还是列向量。

1,标量对向量的微分

假设有一个n维向量x,和一个n元函数y=f(x),y是标量

假设x是列向量,则

\frac{dy}{dx}=(\frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2}...\frac{\partial y}{\partial x_n}) 

dy=(\frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2}...\frac{\partial y}{\partial x_n})dx,行向量乘以列向量等于标量。

2,向量对向量的微分

假设有一个n维向量x,和n维向量y,其中y的每个元素都是关于x的n个元素的n元函数,

不妨设x和y都是列向量,则:

\frac{dy}{dx}=\begin{pmatrix} \frac{dy_1}{dx}\\ ...\\ \frac{dy_n}{dx} \end{pmatrix}=\begin{pmatrix} \frac{\partial y_1}{\partial x_1}...\frac{\partial y_1}{\partial x_n}\\ ...\\ \frac{\partial y_n}{\partial x_1} ...\frac{\partial y_n}{\partial x_n}\end{pmatrix}

dy=\begin{pmatrix} \frac{\partial y_1}{\partial x_1}...\frac{\partial y_1}{\partial x_n}\\ ...\\ \frac{\partial y_n}{\partial x_1} ...\frac{\partial y_n}{\partial x_n}\end{pmatrix}dx,方阵乘以列向量等于列向量

3,向量微分的计算方法

链式法则依然成立。

如x是列向量,a是列向量,A是矩阵,则:

\frac{d(a^Tx)}{dx}=a^T

\frac{d(Ax)}{dx}=A

\frac{d(x^Tx)}{dx}=2x^T

\frac{d(x^TA^TAx)}{dx}=2x^TA^TA

四,矩阵的范数、条件数

1,矩阵的范数

向量范数表达的是向量的长度,矩阵范数表达的是对向量的放大能力。

2,条件数

A^{-1} 的范数:

A的范数表示A能对向量放大多少倍,A^{-1} 的范数表示A能对向量缩小多少倍。

条件数:

条件数同时描述了放大能力和缩小能力。

条件数 = 最大奇异值 / 最小奇异值,结果一定是大于等于1的,如果A不可逆(最小奇异值为0),则条件数是正无穷。

3,线性方程的稳定性

考虑线性方程 Ax=b,稳定性即x随着b变化而变化的程度。

根据条件数的定义可以推导出:

即条件数越小,线性方程越稳定。

五,Cholesky分解

1,Cholesky分解

若n阶对称矩阵A正定,则存在一个对角元为正数的下三角矩阵L,使得A=LL^T成立。

把A分解成LL^T叫做Cholesky分解。

2,LDLT分解

若n阶对称矩阵A正定,则存在一个对角矩阵D和对角元全为1的下三角矩阵L,使得A=LDL^T成立。

算法:

六,近似正定对称矩阵

问题:

输入一个对称矩阵A,求矩阵B,使得A+B正定,且条件数较小,且和A的数值差别不太大。

1,正定试探算法

输入一个对称矩阵A,求正数t,使得A+tI正定且t较小,其中I是单位矩阵。

PS:

第8行是尝试,意思是如果输入正定矩阵那么Cholesky分解算法运行成功,否则算法运行失败。

t足够大时一定会成功。

2,修正LDLT分解

通过修改LDLT分解的中间过程,直接求出一个B

 

 

 这个修正方式下,显然上面的具体修正目标达成,且最终求得的A+B的条件数存在上界。

七,格拉姆-施密特正交化

1,格拉姆-施密特过程

2,格拉姆-施密特QR分解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值