雅可比旋转(Jacobi法)求对称矩阵的特征值和特征向量

这篇具有很好参考价值的文章主要介绍了雅可比旋转(Jacobi法)求对称矩阵的特征值和特征向量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

雅可比方法

该方法是求解对称矩阵全部特征值和特征向量的一种方法,它基于以下结论:
任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得
Q T A Q = d i a g ( λ 1 , λ 2 , … , λ n ) Q^TAQ=diag(λ1,λ2,…,λn) QTAQ=diag(λ1,λ2,,λn)

其中λi(i=1,2,…,n)是A的特征值,Q中各列为相应的特征向量。

在正交相似变换下,矩阵元素的平方和不变。 即设 A = ( a i j ) n × n A=(a_{ij})_{n×n} A=(aij)n×n,Q为正交矩阵,记 B = Q T A Q = ( b i j ) n × n B=Q^TAQ=(b_{ij})_{n×n} B=QTAQ=(bij)n×n, 则
∑ i , j = 1 n a i , j 2 = ∑ i , j = 1 n b i , j 2 ∑_{i,j=1}^n a_{i,j}^2=∑_{i,j=1}^n b_{i,j}^2 i,j=1nai,j2=i,j=1nbi,j2

Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角元素化成零并且使得非对角元素的平方和减小反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。

1、矩阵的旋转变换

