线性最小二乘问题的数值解法

线性最小二乘问题的数值解法

这里我们讨论的问题主要是Ax=b, b ∉ R ( A ) b\notin R(A) b/R(A)时的处理方法

最小二乘问题的描述

方程组的分类

对于方程组
A x = b , A ∈ C m × n , b ∈ C m (1) Ax=b,A\in C^{m\times n},b\in C^m\tag{1} Ax=b,ACm×n,bCm(1)

  • 超定方程组:m>n
  • 欠定方程组:m<n

线性最小二乘问题的基本概念

最小二乘问题的特征及一般表示
  • 最小二乘问题

    A ∈ C m × n , b ∈ C m A\in C^{m\times n},b\in C^m ACm×n,bCm,确定 x ∈ C n x\in C^n xCn使得
    ∥ A x − b ∥ 2 = min ⁡ x ∈ C n ∥ A x − b ∥ 2 (2) \lVert Ax-b\rVert_2=\min_{x\in C^n}\lVert Ax-b\rVert_2 \tag{2} Axb2=xCnminAxb2(2)

    问题(2)称为线性最小二乘问题(LS问题),而x称为最小二乘解。称 r ( x ) = b − A x r(x)=b-Ax r(x)=bAx为残差向量

  • 所有最小二乘解的集合记为 S L S S_{LS} SLS
    S L S = { x ∈ C n : x 满 足 ( 1 ) } (3) S_{LS}=\{x\in C^n:x满足(1)\}\tag{3} SLS={xCn:x(1)}(3)

    S L S S_{LS} SLS中2-范数最小者称为极小范数解,记为 x L S x_{LS} xLS
    ∥ x L S ∥ 2 = min ⁡ { ∥ x ∥ 2 : x ∈ S L S } (4) \lVert x_{LS}\rVert_2=\min\{\lVert x\rVert_2:x\in S_{LS}\}\tag{4} xLS2=min{x2:xSLS}(4)

  • 极小范数解:方程组(1)有解的情况
    ∥ x 0 ∥ 2 = min ⁡ A x = b ∥ x ∥ 2 (5) \lVert x_{0}\rVert_2=\min_{Ax=b}\lVert x\rVert_2\tag{5} x02=Ax=bminx2(5)

  • 极小范数最小二乘解:方程组无解的情况
    ∥ x 0 ∥ 2 = min ⁡ m i n ∥ A x − b ∥ 2 ∥ x ∥ 2 (6) \lVert x_{0}\rVert_2=\min_{min\lVert Ax-b\rVert_2}\lVert x\rVert_2\tag{6} x02=minAxb2minx2(6)

  • 线性方程组(1)有解的充要条件是
    A A † b = b (7) AA^{\dagger}b=b\tag{7} AAb=b(7)
    并且在有解时,其通解为
    x = A † b + ( I − A † A ) z 其 中 z ∈ C n 任 意 (8) x=A^{\dagger}b+(I-A^{\dagger}A)z\tag{8}\\其中z\in C^n任意 x=Ab+(IAA)zzCn(8)
    证明:

    “必要性”:

    A A † b = b AA^{\dagger}b=b AAb=b,则 x = A † b x=A^{\dagger}b x=Ab就是其解

    “充分性”

    A x = b Ax=b Ax=b有解,则 N ( A ) = { ( I n − A † A ) z : z ∈ C n } N(A)=\{(I_n-A^{\dagger}A)z:z\in C^n\} N(A)={(InAA)z:zCn}

  • 如果方程组(1)有解,则它的极小范数解 x 0 x_0 x0唯一,并且 x 0 = A † b x_0=A^{\dagger}b x0=Ab

线性最小二乘问题的等价性问题
法方程
  • x是最小二乘问题(2)的极小解的,即 x ∈ S L S x\in S_{LS} xSLS的充分必要条件是x为方程

    A H A x = A H b (9) A^HAx=A^Hb\tag{9} AHAx=AHb(9)

