目录
文章目录
参考资料
矩阵的分解
矩阵的分解
是矩阵分析的一个重要工具,如求矩阵的特征值和特征向量
、求矩阵的逆
以及矩阵的秩
等都要利用到矩阵分解。
Cholesky分解
Cholesky分解的使用
Cholesky分解
是把一个对称正定矩阵
A
\mathbf{A}
A 分解成为一个上三角矩阵
R
\mathbf{R}
R 和其转置矩阵
的乘积:
A
=
R
′
R
\mathbf{A}=\mathbf{R}^{\prime} \mathbf{R}
A=R′R
从理论的角度来看,并不是所有的对称矩阵
都可以进行Cholesky分解,需要进行 Cholesky分解
的矩阵必须是正定
的。
[!NOTE]
对称正定矩阵
即可进行Cholesky分解
在 MATLAB 中提供了 chol函数
实现矩阵的Cholesky分解
,其调用格式如下。
-
R
=
chol
(
A
)
\mathbf{R}=\operatorname{chol}(\mathbf{A})
R=chol(A) :
- 其中
A
\mathbf{A}
A 为
对称正定矩阵
, R \mathbf{R} R 为上三角矩阵,使得 X = R ′ R \mathbf{X}=\mathbf{R}^{\prime} \mathbf{R} X=R′R 。 - 如果矩阵 A \mathbf{A} A是非正定矩阵,则使用该调用格式会返回错误信息。
- 其中
A
\mathbf{A}
A 为
-
[
R
,
p
]
=
chol
(
A
)
[\mathbf{R}, p]=\operatorname{chol}(\mathbf{A})
[R,p]=chol(A):
- 当
A
\mathbf{A}
A 为
正定矩阵
,返回矩阵 R \mathbf{R} R 是上三角矩阵
,满足等式 X = R ′ R \mathbf{X}=\mathbf{R}^{\prime} \mathbf{R} X=R′R 同时返回参数 p = 0 \mathrm{p}=0 p=0 - 当
A
\mathbf{A}
A
不是正定矩阵
时,返回参数 p 是正整数, R \mathbf{R} R 是三角矩阵
,且矩阵阶数
为p-1,并且满足等式 A ( 1 : p − 1 , 1 : p − 1 ) = R ′ R \mathbf{A}\left(1: \mathbf{p}-1,1: p-1)=\mathbf{R}^{\prime} \mathbf{R}\right. A(1:p−1,1:p−1)=R′R .
- 当
A
\mathbf{A}
A 为
利用pascal函数
创建对称正定矩阵
并进行Cholesky分解
:
%矩阵分解-Cholesky分解
clear all
n=5
X=pascal(n) %创建对称矩阵
R=chol(X) %对对称正定矩阵进行正定分解
X(n,n)=X(n,n)-1 %修改矩阵为非正定矩阵
[R1,p]=chol(X) %对非正定矩阵进行三角分解
Chlolesky分解求解线性方程组
使用 Cholesky分解
求解得到的线性方程组的数值解和使用左除法
求解线性方程组的数值解相一致
。其数学原理为:
对于线性方程组
A
x
=
b
\mathbf{A x}=\mathbf{b}
Ax=b ,其中
A
\mathbf{A}
A 为对称正定矩阵
,其
A
=
R
T
R
\mathbf{A}=\mathbf{R}^{\mathrm{T}} \mathbf{R}
A=RTR ,则根据上面的定义,线性方程组
可以转换为
R
T
R
x
=
b
\mathbf{R}^{\mathrm{T}} \mathbf{R} \mathbf{x}=\mathbf{b}
RTRx=b ,该方程组的数值为:
x
=
(
R
T
R
)
−
1
b
=
R
\
(
R
T
\
b
)
\mathbf{x}=(\mathbf{R}^{T}\mathbf{R})^{-1}\mathbf{b}=\mathbf{R} \backslash\left(\mathbf{R}^{\mathrm{T}} \backslash \mathbf{b}\right)
x=(RTR)−1b=R\(RT\b)
使用 Cholesky 分解求解线性方程组:
{
x
1
+
x
2
+
x
3
+
x
4
=
1
x
1
+
2
x
2
+
3
x
3
+
4
x
4
=
4
x
1
+
3
x
2
+
6
x
3
+
10
x
4
=
6
x
1
+
4
x
2
+
10
x
3
+
20
x
4
=
13
\left\{\begin{array}{l} x_1+x_2+x_3+x_4=1 \\ x_1+2 x_2+3 x_3+4 x_4=4 \\ x_1+3 x_2+6 x_3+10 x_4=6 \\ x_1+4 x_2+10 x_3+20 x_4=13 \end{array}\right.
⎩
⎨
⎧x1+x2+x3+x4=1x1+2x2+3x3+4x4=4x1+3x2+6x3+10x4=6x1+4x2+10x3+20x4=13
可以看到系数矩阵
是对称正定的,故可直接使用cholesky分解
求解:
%使用cholesky分解求解系数矩阵为对称正定矩阵的线性方程组:
A=[1,1,1,1;1,2,3,4;1,3,6,10;1,4,10,20]
b=[1,4,6,13]'
x=A\b %使用左除法求解线性方程组
R=chol(A) %Cholesky分解
Rt=transpose(R)
x1=R\(Rt\b) %x1=R\(b/Rt)=(b/Rt)/R
[!NOTE]
算数左除
\
与算数右除/
: MATLAB 的除法运算
对于简单数值而言
,算术左除与算术右除是不同的。算术右除与传统的除法相同
,即 a / b = a ÷ b a / b=a \div b a/b=a÷b ;而算术左除与传统的除法相反
,即 a \ b = b ÷ a a \backslash b=b \div a a\b=b÷a 。
对矩阵而言
,算术右除相当于求解线性方程组;算术左除与传统的高斯消元法解线性方程或者用最小二乘法解欠定方程(超定方程)相似。点左除与点右除与上面的点运算相似,是变量对应于元素进行除法运算。
LU分解
LU分解的使用
LU 分解可用于求行列式
,求逆矩阵
,求解线性方程组
等。设
A
\mathbf{A}
A 是
M
×
N
\mathbf{M} \times \mathbf{N}
M×N 矩阵,如果
A
\mathbf{A}
A(或
A
\mathbf{A}
A 的某个排列
P
A
,
P
\mathbf{P A}, ~ \mathbf{P}
PA, P 为置换矩阵
)可分解
A
=
L
U
\mathbf{A}=\mathbf{L U}
A=LU(或
P
A
=
L
U
\mathbf{P A}=\mathbf{L U}
PA=LU ),其中
L
\mathbf{L}
L 为
M
\mathbf{M}
M下三角矩阵
,
U
\mathbf{U}
U 为
M
×
N
\mathbf{M} \times \mathbf{N}
M×N 阶梯形
,则上式称
A
\mathbf{A}
A 的 LU分解
,Cholesky分解
可看做 LU分解
的特列。
[!NOTE]
LU分解
将一个 M × N \mathbf{M} \times \mathbf{N} M×N 矩阵的 A \mathbf{A} A,分解为 M \mathbf{M} M下三角矩阵
的 L \mathbf{L} L和 M × N \mathbf{M} \times \mathbf{N} M×N阶梯形矩阵
的 U \mathbf{U} U
在 MATLAB 中提供了 lu函数
实现 LU分解
,其调用格式如下。
- [L,U]=lu(A):
- 对矩阵
A
\mathbf{A}
A 进行
L
U
L U
LU 分解,其中
L
\mathbf{L}
L 为
单位下三角矩阵
或其变换形式, U \mathbf{U} U 为上三角矩阵
。
- 对矩阵
A
\mathbf{A}
A 进行
L
U
L U
LU 分解,其中
L
\mathbf{L}
L 为
- [L,U,P]=lu(A):
- 对矩阵
A
\mathbf{A}
A 进行
L
U
P
L UP
LUP 分解,其中
L
\mathbf{L}
L 为
单位下三角矩阵
, U \mathbf{U} U 为上三角矩阵
, P \mathbf{P} P 为置换矩阵
,满足 L U = P A \mathbf{L U}=\mathbf{P A} LU=PA 。
- 对矩阵
A
\mathbf{A}
A 进行
L
U
P
L UP
LUP 分解,其中
L
\mathbf{L}
L 为
- Y=lu(A):
- 其中
A
\mathbf{A}
A 为
任意方阵
,把上三角矩阵
和下三角矩阵
合并在矩阵 Y \mathbf{Y} Y 中给出,满足 Y = L + U − I \mathbf{Y}=\mathbf{L}+\mathbf{U}-\mathbf{I} Y=L+U−I ,该调用格式将损失置换矩阵
P \mathbf{P} P 的信息。
- 其中
A
\mathbf{A}
A 为
- [L,U,P,Q]=lu(A):
- 其中
L
\mathbf{L}
L 为
单位下三角矩阵
, U \mathbf{U} U 为上三角矩阵
, P \mathbf{P} P 与 Q \mathbf{Q} Q 为为置换矩阵
,满足 P A Q = L U \mathbf{P}\mathbf{A} \mathbf{Q}=\mathbf{L} \mathbf{U} PAQ=LU
- 其中
L
\mathbf{L}
L 为
- [L,U,P,Q,R]=lu(A):
- 其中
L
\mathbf{L}
L 为
单位下三角矩阵
, U \mathbf{U} U 为上三角矩阵
, P \mathbf{P} P 与 Q \mathbf{Q} Q 为为置换矩阵
, R \mathbf{R} R 为对角矩阵
,满足 P ( R \ A ) Q = L U \mathbf{P}(\mathbf{R} \backslash \mathbf{A}) \mathbf{Q}=\mathbf{L} \mathbf{U} P(R\A)Q=LU 。
- 其中
L
\mathbf{L}
L 为
利用lu函数
对矩阵进行LU分解
:
clear all;
A=[1,2,3;4,5,6;7,8,0]
[L1,U]=lu(A) %LU分解
[L2,U,P]=lu(A) %LUP分解
LU分解求解线性方程组
利用LU求解线性方程组就没有QR求解的要求高了,其不需要系数矩阵是对称正定的。
{ 5.8 x 1 − x 2 − x 3 + 4.6 x 4 = 21.3 7 x 1 − 8 x 2 + x 3 − 30.3 x 4 = − 15.7 9.5 x 1 + 2 x 2 + 5 x 3 − x 4 = 16.6 6 x 1 − x 2 + 12.9 x 3 + 10 x 4 = 7.9 \left\{\begin{array}{l}5.8 x_1-x_2-x_3+4.6 x_4=21.3 \\ 7 x_1-8 x_2+x_3-30.3 x_4=-15.7 \\ 9.5 x_1+2 x_2+5 x_3-x_4=16.6 \\ 6 x_1-x_2+12.9 x_3+10 x_4=7.9\end{array}\right. ⎩ ⎨ ⎧5.8x1−x2−x3+4.6x4=21.37x1−8x2+x3−30.3x4=−15.79.5x1+2x2+5x3−x4=16.66x1−x2+12.9x3+10x4=7.9
利用LU分解求解上述线性方程组:
%矩阵分解-LU分解
clear all
A=[5.8,-1,-1,4.6;7,-8,1,-30.3;9.5,2,5,-1;6,-1,12.9,10]
b=[21.3,-15.7,16.6,7.9]'
det(A) %先看一下A是不是可逆的
x=A\b %左除法求解
[L,U]=lu(A) %LU分解求解
y1=L\b
x1=U\y1 %用LU分解求线性方程组的解
[L,U,P]=lu(A) %lu分解
y2=L\b
x2=U\y2
[!NOTE]
此处的运算得到的是Px
QR分解
QR分解
在解决最小二乘问题
,特征值计算等方面有十分重要的应用。设
A
\mathbf{A}
A 为
M
×
N
M \times N
M×N 矩阵,如果存在
M
×
N
M \times N
M×N 酉矩阵
Q
\mathbf{Q}
Q(即
Q
T
Q
=
Q
Q
T
=
I
\mathbf{Q}^{\mathrm{T}} \mathbf{Q}=\mathbf{Q} \mathbf{Q}^{\mathrm{T}}=\mathbf{I}
QTQ=QQT=I )和
M
×
N
M \times N
M×N 阶梯形矩阵
R
\mathbf{R}
R ,使得
A
=
Q
R
\mathbf{A}=\mathbf{Q R}
A=QR ,则称此分解为
A
\mathbf{A}
A 的 QR分解
。
[!NOTE]
将任意矩阵 M × N M\times N M×N的 A \mathbf{A} A,分解成 M × N M\times N M×N的
酉矩阵
Q \mathbf{Q} Q和 M × N M\times N M×N的阶梯形矩阵
R \mathbf{R} R
在 MATLAB 中提供了qr函数
实现 QR分解
,其调用格式如下。
- [Q, R]=qr(A) :
- 求得
正交矩阵
Q \mathbf{Q} Q 和上三角矩阵
R , Q \mathbf{R}, \mathbf{Q} R,Q 和 R \mathbf{R} R 满足 A = Q R \mathbf{A}=\mathbf{Q R} A=QR 。
- 求得
- [Q,R]=qr(A,0):
- 产生矩阵 A \mathbf{A} A 的"经济大小"分解。
- [Q,R,E]=qr(A):
- 求得
正交矩阵
Q \mathbf{Q} Q ,上三角矩阵
R \mathbf{R} R 和单位矩阵的变换形式矩阵
E , R \mathbf{E}, \mathbf{R} E,R 的对角线元素按大小降序
排列,满足 A E = Q R \mathbf{A E}=\mathbf{Q R} AE=QR 。
- 求得
- [Q,R,E]=qr(A,0):
-
E
\mathbf{E}
E的使用使得
R
\mathbf{R}
R 的
对角线元素降序
,且 Q R = A ( : , E ) \mathbf{Q} \mathbf{R}=\mathbf{A}(:, \mathbf{E}) QR=A(:,E) 。
-
E
\mathbf{E}
E的使用使得
R
\mathbf{R}
R 的
- R=qr(A)
稀疏矩阵
A \mathbf{A} A 的分解,只产生一个上三角矩阵
R \mathbf{R} R ,满足 R T R = A T A \mathbf{R}^{\mathrm{T}} \mathbf{R}=\mathbf{A}^{\mathrm{T}} \mathbf{A} RTR=ATA ,这种方法计算 A T A \mathbf{A}^{\mathrm{T}} \mathbf{A} ATA 时减少了内在数字信息的损耗。
- [C,R]=qr(A,B,0):
-
[
C
,
R
]
=
q
r
(
A
,
B
,
0
)
:
[\mathrm{C}, \mathrm{R}]=\mathrm{qr}(\mathrm{A}, \mathrm{B}, 0):
[C,R]=qr(A,B,0): 针对
稀疏矩阵最小二乘问题
的经济型分解。
-
[
C
,
R
]
=
q
r
(
A
,
B
,
0
)
:
[\mathrm{C}, \mathrm{R}]=\mathrm{qr}(\mathrm{A}, \mathrm{B}, 0):
[C,R]=qr(A,B,0): 针对
- [Q,R]=qrdelete(Q,R,j):
- 返回将矩阵 A \mathbf{A} A 的第 j 列移去后的新矩阵的 Q R Q R QR 分解。
- [Q,R]=qrinsert(Q,R,j,x);
- 在矩阵 A A A 中第 j j j 列插入向量 x x x 后的新矩阵进行 Q R Q R QR 分解。
- 如果 j j j大于 A \mathbf{A} A 的列数,表示在 A \mathbf{A} A 的最后插入列 x \mathbf{x} x 。
对矩阵
A
=
(
1
2
3
4
5
6
1
0
1
0
1
1
)
\mathbf{A}=\left(\begin{array}{lll}1 & 2 & 3 \\ 4 & 5 & 6 \\ 1 & 0 & 1 \\ 0 & 1 & 1\end{array}\right)
A=
141025013611
进行 QR分解
:
%QR分解
A=[1,2,3;4,5,6;1,0,1;0,1,1]
[Q,R]=qr(A)
对上例中的矩阵
A
\mathbf{A}
A,去掉其第2行以及插入第2行,求新矩阵的QR分解
:
clear all
A=[1,2,3;4,5,6;1,0,1;0,1,1]
[Q,R]=qr(A) %qr分解
[Q1,R1]=qrdelete(Q,R,2,'row') %去掉A的第2行后的新矩阵进行QR分解
Q1*R1 %验证去掉第2行的矩阵
clear all
A=[1,2,3;4,5,6;1,0,1;0,1,1]
[Q,R]=qr(A) %qr分解
[Q2,R2]=qrinsert(Q,R,2,1:3,'row') %插入第2行后(1,2,3)的新矩阵进行QR分解
Q2*R2 %验证插入第2行的矩阵
SVD分解
设
A
\mathbf{A}
A 是
M
×
N
\mathrm{M} \times \mathrm{N}
M×N 矩阵,
A
H
A
\mathbf{A}^{\mathrm{H}} \mathbf{A}
AHA 的特征值
为
λ
1
⩾
λ
2
⩾
⋯
⩾
λ
r
⩾
λ
r
+
1
=
⋯
=
λ
n
=
0
\lambda_1 \geqslant \lambda_2 \geqslant \cdots \geqslant \lambda_{\mathrm{r}} \geqslant \lambda_{\mathrm{r}+1}=\cdots=\lambda_{\mathrm{n}}=0
λ1⩾λ2⩾⋯⩾λr⩾λr+1=⋯=λn=0 ,则称:
σ
i
=
λ
i
(
i
=
1
,
2
,
⋯
,
r
)
\sigma_i=\sqrt{\lambda_i}(i=1,2, \cdots, r)
σi=λi(i=1,2,⋯,r)
为矩阵
A
\mathbf{A}
A 的奇异值
,
r
r
r 为
A
\mathbf{A}
A 的秩
。
存在
M
M
M 阶酉矩阵
U
\mathbf{U}
U 和
N
N
N 阶酉矩阵
V
\mathbf{V}
V,使得:
A
=
U
(
∑
0
r
×
(
N
−
r
)
0
(
M
−
r
)
×
r
0
(
M
−
r
)
×
(
N
−
r
)
)
V
\mathbf{A}=\mathbf{U}\left(\begin{array}{cc}\sum & 0_{\mathrm{r} \times(\mathrm{N}-\mathrm{r})} \\ 0_{(M-r) \times r} & 0_{(M-r) \times(\mathrm{N}-\mathrm{r})}\end{array}\right) \mathbf{V}
A=U(∑0(M−r)×r0r×(N−r)0(M−r)×(N−r))V
其中
Σ
=
(
σ
1
σ
2
⋱
σ
r
)
\Sigma=\left(\begin{array}{cccc}\sigma_1 & & & \\ & \sigma_2 & & \\ & & \ddots & \\ & & & \sigma_r\end{array}\right)
Σ=
σ1σ2⋱σr
,上式称
A
\mathbf{A}
A 的 SVD分解(奇异值分解)
。
在 MATLAB 中提供了svd函数
实现奇异值分解
,其调用格式如下:
- s=svd(X):
- 返回向量
s
\mathbf{s}
s 包含矩阵
X
\mathbf{X}
X 分解所得到的
全部奇异值向量
。
- 返回向量
s
\mathbf{s}
s 包含矩阵
X
\mathbf{X}
X 分解所得到的
- [U,S,V]=svd(X):
- 返回一个与
X
\mathbf{X}
X 同大小的
对角矩阵
S \mathbf{S} S 和两个酉矩阵
U \mathbf{U} U 与 V \mathbf{V} V ,且满足 X = \mathbf{X}= X= U S V ′ \mathbf{U} \mathbf{S} \mathbf{V}^{\prime} USV′ 。
- 返回一个与
X
\mathbf{X}
X 同大小的
- [U,S,V]=svd(X,0):
- 得到一个
经济大小
的分解。 - 如果 m > n \mathrm{m}>\mathrm{n} m>n 维矩阵 X \mathbf{X} X 中, m > n \mathrm{m}>\mathrm{n} m>n 只能计算出矩阵 U \mathbf{U} U 的前 n n n 列,矩阵 S \mathbf{S} S 的大小为 n × n n \times n n×n 。
- 得到一个
- [U,S,V]=svd(X,‘econ’):
- 参数
econ
也采用经济分解
的方式。 - 当 m > n \mathrm{m}>\mathrm{n} m>n 时,与 svd ( X , 0 ) \operatorname{svd}(\mathrm{X}, 0) svd(X,0)相同;
- 当 m < n \mathrm{m}<\mathrm{n} m<n 时,函数仅计算 V 的前 m 列, S 为 m 阶方阵。
- 参数
求矩阵
A
=
(
1
2
3
4
5
6
7
8
)
\mathbf{A}=\left(\begin{array}{ll}1 & 2 \\ 3 & 4 \\ 5 & 6 \\ 7 & 8\end{array}\right)
A=
13572468
的奇异值
和 SVD分解
:
%矩阵的SVD分解
clear all
A=[1,2;3,4;4,6;7,8]
s=svd(A) %求A的奇异值
[U,S,V]=svd(A) %求A的奇异值分解
[U,S,V]=svd(A,0) %对A进行经济型奇异分解
Schur分解
对任意方阵
A
\mathbf{A}
A ,其
S
c
h
u
r
\mathbf{S c h u r}
Schur分解为:
A
=
U
S
U
H
\mathbf{A}=\mathbf{U S U}^{\mathrm{H}}
A=USUH
其中
U
\mathbf{U}
U 为标准正交矩阵
(即
U
U
H
=
I
\mathbf{U U}^{\mathrm{H}}=\mathbf{I}
UUH=I ),
S
\mathbf{S}
S 为上三角矩阵
,
S
\mathbf{S}
S 对角线
上的元素为
A
\mathbf{A}
A 的特征值
。
在 MATLAB 中提供了schur函数
实现 Schur 分解,其调用格式如下:
- T=schur(A):
- 返回
Schur
\operatorname{Schur}
Schur 矩阵
T
\mathbf{T}
T ,如果
A
\mathbf{A}
A 有
复特征值
,则相应的对角元以 2 × 2 2 \times 2 2×2 的块矩阵形式给出。
- 返回
Schur
\operatorname{Schur}
Schur 矩阵
T
\mathbf{T}
T ,如果
A
\mathbf{A}
A 有
- T=schur(A,flag):
- 如果 A \mathbf{A} A 有复特征值,则 flag=complex;否则 flag=real。
- [U,T]=schur(A,…):
- 返回
酉矩阵
U \mathbf{U} U 和Schur矩阵
T \mathbf{T} T
- 返回
求矩阵
A
=
(
1
2
3
2
3
1
1
3
0
)
\mathbf{A}=\left(\begin{array}{lll}1 & 2 & 3 \\ 2 & 3 & 1 \\ 1 & 3 & 0\end{array}\right)
A=
121233310
的 Schur分解
及其 Schur复分解
。
clear all
A=[1,2,3;2,3,1;1,3,0]
[U,T]=schur(A) %矩阵A的schur分解
[CU,CT]=schur(A,'complex') %矩阵A的schur复分解
Hessenberg分解
如果矩阵
H
\mathbf{H}
H 的第一子对角线
下元素都是 0 ,则
H
\mathbf{H}
H(或其转置形式)称为上(下) Hessenberg 矩阵
。这种矩阵在零元素所占比例及分布
上都接近三角矩阵
,虽然其在特征值等性质方面不如三角矩阵那样简单,但在实际应用中,应用相似变换
将一个矩阵化为 Hessenberg矩阵
是可行的
,而化为三角矩阵
不易实现;而且通过化为 Hessenberg 矩阵
来处理矩阵计算问题能够大大节省计算量
,因此在工程计算中,Hessenberg分解
也是常用的工具之一。
在MATLAB中提供了hess函数
实现了Hessenberg分解
:
- H=hess(A):
- 返回矩阵 A \mathbf{A} A 上的 Hessenberg 形式。
- [P,H]=hess(A):
- 返回一个
上Hessenberg矩阵
H \mathbf{H} H 及一个酉矩阵
P \mathbf{P} P ,满足 A = P H P \mathbf{A}=\mathbf{P H P} A=PHP 且 P ∗ P = I \mathbf{P}^* \mathbf{P}=\mathbf{I} P∗P=I 。
- 返回一个
- [AA,BB,Q,Z]=hess(A,B):
- 对于方阵
A
,
B
\mathbf{A}, ~ \mathbf{B}
A, B ,返回
上Hessenberg矩阵
A A \mathbf{A A} AA ,上三角矩阵
B B \mathbf{B B} BB 及酉矩阵
Q , Z \mathbf{Q}, ~ \mathbf{Z} Q, Z - 满足 Q A Z = A A \mathbf{Q A Z}=\mathbf{A A} QAZ=AA 且 Q B Z = B B \mathbf{Q B Z}=\mathbf{B B} QBZ=BB 。
- 对于方阵
A
,
B
\mathbf{A}, ~ \mathbf{B}
A, B ,返回
将矩阵
A
=
(
−
149
−
50
−
154
537
180
546
−
27
−
9
−
25
)
\mathbf{A}=\left(\begin{array}{ccc}-149 & -50 & -154 \\ 537 & 180 & 546 \\ -27 & -9 & -25\end{array}\right)
A=
−149537−27−50180−9−154546−25
化为 Hessenberg形式
并求出变换矩阵
P
\mathbf{P}
P 。
clear all;
A=[-149,-50,-154;537,180,546;-27,-9,-25]
[P,H]=hess(A)