设A为n阶实对称矩阵,考虑矩阵
V i j ( ϕ ) = [ 1 0 0 0 0 0 c o s ( ϕ ) 0 s i n ( ϕ ) 0 0 0 1 0 0 0 − s i n ( ϕ ) 0 c o s ( ϕ ) 0 0 0 0 0 1 ] V_{ij}(ϕ) =\left[ \begin{matrix} 1 & 0 & 0 & 0 & 0 \\ 0 & cos(ϕ) & 0 & sin(ϕ) &0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & -sin(ϕ) &0& cos(ϕ) &0\\ 0 & 0 & 0 & 0 & 1 \end{matrix} \right] Vij(ϕ)= 100000cos(ϕ)0sin(ϕ)0001000sin(ϕ)0cos(ϕ)000001
易见 V i j ( ϕ ) V_{ij}(ϕ) Vij(ϕ)是正交矩阵,记 A ( 1 ) = V i j A V i j T = ( a i j ( 1 ) ) A^{(1)}=V_{ij}AV_{ij}^T = (a_{ij}^{(1)}) A(1)=VijAVijT=(aij(1)),可得
{ a i i ( 1 ) = a i i c o s 2 ( ϕ ) + a j j s i n 2 ( ϕ ) + a i j s i n ( 2 ϕ ) a j j ( 1 ) = a i i s i n 2 ( ϕ ) + a j j c o s 2 ( ϕ ) − a i j s i n ( 2 ϕ ) a i k ( 1 ) = a k i ( 1 ) = a i k c o s ( ϕ ) + a j k s i n ( ϕ ) a k j ( 1 ) = a j k ( 1 ) = − a k i s i n ( ϕ ) + a k j c o s ( ϕ ) a k l ( 1 ) = a l k ( 1 ) = a k l a i j ( 1 ) = a j i ( 1 ) = ( a j j − a i i ) s i n ( ϕ ) c o s ( ϕ ) + a i j c o s ( 2 ϕ ) \left\{ \begin{array}{c} a_{ii}^{(1)}=a_{ii} cos^2(ϕ)+a_{jj} sin^2(ϕ) + a_{ij}sin(2ϕ)\\ a_{jj}^{(1)}=a_{ii} sin^2(ϕ)+a_{jj} cos^2(ϕ) - a_{ij}sin(2ϕ)\\ a_{ik}^{(1)}=a_{ki}^{(1)} = a_{ik}cos(ϕ)+a_{jk} sin(ϕ) \\ a_{kj}^{(1)}=a_{jk}^{(1)}=-a_{ki} sin(ϕ)+a_{kj} cos(ϕ) \\ a_{kl}^{(1)}=a_{lk}^{(1)}=a_{kl}\\ a_{ij}^{(1)}=a_{ji}^{(1)} =(ajj - aii) sin(ϕ)cos(ϕ)+a_{ij}cos(2ϕ)\\ \end{array}\right. aii(1)=aiicos2(ϕ)+ajjsin2(ϕ)+aijsin(2ϕ)ajj(1)=aiisin2(ϕ)+ajjcos2(ϕ)aijsin(2ϕ)aik(1)=aki(1)=aikcos(ϕ)+ajksin(ϕ)akj(1)=ajk(1)=akisin(ϕ)+akjcos(ϕ)akl(1)=alk(1)=aklaij(1)=aji(1)=(ajjaii)sin(ϕ)cos(ϕ)+aijcos(2ϕ)
a i j ≠ 0 a_{ij}≠0 aij=0,取ϕ使得 t a n ( 2 ϕ ) = 2 a i j ( a i i − a j j ) tan(2ϕ) = \frac{2a_{ij}}{(a_{ii}-a_{jj})} tan(2ϕ)=(aiiajj)2aij,其中 ∣ ϕ ∣ < π 4 |ϕ|<\frac{\pi}{4} ϕ<4π,则有
a i j ( 1 ) = a j i ( 1 ) = 0 a_{ij}^{(1)} = a_{ji}^{(1)} =0 aij(1)=aji(1)=0

推导如下

注意到 B = V i j A B=V_{ij}A B=VijA的第i,j行元素 以及 B V i j T = A BV_{ij}^T = A BVijT=A的第i,j行元素 为
{ b i k = a i k c o s ( ϕ ) + a j k s i n ( ϕ ) b j k = − a i k s i n ( ϕ ) + a j k c o s ( ϕ ) a k i ( 1 ) = b k i c o s ( ϕ ) + b k j s i n ( ϕ ) a k j ( 1 ) = − b k i s i n ( ϕ ) + b k j c o s ( ϕ ) \left\{ \begin{array}{c} b_{ik}=a_{ik} cos(ϕ)+a_{jk} sin(ϕ)\\ b_{jk}=-a_{ik} sin(ϕ)+a_{jk} cos(ϕ)\\ \\ a_{ki}^{(1)}=b_{ki} cos(ϕ)+b_{kj} sin(ϕ) \\ a_{kj}^{(1)}=-b_{ki} sin(ϕ)+b_{kj} cos(ϕ) \end{array}\right. bik=aikcos(ϕ)+ajksin(ϕ)bjk=aiksin(ϕ)+ajkcos(ϕ)aki(1)=bkicos(ϕ)+bkjsin(ϕ)akj(1)=bkisin(ϕ)+bkjcos(ϕ)

分别令 k = i , j k=i,j k=ij,可求得 a i i ( 1 ) , a i j ( 1 ) , a j j ( 1 ) , a j i ( 1 ) a_{ii}^{(1)},a_{ij}^{(1)},a_{jj}^{(1)},a_{ji}^{(1)} aii(1),aij(1),ajj(1),aji(1),其中有
{ a i i ( 1 ) = b i i c o s ( ϕ ) + b i j s i n ( ϕ ) a j j ( 1 ) = − b j i s i n ( ϕ ) + b j j c o s ( ϕ ) \left\{ \begin{array}{c} a_{ii}^{(1)}=b_{ii} cos(ϕ)+b_{ij} sin(ϕ) \\ a_{jj}^{(1)}=-b_{ji} sin(ϕ)+b_{jj} cos(ϕ) \end{array}\right. {aii(1)=biicos(ϕ)+bijsin(ϕ)ajj(1)=bjisin(ϕ)+bjjcos(ϕ)
b b b带入 a ( 1 ) a^{(1)} a(1),
{ a i i ( 1 ) = ( a i i c o s ( ϕ ) + a j i s i n ( ϕ ) ) ⋅ c o s ( ϕ ) + ( a i j c o s ( ϕ ) + a j j s i n ( ϕ ) ) ⋅ s i n ( ϕ ) a j j ( 1 ) = − ( − a i i s i n ( ϕ ) + a j i c o s ( ϕ ) ) ⋅ s i n ( ϕ ) + ( − a i j s i n ( ϕ ) + a j j c o s ( ϕ ) ) ⋅ c o s ( ϕ ) \left\{ \begin{array}{c} a_{ii}^{(1)}=(a_{ii} cos(ϕ)+a_{ji} sin(ϕ))\cdot cos(ϕ)+(a_{ij} cos(ϕ)+a_{jj} sin(ϕ) )\cdot sin(ϕ) \\ a_{jj}^{(1)}=-(-a_{ii} sin(ϕ)+a_{ji} cos(ϕ))\cdot sin(ϕ)+(-a_{ij} sin(ϕ)+a_{jj} cos(ϕ))\cdot cos(ϕ) \end{array}\right. {aii(1)=(aiicos(ϕ)+ajisin(ϕ))cos(ϕ)+(aijcos(ϕ)+ajjsin(ϕ))sin(ϕ)ajj(1)=(aiisin(ϕ)+ajicos(ϕ))sin(ϕ)+(aijsin(ϕ)+ajjcos(ϕ))cos(ϕ)
基于对称矩阵具有 a j i = a i j a_{ji} = a_{ij} aji=aij化简可得
{ a i i ( 1 ) = a i i c o s 2 ( ϕ ) + a j j s i n 2 ( ϕ ) + a i j s i n ( 2 ϕ ) a j j ( 1 ) = a i i s i n 2 ( ϕ ) + a j j c o s 2 ( ϕ ) − a i j s i n ( 2 ϕ ) (1) \left\{ \begin{array}{c} a_{ii}^{(1)}=a_{ii} cos^2(ϕ)+a_{jj} sin^2(ϕ) + a_{ij}sin(2ϕ)\\ a_{jj}^{(1)}=a_{ii} sin^2(ϕ)+a_{jj} cos^2(ϕ) - a_{ij}sin(2ϕ)\\ \end{array}\right. \tag{1} {aii(1)=aiicos2(ϕ)+ajjsin2(ϕ)+aijsin(2ϕ)ajj(1)=aiisin2(ϕ)+ajjcos2(ϕ)aijsin(2ϕ)(1)
基于对称性,有 a i j ( 1 ) = a j i ( 1 ) a_{ij}^{(1)}=a_{ji}^{(1)} aij(1)=aji(1),可求得:
a j i ( 1 ) = a i j ( 1 ) = − b i i s i n ( ϕ ) + b i j c o s ( ϕ ) a_{ji}^{(1)}=a_{ij}^{(1)}=-b_{ii} sin(ϕ)+b_{ij} cos(ϕ) aji(1)=aij(1)=biisin(ϕ)+bijcos(ϕ)
.
b i k b_{ik} bik带入,可得
a j i ( 1 ) = − ( a i i c o s ( ϕ ) + a j i s i n ( ϕ ) ) ⋅ s i n ( ϕ ) + ( a i j c o s ( ϕ ) + a j j s i n ( ϕ ) ) ⋅ c o s ( ϕ ) a_{ji}^{(1)}=-(a_{ii} cos(ϕ)+a_{ji} sin(ϕ))\cdot sin(ϕ)+ (a_{ij} cos(ϕ)+a_{jj} sin(ϕ))\cdot cos(ϕ) aji(1)=(aiicos(ϕ)+ajisin(ϕ))sin(ϕ)+(aijcos(ϕ)+ajjsin(ϕ))cos(ϕ)
.
基于对称矩阵具有 a j i = a i j a_{ji} = a_{ij} aji=aij化简可得
a i j ( 1 ) = a j i ( 1 ) = ( a j j − a i i ) s i n ( ϕ ) c o s ( ϕ ) + a i j c o s ( 2 ϕ ) (2) a_{ij}^{(1)}=a_{ji}^{(1)} =(ajj - aii) sin(ϕ)cos(ϕ)+a_{ij}cos(2ϕ) \tag{2} aij(1)=aji(1)=(ajjaii)sin(ϕ)cos(ϕ)+aijcos(2ϕ)(2)
.
a i j ≠ 0 a_{ij}≠0 aij=0,取ϕ使得 t a n ( 2 ϕ ) = 2 a i j ( a i i − a j j ) tan(2ϕ) = \frac{2a_{ij}}{(a_{ii}-a_{jj})} tan(2ϕ)=(aiiajj)2aij,其中 ∣ 2 ϕ ∣ < π 2 |2ϕ|<\frac{\pi}{2} ∣2ϕ<2π,则
t a n ( 2 ϕ ) = c ⋅ s i n ( 2 ϕ ) c ⋅ c o s ( 2 ϕ ) tan(2ϕ) = \frac{c \cdot sin(2ϕ)}{c \cdot cos(2ϕ)} tan(2ϕ)=ccos(2ϕ)csin(2ϕ) ,可得
{ 2 a i j = c ⋅ s i n ( 2 ϕ ) a i i − a j j = c ⋅ c o s ( 2 ϕ ) \left\{ \begin{array}{c} 2a_{ij}=c \cdot sin(2ϕ)\\ a_{ii}-a_{jj}=c \cdot cos(2ϕ)\\ \end{array}\right. {2aij=csin(2ϕ)aiiajj=ccos(2ϕ)
则有 a i j ( 1 ) = a j i ( 1 ) = c ⋅ c o s ( 2 ϕ ) ⋅ ( 0.5 ⋅ s i n ( 2 ϕ ) ) − 0.5 c ⋅ s i n ( 2 ϕ ) c o s ( 2 ϕ ) a_{ij}^{(1)} = a_{ji}^{(1)} =c \cdot cos(2ϕ) \cdot (0.5\cdot sin(2ϕ) )- 0.5c \cdot sin(2ϕ)cos(2ϕ) aij(1)=aji(1)=ccos(2ϕ)(0.5sin(2ϕ))0.5csin(2ϕ)cos(2ϕ),化简可得
a i j ( 1 ) = a j i ( 1 ) = 0 (3) a_{ij}^{(1)} = a_{ji}^{(1)} = 0 \tag{3} aij(1)=aji(1)=0(3)

k ≠ i , j k≠i,j k=i,j时,仅有 v k k = 1 v_{kk}=1 vkk=1,故有
{ b k i = v i i ⋅ a i k + 0 = a i k b k j = v j j ⋅ a j k + 0 = a j k \left\{ \begin{array}{c} b_{ki}=v_{ii} \cdot a_{ik} + 0 = a_{ik}\\ b_{kj}=v_{jj} \cdot a_{jk} + 0 = a_{jk}\\ \end{array}\right. {bki=viiaik+0=aikbkj=vjjajk+0=ajk
b b b带入 a ( 1 ) a^{(1)} a(1),且基于矩阵对称性,可得
{ a i k ( 1 ) = a k i ( 1 ) = a i k c o s ( ϕ ) + a j k s i n ( ϕ ) a k j ( 1 ) = a j k ( 1 ) = − a k i s i n ( ϕ ) + a k j c o s ( ϕ ) (4) \left\{ \begin{array}{c} a_{ik}^{(1)}=a_{ki}^{(1)} = a_{ik}cos(ϕ)+a_{jk} sin(ϕ) \\ a_{kj}^{(1)}=a_{jk}^{(1)}=-a_{ki} sin(ϕ)+a_{kj} cos(ϕ) \\ \end{array}\right. \tag{4} {aik(1)=aki(1)=aikcos(ϕ)+ajksin(ϕ)akj(1)=ajk(1)=akisin(ϕ)+akjcos(ϕ)(4)
且当 l ≠ i , j l≠i,j l=i,j时, V T V^T VT中仅有 v k k = 1 v_{kk}=1 vkk=1,故有 a k l ( 1 ) = v l l ⋅ a k l + 0 a_{kl}^{(1)}= v_{ll} \cdot a_{kl} + 0 akl(1)=vllakl+0 , 可得
a k l ( 1 ) = a l k ( 1 ) = a k l (5) a_{kl}^{(1)}=a_{lk}^{(1)}=a_{kl} \tag{5} akl(1)=alk(1)=akl(5)

A ( 1 ) A^{(1)} A(1)重复上述过程,得到 A ( 2 ) A^{(2)} A(2)…,可以证明输入这种变换不一定使得矩阵中非对角元素中零元素的个数单调增加,但可以保证非对角元素的平方和递减。

以A和 A ( 1 ) A^{(1)} A(1)为例,设 E ( A ) = ∑ k ≠ l a k l 2 E(A)=∑_{k≠l}a_{kl}^2 E(A)=k=lakl2 E ( A ) ( 1 ) = ∑ k ≠ l ( a k l ( 1 ) ) 2 E(A)^{(1)}=∑_{k≠l}(a_{kl}^{(1)})^2 E(A)(1)=k=lakl(1)2,即
.
E ( A ) ( 1 ) = ∑ k ≠ l 且 k , l ≠ i , j ( a k l ( 1 ) ) 2 + 2 ∑ k ≠ l 且 k , l = i , j ( ( a i k ( 1 ) ) 2 + ( a j k ( 1 ) ) 2 ) E(A)^{(1)}=∑_{k≠l 且 k,l ≠ i,j}(a_{kl}^{(1)})^2 + 2∑_{k≠l 且 k,l = i,j}((a_{ik}^{(1)})^2 + (a_{jk}^{(1)})^2) E(A)(1)=k=lk,l=i,jakl(1)2+2k=lk,l=i,j(aik(1)2+ajk(1)2)
由 (5)、(3)二式可得
E ( A ) ( 1 ) = ∑ k ≠ l 且 k , l ≠ i , j a k l 2 + 0 E(A)^{(1)}= ∑_{k≠l 且 k,l ≠ i,j}a_{kl}^2 + 0 E(A)(1)=k=lk,l=i,jakl2+0
E ( A ) E(A) E(A)
E ( A ) = ∑ k ≠ l 且 k , l ≠ i , j a k l 2 + 2 ∑ k ≠ l 且 k , l = i , j ( a i k 2 + a j k 2 )   = ∑ k ≠ l 且 k , l ≠ i , j a k l 2 + 2 a i j 2 E(A)=∑_{k≠l 且 k,l ≠ i,j}a_{kl}^2 + 2∑_{k≠l 且 k,l = i,j}(a_{ik}^2 + a_{jk}^2)\\ \ \\ = ∑_{k≠l 且 k,l ≠ i,j}a_{kl}^2 + 2a_{ij}^2 E(A)=k=lk,l=i,jakl2+2k=lk,l=i,j(aik2+ajk2) =k=lk,l=i,jakl2+2aij2
由于(3)式条件为 a i j ≠ 0 a_{ij}≠0 aij=0,故在上述旋转变换下, E ( A ) ( 1 ) = E ( A ) − 2 a i j 2 < E ( A ) E(A)^{(1)} = E(A) - 2a_{ij}^2 < E(A) E(A)(1)=E(A)2aij2E(A)非对角元素平方和严格单调递减,由(1)式可知,对角元素平方和单调增加,当然,由旋转特性(旋转后向量长度不变)也可以得到结论。

2、Jacobi方法

通过一系列旋转变换将 A A A变成 A ( k + 1 ) A^{(k+1)} A(k+1),求得A的全部特征值和特征向量,该方法被称为Jacobi方法。计算过程如下

①令k=0, A ( k ) = A A^{(k)}=A A(k)=A
②求整数 i , j i,j i,j,使得 { a i , j ( k ) } = m a x ∣ a l , m ( k ) ∣ \{a_{i,j}^{(k)}\}=max |a_{l,m}^{(k)}| {ai,j(k)}=maxal,m(k),其中 l ≠ m l≠m l=m
③计算旋转矩阵
o = c o t ( 2 ϕ ) = ( a i i ( k ) − a j j ( k ) ) 2 a i j ( k ) o = cot(2ϕ) = \frac{(a_{ii}^{(k)}-a_{jj}^{(k)})}{2a_{ij}^{(k)}} o=cot(2ϕ)=2aij(k)(aii(k)ajj(k))
t = t a n ( ϕ ) = s i g n ( o ) ⋅ ( o 2 + 1 − ∣ o ∣ ) t = tan(ϕ) = sign(o) \cdot (\sqrt{o^2+1} - |o|) t=tan(ϕ)=sign(o)(o2+1 o)
c = c o s ( ϕ ) = 1 1 + t 2 c = cos(ϕ) =\frac{1}{\sqrt{1+t^2}} c=cos(ϕ)=1+t2 1
s = s i n ( ϕ ) = t ⋅ c s = sin(ϕ) = t \cdot c s=sin(ϕ)=tc
V ( k ) = V i , j ( ϕ ) V^{(k)} = V_{i,j}(ϕ) V(k)=Vi,j(ϕ)

④计算 A ( k ) A^{(k)} A(k)

a l , m ( k + 1 ) = a m , l ( k + 1 ) = a l m ( k ) a_{l,m}^{(k+1)}=a_{m,l}^{(k+1)} = a_{lm}^{(k)} al,m(k+1)=am,l(k+1)=alm(k),其中 l , m ≠ i , j l,m ≠ i,j l,m=i,j
a i , j ( k + 1 ) = a j , i ( k + 1 ) = 0 a_{i,j}^{(k+1)}=a_{j,i}^{(k+1)} = 0 ai,j(k+1)=aj,i(k+1)=0

a i , i ( k + 1 ) = c 2 ⋅ a i , i ( k ) + s 2 ⋅ a j , j ( k ) + 2 s ⋅ c ⋅ a i , j ( k ) a_{i,i}^{(k+1)}=c^2 \cdot a_{i,i}^{(k)} + s^2 \cdot a_{j,j}^{(k)}+ 2s\cdot c\cdot a_{i,j}^{(k)} ai,i(k+1)=c2ai,i(k)+s2aj,j(k)+2scai,j(k)
a j , j ( k + 1 ) = s 2 ⋅ a i , i ( k ) + c 2 ⋅ a j , j ( k ) − 2 s ⋅ c ⋅ a i , j ( k ) a_{j,j}^{(k+1)}= s^2 \cdot a_{i,i}^{(k)}+c^2 \cdot a_{j,j}^{(k)} - 2s\cdot c\cdot a_{i,j}^{(k)} aj,j(k+1)=s2ai,i(k)+c2aj,j(k)2scai,j(k)

再计算 a i , l ( k + 1 ) 、 a j , l ( k + 1 ) a_{i,l}^{(k+1)}、a_{j,l}^{(k+1)} ai,l(k+1)aj,l(k+1),其中 l ≠ i , j l ≠ i,j l=i,j

a i , l ( k + 1 ) = a l , i ( k + 1 ) = c ⋅ a i , l ( k ) + s ⋅ a j , l ( k ) a_{i,l}^{(k+1)}= a_{l,i}^{(k+1)} = c\cdot a_{i,l}^{(k)}+s\cdot a_{j,l}^{(k)} ai,l(k+1)=al,i(k+1)=cai,l(k)+saj,l(k)
a j , l ( k + 1 ) = a l , j ( k + 1 ) = − s ⋅ a i , l ( k ) + c ⋅ a j , l ( k ) a_{j,l}^{(k+1)}= a_{l,j}^{(k+1)} = -s\cdot a_{i,l}^{(k)}+c\cdot a_{j,l}^{(k)} aj,l(k+1)=al,j(k+1)=sai,l(k)+caj,l(k)

⑤计算 E ( A ) ( k + 1 ) E(A)^{(k+1)} E(A)(k+1)

E ( A ) ( k + 11 ) = ∑ l ≠ m ( a l , m ( k + 1 ) ) 2 E(A)^{(k+11)}=∑_{l≠m}(a_{l,m}^{(k+1)})^2 E(A)(k+11)=l=mal,m(k+1)2

⑥若 E ( A ) ( k + 11 ) < ε E(A)^{(k+11)} < ε E(A)(k+11)<ε,则退出。可得特征值和特征向量

补充一点,在步骤③中,运用三角函数知识可由 c o t ( 2 ϕ ) cot(2ϕ) cot(2ϕ)求得 t a n ( ϕ ) tan(ϕ) tan(ϕ)
c o t ( 2 ϕ ) = 1 t a n ( 2 ϕ )   ∵ t a n ( 2 ϕ ) = 2 t a n ( ϕ ) 1 − t a n 2 ( ϕ )   ∴ c o t ( 2 ϕ ) = 1 − t a n 2 ( ϕ ) 2 t a n ( ϕ ) cot(2ϕ)=\frac{1}{tan (2ϕ)} \\ \ \\ ∵tan(2ϕ)=\frac{2 tan(ϕ)}{1-tan^2(ϕ)}\\ \ \\ ∴cot(2ϕ)=\frac{1-tan^2(ϕ)}{2 tan(ϕ)} cot(2ϕ)=tan(2ϕ)1 tan(2ϕ)=1tan2(ϕ)2tan(ϕ) cot(2ϕ)=2tan(ϕ)1tan2(ϕ)
.
o = c o t ( 2 ϕ ) o=cot(2ϕ) o=cot(2ϕ), t = t a n ( ϕ ) t=tan(ϕ) t=tan(ϕ), 则有 t 2 + 2 o ⋅ t − 1 = 0 t^2 +2 o\cdot t - 1=0 t2+2ot1=0
.
运用二次求根公式 x = − b ± b 2 − 4 a c 2 a x=\frac{-b±\sqrt{b^2 - 4ac}}{2a} x=2ab±b24ac ,当 Δ = b 2 − 4 a c > 0 时 \Delta=b^2 - 4ac>0时 Δ=b24ac>0可得
.
t = − 2 o ± 4 o 2 + 4 2 = − o ± o 2 + 1 t=\frac{-2o ±\sqrt{4o^2 + 4}}{2}=-o ±\sqrt{o^2 + 1} t=22o±4o2+4 =o±o2+1
.
由于 o 2 + 1 > ∣ o ∣ \sqrt{o^2 + 1}>|o| o2+1 >o,故 t = − o ± ∣ o + δ ∣ t=-o ± |o+\delta| t=o±o+δ,在区间 [ − π / 4 , π / 4 ] [-\pi/4,\pi/4] [π/4,π/4]上,

假设 ϕ > 0 ϕ>0 ϕ>0 t = − o − ∣ o + δ ∣ < 0 t=-o - |o+\delta|<0 t=oo+δ<0与其 t a n ( ϕ ) tan(ϕ) tan(ϕ)值矛盾,故取 t = − o + o 2 + 1 t=-o+\sqrt{o^2 + 1} t=o+o2+1

假设 ϕ < 0 ϕ<0 ϕ<0 t = − o + ∣ o + δ ∣ > 0 t=-o + |o+\delta|>0 t=o+o+δ>0与其 t a n ( ϕ ) tan(ϕ) tan(ϕ)值矛盾,故取 t = − o − o 2 + 1 t=-o - \sqrt{o^2 + 1} t=oo2+1

综上,有:
o > 0 o>0 o>0时,取 t = − o + o 2 + 1 t=-o + \sqrt{o^2 + 1} t=o+o2+1 ,等价于 t = − ∣ o ∣ + o 2 + 1 t=-|o| + \sqrt{o^2 + 1} t=o+o2+1
o < 0 o<0 o<0时,取 t = − o − o 2 + 1 t=-o - \sqrt{o^2 + 1} t=oo2+1 ,等价于 t = − ( − ∣ o ∣ ) − o 2 + 1 t=-(-|o|) - \sqrt{o^2 + 1} t=(o)o2+1
设sign为符号函数,则有
t = s i g n ( o ) ⋅ ( − ∣ o ∣ + o 2 + 1 ) t=sign(o)\cdot(-|o| + \sqrt{o^2 + 1}) t=sign(o)(o+o2+1 )
.
.
若ϕ很小,则o就很大,可能导致 o 2 o^2 o2在计算机上溢出,可取极限分析
t = l i m o − > + ∞ o 2 + 1 − o t=lim_{o->+∞} \sqrt{o^2 +1}-o t=limo>+o2+1 o

采用 o 2 + 1 + o \sqrt{o^2+1}+o o2+1 +o进行分子有理化,得到
( o 2 + 1 − o ) ⋅ ( o 2 + 1 + o ) o 2 + 1 + o = 1 o 2 + 1 + o \frac{(\sqrt{o^2 +1}-o)\cdot (\sqrt{o^2 +1}+o)}{\sqrt{o^2 +1}+o}=\frac{1}{\sqrt{o^2 +1}+o} o2+1 +o(o2+1 o)(o2+1 +o)=o2+1 +o1

故当ϕ很小时,有 t a n ( ϕ ) = l i m o − > + ∞ o 2 + 1 − o = 1 2 o tan(ϕ)=lim_{o->+∞} \sqrt{o^2 +1}-o = \frac{1}{2o} tan(ϕ)=limo>+o2+1 o=2o1
.
t a n ( ϕ ) = s i n ( ϕ ) c o s ( ϕ ) tan(ϕ)=\frac{sin(ϕ)}{cos(ϕ)} tan(ϕ)=cos(ϕ)sin(ϕ),可得 s i n ( ϕ ) = t a n ( ϕ ) ⋅ c o s ( ϕ ) sin(ϕ)=tan(ϕ)\cdot cos(ϕ) sin(ϕ)=tan(ϕ)cos(ϕ)
.
1 + t a n 2 ϕ = 1 c o s 2 ϕ 1+tan²ϕ=\frac{1}{cos²ϕ} 1+tan2ϕ=cos2ϕ1三角函数关系,可推得 c o s ( ϕ ) = 1 t a n 2 ( ϕ ) + 1 cos(ϕ)=\frac{1}{\sqrt{tan^2(ϕ)+1}} cos(ϕ)=tan2(ϕ)+1 1

更多参考雅可比矩阵(Jacobi)文章来源地址https://www.toymoban.com/news/detail-816724.html

到了这里,关于雅可比旋转(Jacobi法)求对称矩阵的特征值和特征向量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 特征值和特征向量的解析解法--带有重复特征值的矩阵

    当一个矩阵具有重复的特征值时,意味着存在多个线性无关的特征向量对应于相同的特征值。这种情况下,我们称矩阵具有重复特征值。 考虑一个n×n的矩阵A,假设它有一个重复的特征值λ,即λ是特征值方程det(A-λI) = 0的多重根。我们需要找到与特征值λ相关的特征向量。 首

    2024年02月05日
    浏览(47)
  • MATLAB矩阵的特征值与特征向量

    设A是n阶方阵,如果存在常数λ和n维非零列向量x,使得等式Ax = λx 成立,则称λ为A的特征值,x是对应特征值λ的特征向量。 在MATLAB中,计算矩阵的特征值与特征向量的函数是eig,常用的调用格式有两种: E = eig(A):求矩阵A的全部特征向量值,构成向量E。 [X,D] = eig(A):

    2024年02月11日
    浏览(41)
  • 5.1 矩阵的特征值和特征向量

    学习特征值和特征向量的定义和性质,我会采取以下方法: 1. 学习线性代数基础知识:特征值和特征向量是线性代数中的重要概念,需要先掌握线性代数的基础知识,例如向量、矩阵、行列式、逆矩阵、转置、内积、外积等基本概念。 2. 学习特征值和特征向量的定义:特征

    2024年02月02日
    浏览(54)
  • 线性代数中矩阵的特征值与特征向量

    作者:禅与计算机程序设计艺术 在线性代数中,如果一个$ntimes n$的方阵$A$满足如下两个条件之一: $A$存在实数特征值,即$exists xneq 0:Ax=kx$,其中$kin mathbb{R}$; $lambda_{max}(A)neq 0$($lambda_{max}(A)$表示$A$的最大特征值),且$||x_{lambda_{max}(A)}||=sqrt{frac{lambda_{max}(A)}{lambda_{

    2024年02月08日
    浏览(53)
  • 线性代数(8):特征值、特征向量和相似矩阵

            有矩阵 A 为 n 阶矩阵,Ax = λx ( λ 为一个实数,x为 n 维非零列向量 ),则称 λ 为方阵 A 的特征值, x 为特征向量; 1.2.1 公式         求特征值:使 | A - λE | = 0,其解的 λ 值即为矩阵 A 的特征值;         求特征向量: 使 ( A - λE )x = 0,设 x 为与 A 具有

    2024年02月11日
    浏览(51)
  • 线性代数(五) | 矩阵对角化 特征值 特征向量

    矩阵实际上是一种变换,是一种旋转伸缩变换(方阵) 不是方阵的话还有可能是一种升维和降维的变换 直观理解可以看系列超赞视频线性代数-哔哩哔哩_Bilibili 比如A= ( 1 2 2 1 ) begin{pmatrix}12\\\\21end{pmatrix} ( 1 2 ​ 2 1 ​ ) x= ( 1 2 ) begin{pmatrix}1\\\\2end{pmatrix} ( 1 2 ​ ) 我们给x左乘A实际

    2024年02月04日
    浏览(64)
  • 【证明】矩阵不同特征值对应的特征向量线性无关

    定理 1 设 λ 1 , λ 2 , ⋯   , λ m lambda_1,lambda_2,cdots,lambda_m λ 1 ​ , λ 2 ​ , ⋯ , λ m ​ 是方阵 A boldsymbol{A} A 的 m m m 个特征值, p 1 , p 2 , ⋯   , p m boldsymbol{p}_1,boldsymbol{p}_2,cdots,boldsymbol{p}_m p 1 ​ , p 2 ​ , ⋯ , p m ​ 依次是与之对应的特征向量,如果 λ 1 , λ 2 , ⋯   , λ

    2024年02月09日
    浏览(46)
  • 从浅到深研究矩阵的特征值、特征向量

    本篇特征值、特征向量笔记来源于MIT线性代数课程。 对于方阵而言,现在要找一些特殊的数字,即特征值,和特殊的向量,即特征向量。 给定矩阵A,矩阵A作用在向量上,得到向量Ax(A的作用,作用在一个向量上,这其实就类似于函数,输入向量x,得到向量Ax) 在这些向量

    2024年02月12日
    浏览(48)
  • 矩阵的谱分解 (详细推导步骤~~~特征值分解特征向量

           所谓矩阵的分解,就是将一个矩阵写成结构比较简单的或性质比较熟悉的另一些矩阵的乘积。矩阵的分解方法有很多种,包括三角分解、QR(正交三角)分解、最大秩分解、奇异值分解和谱分解,所有这些分解在数值代数和最优化问题的解法中都扮演着十分重要的角

    2024年02月05日
    浏览(57)
  • Python中的矩阵对角化与特征值、特征向量

    Python中的矩阵对角化与特征值、特征向量 在数学和物理学中,矩阵对角化是一种重要的矩阵变换方法。Python提供了许多工具和库来实现矩阵对角化操作,并能够计算矩阵的特征值和特征向量。本文将针对Python中的矩阵对角化、特征值和特征向量的相关概念进行详细的介绍。

    2024年02月11日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包