​ 的解,(9)式称为最小二乘问题的法方程。

  • 证明:

    min ⁡ x ∥ A x − b ∥ 2 \min_x\lVert Ax-b\rVert_2 minxAxb2等价于 min ⁡ x ∥ A x − b ∥ 2 2 = min ⁡ x ( A x − b ) T ( A x − b ) \min_x\lVert Ax-b\rVert_2^2=\min_x(Ax-b)^T(Ax-b) minxAxb22=minx(Axb)T(Axb)

    化简得, min ⁡ x { x T A T A x − x T A T b − b T A x + b T b } \min_x\{x^TA^TAx-x^TA^Tb-b^TAx+b^Tb\} minx{xTATAxxTATbbTAx+bTb}。设 y = x T A T A x − x T A T b − b T A x + b T b y=x^TA^TAx-x^TA^Tb-b^TAx+b^Tb y=xTATAxxTATbbTAx+bTb
    d y d x = 0 \dfrac{dy}{dx}=0 dxdy=0得,
    2 A T A x − 2 A T b = 0 A T A x = A T b 2A^TAx-2A^Tb=0\\ A^TAx=A^Tb 2ATAx2ATb=0ATAx=ATb
    所以,(2)式的极小解为 A H A x = A H b A^HAx=A^Hb AHAx=AHb的解

KKT方程
  • A ∈ C m × n A\in C^{m\times n} ACm×n b ∈ R n b\in R^n bRn,则 x x x r = b − A x r=b-Ax r=bAx分别是最小二乘问题(2)的极小解和残量的充分必要条件是x和r为鞍点系统
    [ I A A H O ] [ r x ] = [ b 0 ] (10) \begin{bmatrix}I&A\\A^H&O\end{bmatrix} \begin{bmatrix}r\\x\end{bmatrix}= \begin{bmatrix}b\\0\end{bmatrix}\tag{10} [IAHAO][rx]=[b0](10)
    的解。上述线性系统称为最小二乘问题的KKT方程

  • 证明:

    x x x为最小二乘问题(2)的极小解,而 r = b − A x r=b-Ax r=bAx为其残量,则
    x = A † b + ( I − A † A ) z r = b − A x = b − A A † b = ( I − A A † ) b x=A^{\dagger}b+(I-A^{\dagger}A)z\\ r=b-Ax=b-AA^{\dagger}b=(I-AA^{\dagger})b x=Ab+(IAA)zr=bAx=bAAb=(IAA)b
    由广义逆 A † A^\dagger A的性质 A A † = ( A A † ) T , A A † A = A AA^\dagger=(AA^\dagger)^T,AA^\dagger A=A AA=(AA)T,AAA=A及等式 r + A x = b r+Ax=b r+Ax=b,得
    A H r = A H ( I − A A † ) b = [ ( I − A A † ) A ] H b = [ A − A A † A ] H b = 0 A^Hr=A^H(I-AA^\dagger)b=[(I-AA^\dagger)A]^Hb=[A-AA^\dagger A]^Hb=0 AHr=AH(IAA)b=[(IAA)A]Hb=[AAAA]Hb=0
    所以(10)式是相容的线性系统,且x和r满足式(10).

    反之,设
    B = [ I A A H O ] B=\begin{bmatrix}I&A\\A^H&O\end{bmatrix} B=[IAHAO]
    可以验证
    B † = [ I − A A † ( A † ) H A H − A † ( A † ) H ] B^{\dagger}=\begin{bmatrix}I-AA^{\dagger}&(A^\dagger)^H\\A^H&-A^\dagger(A^\dagger)^H\end{bmatrix} B=[IAAAH(A)HA(A)H]
    所以
    [ r x ] = B † [ b 0 ] + ( I − B † B ) [ y z ] = [ ( I − A A † ) b A † b − ( I − A † A ) z ] \begin{bmatrix}r\\x\end{bmatrix}=B^\dagger\begin{bmatrix}b\\0\end{bmatrix}+ (I-B^\dagger B)\begin{bmatrix}y\\z\end{bmatrix}= \begin{bmatrix}(I-AA^\dagger)b\\ A^\dagger b-(I-A^\dagger A)z\end{bmatrix} [rx]=B[b0]+(IBB)[yz]=[(IAA)bAb(IAA)z]
    所以r,x分别是最小二乘问题的残量和极小解

线性最小二乘问题的正则化

设矩阵 A ∈ C r m × n A\in C_r^{m\times n} ACrm×n的奇异值分解为
A = U Σ V H A=U\Sigma V^H A=UΣVH
其中 U = [ u 1 , u 2 , ⋯   , u m ] U=[u_1,u_2,\cdots,u_m] U=[u1,u2,,um]为m阶酉矩阵; V = [ v 1 , v 2 , ⋯   , v n ] V=[v_1,v_2,\cdots,v_n] V=[v1,v2,,vn]为n阶酉矩阵; Σ = [ Σ r 0 0 0 ] \Sigma=\begin{bmatrix}\Sigma_r&0\\0&0\end{bmatrix} Σ=[Σr000]

则最小二乘问题(2)的极小范数最小二乘解 x L S x_{LS} xLS可表示为
x L S = A † b = ∑ i = 1 r u i H b σ i v i x_{LS}=A^\dagger b=\sum^r_{i=1}\dfrac{u_i^Hb}{\sigma_i}v_i xLS=Ab=i=1rσiuiHbvi

最小二乘问题的求解

求解列满秩最小二乘问题的数值方法

法方程方法
分析

将最小二乘问题化为上文所述的法方程
A H A x = A H b A^HAx=A^Hb AHAx=AHb
由于 A ∈ C m × n A\in C^{m\times n} ACm×n是列满秩矩阵,所以 r a n k ( A H A ) = n rank(A^HA)=n rank(AHA)=n,且 A H A A^HA AHA正定,所以可以用Cholesky分解求解方程

算法:
  • 对n阶Hermite正定矩阵 B = A H A B=A^HA B=AHA作Cholesky分解 B = L L H B=LL^H B=LLH,其中L为下三角矩阵
  • 依次解 L y = A H b Ly=A^Hb Ly=AHb L H x = y L^Hx=y LHx=y得到最小二乘问题的解 x L S x_{LS} xLS
QR分解法
分析

由于正交矩阵保持向量二范数不变,所以可以对最小二乘问题做变换
min ⁡ x ∥ A x − b ∥ ⇒ min ⁡ x ∥ Q T ( A x − b ) ∥ 其 中 Q 为 正 交 矩 阵 \min_x\lVert Ax-b\rVert\Rightarrow\min_x\lVert Q^T(Ax-b)\rVert\\其中Q为正交矩阵 xminAxbxminQT(Axb)Q
所以可以找一个合适的Q使原来的最小二乘问题便于求解。

设A有QR分解:
A = Q [ R 0 ] = Q 1 R 其 中 Q ∈ R m × n 为 正 交 矩 阵 Q 1 为 Q 的 前 n 列 组 成 的 矩 阵 R 为 对 角 元 均 为 正 的 上 三 角 矩 阵 A=Q\begin{bmatrix}R\\0\end{bmatrix}=Q_1R\\其中Q\in R^{m\times n}为正交矩阵\\Q_1为Q的前n列组成的矩阵\\R为对角元均为正的上三角矩阵 A=Q[R0]=Q1RQRm×nQ1QnR
取上式中的Q对b做变换得
f = Q T b = [ Q 1 T Q 2 T ] b = [ f 1 f 2 ] f=Q^Tb=\begin{bmatrix}Q_1^T\\Q_2^T\end{bmatrix}b=\begin{bmatrix}f_1\\f_2\end{bmatrix} f=QTb=[Q1TQ2T]b=[f1f2]

∥ Q T ( A x − b ) ∥ 2 2 = ∥ [ R 0 ] x − Q T b ∥ 2 2 = ∥ [ R 0 ] x − [ f 1 f 2 ] ∥ 2 2 = ∥ R x − f 1 ∥ 2 2 + ∥ f 2 ∥ 2 2 \lVert Q^T(Ax-b) \rVert_2^2=\Bigg\lVert \begin{bmatrix}R\\0\end{bmatrix}x-Q^Tb \Bigg\rVert_2^2 \\ =\Bigg\lVert \begin{bmatrix}R\\0\end{bmatrix}x-\begin{bmatrix}f_1\\f_2\end{bmatrix} \Bigg\rVert_2^2= \lVert Rx-f_1 \rVert_2^2+\lVert f_2\rVert_2^2\\ QT(Axb)22=[R0]xQTb22=[R0]x[f1f2]22=Rxf122+f222
由此可知,x是最小二乘问题的解,当且仅当x是上三角矩阵方程组 R x = f 1 Rx=f_1 Rx=f1的解

在实施过程中,采取对 A ^ = [ A , b ] \hat{A}=[A,b] A^=[A,b]进行QR分解
H n … H 1 [ A , b ] = [ R , b ^ ] ⇒ Q T [ A , b ] = [ R , b ^ ] H_n\dots H_1[A,b]=[R,\hat{b}]\Rightarrow Q^T[A,b]=[R,\hat{b}] HnH1[A,b]=[R,b^]QT[A,b]=[R,b^]

A = Q R , b ^ = Q T b A=QR,\hat{b}=Q^Tb A=QR,b^=QTb

算法

给定 A ∈ R m × n A\in R^{m\times n} ARm×n为列满秩矩阵, b ∈ R m b\in R^m bRm

  • 计算增广矩阵 A ^ = [ A , b ] \hat{A}=[A,b] A^=[A,b]的QR分解
  • 用回代法求解 R x = f 1 Rx=f_1 Rx=f1

QR分解可以用

  • Householder方法
  • Givens正交化方法
  • 修正的Gram-Schmit方法

求解秩亏最小二乘问题的数值解法

考虑 min ⁡ ∥ A x − b ∥ 2 \min \lVert Ax-b\rVert_2 minAxb2,其中 A ∈ R r m ∗ n ( m ≥ n ) A\in R^{m*n}_r(m\ge n) ARrmn(mn), r a n k ( A ) = r < n rank(A)=r<n rank(A)=r<n。此时最小二乘问题有无穷个解。

列主元QR分解法
分析
  • A是秩亏损时,QR分解不一定能给出列空间R(A)的一组标准正交基,但是可以通过列置换之后的矩阵 A ^ = A P \hat{A}=AP A^=AP的QR分解来求解,即AP=QR,其中P是置换矩阵。

  • b = b 1 + b 2 , b 1 ∈ R ( A ) , b 2 ∈ R ⊥ ( A ) b=b_1+b_2,b_1\in R(A),b_2\in R^{\bot}(A) b=b1+b2,b1R(A),b2R(A)
    可以证明: A x = b 1 Ax=b_1 Ax=b1
    假定 R ( A ) = R ( Q 1 ) R(A)=R(Q_1) R(A)=R(Q1),其中 Q 1 ∈ R m ∗ r Q_1\in R^{m*r} Q1Rmr Q 1 T Q 1 = I r Q_1^TQ_1=I_r Q1TQ1=Ir,即 Q 1 Q_1 Q1构成R(A)的一组标准正交基。

  • 则存在矩阵 S ∈ R r ∗ n S\in R^{r*n} SRrn(A在 Q 1 Q_1 Q1基下的坐标)和向量 h ∈ R r h\in R^r hRr b 1 b_1 b1 Q 1 Q_1 Q1基下的坐标),使得

    A = Q 1 S , b 1 = Q 1 h A=Q_1S,b_1=Q_1h\\ A=Q1S,b1=Q1h
    又 ∵ A x = b 1   ∴ Q 1 S x = Q 1 h   ∴ S x = h 又\because Ax=b_1\ \therefore Q_1Sx=Q_1h\ \therefore Sx=h Ax=b1 Q1Sx=Q1h Sx=h

    所以问题转换为求解 S x = h Sx=h Sx=h,而方程组 S x = h Sx=h Sx=h总是有解的

  • S = Q 1 T A , h = Q 1 T b 1 = Q 1 T ( b − b 2 ) = Q 1 T b b 2 ∈ R ⊥ ( Q 1 ) S=Q_1^TA,\\h=Q_1^Tb_1=Q_1^T(b-b_2)=Q_1^Tb\\ b_2\in R^{\bot}(Q_1) S=Q1TA,h=Q1Tb1=Q1T(bb2)=Q1Tbb2R(Q1)

  • 现在问题变成求解R(A)的一组标准正交基 Q Q Q

  • 由于rank(A)=r < n,一般不能直接产生R(A)的一组标准正交基,但是如果对A进行适当的排列使其前r列线性无关,然后再进行QR分解,则仍然可产生R(A)的一组标准正交基

  • 设有分解式

    A P = Q [ R 11 R 12 0 0 ] AP=Q\begin{bmatrix} R_{11} & R_{12}\\ 0 & 0 \end{bmatrix} AP=Q[R110R120]
    其中P为列置换矩阵,Q为正交矩阵, R 11 R_{11} R11为非奇异上三角阵,则Q的前r列就是R(A)的一组标准正交基

  • 一旦求出分解式,就有
    ( Q T A P ) ( P T x ) = Q T b 1 (Q^TAP)(P^Tx)=Q^Tb_1\\ (QTAP)(PTx)=QTb1
    P T x = [ w z ] P^Tx=\begin{bmatrix}w\\z\end{bmatrix} PTx=[wz],得
    [ R 11 R 12 0 0 ] [ w z ] = Q T b 1 = [ Q 1 T Q 2 T ] b 1 = [ h g ] ⇒ [ R 11 w + R 12 z 0 ] = [ h g ] ∴ w = R 11 − 1 ( h − R 12 z ) , g = 0 \begin{bmatrix} R_{11} & R_{12}\\ 0 & 0 \end{bmatrix} \begin{bmatrix}w\\z\end{bmatrix}=Q^Tb_1= \begin{bmatrix}Q_1^T\\Q_2^T\end{bmatrix}b_1= \begin{bmatrix}h\\g\end{bmatrix}\\ \Rightarrow \begin{bmatrix}R_{11}w + R_{12}z\\0\end{bmatrix}= \begin{bmatrix}h\\g\end{bmatrix}\\ \therefore w=R_{11}^{-1}(h-R_{12}z),g=0\\ [R110R120][wz]=QTb1=[Q1TQ2T]b1=[hg][R11w+R12z0]=[hg]w=R111(hR12z),g=0
    所以
    x = P [ w z ] = P [ R 11 − 1 ( h − R 12 z ) z ] = P [ R 11 − 1 h 0 ] + [ − R 11 − 1 R 12 I n − r ] z x=P\begin{bmatrix} w\\z \end{bmatrix}=P\begin{bmatrix} R_{11}^{-1}(h-R_{12}z)\\z \end{bmatrix}=P\begin{bmatrix} R_{11}^{-1}h\\0 \end{bmatrix}+\begin{bmatrix} -R_{11}^{-1}R_{12}\\I_{n-r} \end{bmatrix}z\\ x=P[wz]=P[R111(hR12z)z]=P[R111h0]+[R111R12Inr]z
    x x x就是最小二乘问题的通解
    令 x b = P [ R 11 − 1 h 0 ] 令x_b=P\begin{bmatrix} R_{11}^{-1}h\\0 \end{bmatrix} xb=P[R111h0]
    x b x_b xb为最小二乘问题的基本解
    A x b = [ b 1 0 ] Ax_b=\begin{bmatrix} b_1\\0 \end{bmatrix} Axb=[b10]

实际求解方法
  • 综述:一边用Householder变换,一边做列变换将A中列向量二范数非零的向量提到下一个Householder变换列,直到A中没有二范数非零向量

  • 下面描述求解的递推过程:

    考虑分解式(8)的具体实施过程。假设对对某一正整数k,已求k-1个Householder变换 H 1 , H 2 , ⋯   , H k − 1 H_1,H_2,\cdots ,H_{k-1} H1,H2,,Hk1和k-1个初等变换, P 1 , P 2 , ⋯   , P k − 1 P_1,P_2,\cdots,P_{k-1} P1,P2,,Pk1使得

    R k − 1 = H k − 1 ⋯ H 2 H 1 A P 1 P 2 ⋯ P k − 1 = [ R 11 ( k − 1 ) R 12 ( k − 1 ) 0 R 22 ( k − 1 ) ] R_{k-1}=H_{k-1}\cdots H_2H_1AP_1P_2\cdots P_{k-1}=\begin{bmatrix} R_{11}^{(k-1)} & R_{12}^{(k-1)} \\0 & R_{22}^{(k-1)} \end{bmatrix} Rk1=Hk1H2H1AP1P2Pk1=[R11(k1)0R12(k1)R22(k1)],其中$R_{11}^{(k-1)} 为 非 奇 异 上 三 角 矩 阵 , 记 为非奇异上三角矩阵,记 R_{22}{(k-1)}=[V_k{(k-1)},V_{k+1}^{(k-1)},\cdots ,V_n^{(k-1)}] , 其 中 ,其中 V_i{(k-1)}$表示$R_{22}{(k-1)} 的 第 ( i − k + 1 ) 列 , 下 一 步 是 确 定 指 标 P ( 的第(i-k+1)列,下一步是确定指标P( ik+1)P(k\le P \le n$)满足

    ∥ V p ( k − 1 ) ∥ 2 = max ⁡ { ∥ V k ( k − 1 ) ∥ 2 , ∥ V k + 1 ( k − 1 ) ∥ 2 , ⋯   , ∥ V n ( k − 1 ) ∥ 2 } \lVert V_p^{(k-1)}\rVert_2=\max \{\lVert V_k^{(k-1)}\rVert_2,\lVert V_{k+1}^{(k-1)}\rVert_2,\cdots,\lVert V_ n^{(k-1)}\rVert_2\} Vp(k1)2=max{Vk(k1)2,Vk+1(k1)2,,Vn(k1)2}

    ∥ V p ( k − 1 ) ∥ 2 = 0 \lVert V_p^{(k-1)}\rVert_2=0 Vp(k1)2=0,停止计算。否则取 P k P_k Pk为第k列与第p列交换的初等列变换矩阵,并确定一个Householder变换, H ^ k ∈ R ( m − k + 1 ) × ( m − k + 1 ) \hat{H}_k\in R^{(m-k+1)\times (m-k+1)} H^kR(mk+1)×(mk+1)使得 H ^ k V p ( k − 1 ) = γ k k e 1 \hat{H}_kV_p^{(k-1)}=\gamma_{kk}e_1 H^kVp(k1)=γkke1

    H k = d i a g ( I k − 1 , H ^ k ) H_k=diag(I_{k-1},\hat{H}_k) Hk=diag(Ik1,H^k),则有 R k = [ R 11 ( k ) R 12 ( k ) 0 R 22 ( k ) ] R_k=\begin{bmatrix}R_{11}^{(k)} & R_{12}^{(k)} \\0 & R_{22}^{(k)}\end{bmatrix} Rk=[R11(k)0R12(k)R22(k)],其中$R_{11}^{(k-1)} 为 非 奇 异 上 三 角 矩 阵 为非奇异上三角矩阵 R_k=H_k\begin{bmatrix}R_{11}^{(k-1)} & R_{12}^{(k-1)} \0 & R_{22}^{(k-1)}\end{bmatrix}P_k$

    R 12 R_{12} R12约化为0矩阵, z 1 , z 2 , ⋯   , z r z_1,z_2,\cdots,z_r z1,z2,,zr和置换, P ^ \hat{P} P^,使得 [ R 11 , ⋯   , R 1 r ] z 1 ⋯ z r P ^ = [ T , 0 ] [R_{11},\cdots,R_{1r}]z_1\cdots z_r\hat{P}=[T,0] [R11,,R1r]z1zrP^=[T,0],T为上三角矩阵,令

    Z = P z 1 ⋯ z r Z=Pz_1\cdots z_r Z=Pz1zr,则有 Q T A Z = [ T 0 0 0 ] Q^TAZ=\begin{bmatrix}T & 0 \\0 & 0\end{bmatrix} QTAZ=[T000],由此可得 x L S = z [ T − 1 C 0 ] x_{LS}=z\begin{bmatrix}T^{-1}C \\0 \end{bmatrix} xLS=z[T1C0],C为由 Q T b Q^Tb QTb前r个分量构成的r维向量

算法

秩亏最小二乘问题的列主元QR分解法

  • Step1:输入矩阵A,计算 P ( j ) : = j , σ j = A ( : j ) T A ( : j ) P(j):=j,\sigma_j=A(:j)^TA(:j) P(j):=jσj=A(:j)TA(:j),置k=1
  • Step2: 确定r使满足 σ r : max ⁡ k ≤ j ≤ n σ j \sigma_r:\max_{k\le j\le n}\sigma_j σr:maxkjnσj,若 σ r = 0 \sigma_r=0 σr=0停算
  • Step3:交换 P ( r ) P(r) P(r) P ( k ) P(k) P(k) σ r \sigma_r σr σ k \sigma_k σk以及A(:,r)与A(:,k)
  • Step4:确定一个Householder矩阵 H ^ k \hat{H}_k H^k使得 H ^ r A ( k : m , k ) = γ k k e 1 \hat{H}_rA(k:m,k)=\gamma_{kk}e_1 H^rA(k:m,k)=γkke1并计算 [ A , b ] : = d i a g ( I k − 1 , H ^ k − 1 ) [ A , b ] , σ j : = σ j − a k j 2 [A,b]:=diag(I_{k-1},\hat{H}_{k-1})[A,b],\sigma_j:=\sigma_j-a_{kj}^2 [A,b]:=diag(Ik1,H^k1)[A,b],σj:=σjakj2
  • Step5:置k:=k+1,转步骤2

变换技巧
∥ Q T x ∥ 2 2 = ∥ [ α , z ] T ∥ 2 2 = α 2 + ∥ z ∥ 2 2 ∥ z ∥ 2 2 = ∥ x ∥ 2 2 − α 2 ∴ ∥ x ( j ) ∥ 2 2 = ∥ x ( j − 1 ) ∥ 2 2 − α k j 2 \lVert Q^Tx\rVert_2^2=\lVert [\alpha,z]^T\rVert_2^2=\alpha^2+\lVert z\rVert_2^2\\ \lVert z\rVert_2^2=\lVert x\rVert_2^2-\alpha^2\\ \therefore \lVert x^{(j)}\rVert_2^2=\lVert x^{(j-1)}\rVert_2^2-\alpha^2_{kj} QTx22=[α,z]T22=α2+z22z22=x22α2x(j)22=x(j1)22αkj2

二、奇异值分解法

A ∈ R m × n ( m > n ) A\in R^{m\times n}(m>n) ARm×n(m>n)的奇异值分解为 A = U Σ V T A=U\Sigma V^T A=UΣVT, σ = [ Σ r 0 0 0 ] \sigma=\begin{bmatrix}\Sigma_r & 0 \\0 & 0\end{bmatrix} σ=[Σr000],其中 U = [ u 1 , ⋯   , u m ] , V = [ v 1 , ⋯   , v n ] , Σ r = d i a g ( σ 1 , ⋯   , σ r ) U=[u_1,\cdots,u_m],V=[v_1,\cdots,v_n],\Sigma_r=diag(\sigma_1,\cdots,\sigma_r) U=[u1,,um],V=[v1,,vn],Σr=diag(σ1,,σr),则有
x L S = A + b = V [ Σ r − 1 0 0 0 ] U T = ∑ i = 1 r u i T b σ i v i x_{LS}=A^+b=V\begin{bmatrix}\Sigma_r^{-1} & 0 \\0 & 0\end{bmatrix}U^T\\ =\sum^r_{i=1}\dfrac{u_i^Tb}{\sigma_i}v_i xLS=A+b=V[Σr1000]UT=i=1rσiuiTbvi

参考文献

马昌凤 柯艺芬.数值线性代数与算法[M].国防工业出版社:北京,2017:247-279.

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值