精华内容
下载资源
问答
  • 矩阵的特征值与特征向量计算matlab实现,幂、反幂和位移反幂、雅可比(Jacobi)方法、豪斯霍尔德(Householder)方法、实对称矩阵的三对角化、QR方法、根位移QR方法计算实对称矩阵 的特征值、广义特征值问题...
  • 特征值和特征向量是指对于矩阵A有,Av=lv,v为特征向量,l为特征值。就是求解一个高次方程:det(A-lI)=0代码如下:unit Matrix;interfaceuses Math, Windows, SysUtils, Variants, Classes;...

    特征值和特征向量是指对于矩阵A有,Av=lv,v为特征向量,l为特征值。就是求解一个高次方程:det(A-lI)=0

    代码如下:

    unit Matrix;

    interface

    uses
      Math, Windows, SysUtils, Variants, Classes;

    Type

    TSingleExtendedArray =array of extended;

    TDoubleExtendedArray=array of array of extended;

    TDoubleLongintArray=array of array of longint;

    procedure CalculateEigenVV(var EigenLambda: TSingleExtendedArray; var EigenVector: TDoubleExtendedArray; C: TDoubleLongintArray; N: longint; eps: extended);

    implementation

    procedure CalculateEigenVV(var EigenLambda: TSingleExtendedArray; var EigenVector: TDoubleExtendedArray; C: TDoubleLongintArray; N: longint; eps: extended);
    var
      i, j, fi, fj, p, q, TL, k: longint;
      Change: boolean;
      x, y, cn, sn, Omega, fm, Acurrency: Extended;
      Ja: TDoubleExtendedArray;
    begin
      setlength(Ja, N, N);
      setlength(EigenVector, N, N);
      setlength(EigenLambda, N);

      for i := 0 to N - 1 do begin
        EigenVector[i, i] := 1.0; EigenLambda[i] := 0;
        for j := 0 to N - 1 do
          if i <> j then EigenVector[i, j] := 0;
      end;

      Acurrency := 0;
      for i := 0 to N - 1 do
        for j := 0 to N - 1 do begin
          Ja[i, j] := C[i, j];
          Acurrency := Acurrency + Ja[i, j] * Ja[i, j];
        end;
      Acurrency := sqrt(2 * Acurrency);
      Change := true;
      repeat
        if not Change then Acurrency := Acurrency * 0.5;
        Change := false;
        for p := 0 to N - 1 do begin
          for q := p + 1 to N - 1 do
            if Abs(Ja[p, q]) > Acurrency then begin
              x := -Ja[p, q]; y := (Ja[q, q] - Ja[p, p]) / 2;
              if (x <> 0) or (y <> 0) then Omega := x / sqrt(x * x + y * y) else Omega := 1;
              if (y < 0.0) then Omega := -Omega;
              sn := 1.0 + sqrt(1.0 - Omega * Omega);
              sn := Omega / sqrt(2.0 * sn);
              cn := sqrt(1.0 - sn * sn);

              fm := Ja[p, p];
              Ja[p, p] := fm * cn * cn + Ja[q, q] * sn * sn + Ja[p, q] * Omega;
              Ja[q, q] := fm * sn * sn + Ja[q, q] * cn * cn - Ja[p, q] * Omega;
              Ja[p, q] := 0; Ja[q, p] := 0;

              for i := 0 to N - 1 do
                if (i <> p) and (i <> q) then begin
                  fm := Ja[p, i];
                  Ja[p, i] := fm * cn + Ja[q, i] * sn;
                  Ja[q, i] := -fm * sn + Ja[q, i] * cn;
                end;

              for i := 0 to N - 1 do
                if (i <> p) and (i <> q) then begin
                  fm := Ja[i, p];
                  Ja[i, p] := fm * cn + Ja[i, q] * sn;
                  Ja[i, q] := -fm * sn + Ja[i, q] * cn;
                end;

              for i := 0 to N - 1 do begin
                fm := EigenVector[p, i];
                EigenVector[p, i] := fm * cn + EigenVector[q, i] * sn;
                EigenVector[q, i] := -fm * sn + EigenVector[q, i] * cn;
              end;

              for i := 0 to N - 1 do
                EigenLambda[i] := Ja[i, i];

              Change := true; break;
            end;
          if Change then break;
        end;
      until Acurrency <= eps;

      setlength(Ja, 0);
    end;

    end.

    展开全文
  • 文章目录 power method法求对称矩阵的特征值 高斯消元来一个LU分解 奇异值分解一道题 检测做对不对! power method法求对称矩阵的特征值 clear A=[1 1 3 4; 1 5 2 -1; 3 2 7 4; 4 -1 4 6]; x0 = [1;0;0;0]...

    power method法求对称矩阵的主特征值

    在这里插入图片描述

    clear    
    A=[1 1 3 4; 1 5 2 -1; 3 2 7 4; 4 -1 4 6];
    x0 = [1;0;0;0];
    for i = 1:10
        disp(x0)
        disp((A*x0)'* x0)
        x1 = (A*x0)/norm(A*x0);
        x0 =x1;
    end
    

    高斯消元法来一个LU分解

    • 用高斯直接可以得到Doolittle分解
    >> L=[1 0 0 0 ;-3 1 0 0; 2 4 1 0; 0 6 -7 1]
    
    L =
    
         1     0     0     0
        -3     1     0     0
         2     4     1     0
         0     6    -7     1
    
    >> U =[2 -2 4 -4 ; 0 -3 -9 6;0 0 1 8 ; 0 0 0 4]
    
    U =
    
         2    -2     4    -4
         0    -3    -9     6
         0     0     1     8
         0     0     0     4
    
    >> L*U
    
    ans =
    
         2    -2     4    -4
        -6     3   -21    18
         4   -16   -27    24
         0   -18   -61   -16
    
    >> 
    
    • 还需要变一下才能得到Crout分解
    >> L=[2 0 0 0 ; -6 -3 0 0 ; 4 -12 1 0;0 -18 -7 4]
    
    L =
    
         2     0     0     0
        -6    -3     0     0
         4   -12     1     0
         0   -18    -7     4
    
    >> U=[1 -1 2 -2; 0 1 3 -2; 0 0 1 8; 0 0 0 1]
    
    U =
    
         1    -1     2    -2
         0     1     3    -2
         0     0     1     8
         0     0     0     1
    
    >> L*U
    
    ans =
    
         2    -2     4    -4
        -6     3   -21    18
         4   -16   -27    24
         0   -18   -61   -16
    

    奇异值分解的一道题

    A=UΣVTA=U\Sigma V^T

    • 我先用
    A=[36    -6     6;2    13    22;22    38   -13; 4    26    44]
    [X,B] =eig(A'*A)
    
    • 算出了VV的每一列!
      • 隐藏在X变量的每一列
    >> [X,B] =eig(A'*A)
    
    X =
    
       -0.6667   -0.6667    0.3333
        0.6667   -0.3333    0.6667
       -0.3333    0.6667    0.6667
    
    
    B =
    
       1.0e+03 *
    
        1.1250         0         0
             0    2.0250         0
             0         0    3.6000
    
    

    • 然后求出了U的三列!
    • 必须用这种方法去求!
    • 记得标准化哦!
    >> A*X(:,1)
    
    ans =
    
      -30.0000
       -0.0000
       15.0000
       -0.0000
    
    >> A*X(:,2)
    
    ans =
    
      -18.0000
        9.0000
      -36.0000
       18.0000
    
    >> A*X(:,3)
    
    ans =
    
       12.0000
       24.0000
       24.0000
       48.0000
    

    • 最后求得U的0对应的特征向量!
    [X,B] =eig(A*A')
    
    A =
    
        36    -6     6
         2    13    22
        22    38   -13
         4    26    44
    
    
    X =
    
       -0.0000    0.8944    0.4000   -0.2000
       -0.8944   -0.0000   -0.2000   -0.4000
       -0.0000   -0.4472    0.8000   -0.4000
        0.4472         0   -0.4000   -0.8000
    
    
    B =
    
       1.0e+03 *
    
       -0.0000         0         0         0
             0    1.1250         0         0
             0         0    2.0250         0
             0         0         0    3.6000
    

    检测做的对不对!

        U=[1/5 -2/5    -2/sqrt(5)    0; 
           2/5  1/5      0        2/sqrt(5); 
           2/5  -4/5    1/sqrt(5)    0; 
           4/5   2/5       0    -1/sqrt(5)]
    
      
       V =[1/3 -2/3  -2/3; 
           2/3 -1/3  2/3; 
           2/3 2/3   -1/3]
        sigma = [60 0 0 ;0 45 0  ; 0 0 sqrt(1125) ; 0 0 0 ]
        
        U*sigma*V'
    
    展开全文
  • java版求矩阵特征值

    热门讨论 2009-04-01 22:10:04
    雅克比迭代式求实对称矩阵的特征值特征向量
  • 思想:对于实对称矩阵 ,存在正交矩阵 使得 是对角矩阵,对角线元素就是 的特征值第 列就是对应 特征向量.如何找正交矩阵?以二阶矩阵为例 考虑二次型 希望通过坐标旋转将 变为标准型 .取 那么 .一般地,对于...

    9.4Jacobi方法

    适用:求实正定对称矩阵得全部特征值和特征向量.

    思想:对于实对称矩阵

    ,存在正交矩阵
    使得

    是对角矩阵,对角线元素就是
    的特征值,
    的第
    列就是对应
    的特征向量.

    如何找正交矩阵?

    以二阶矩阵为例

    考虑二次型

    希望通过坐标旋转将

    变为标准型
    .

    那么

    .

    一般地,对于

    阶矩阵, 把它看做许多2阶矩阵,找到某个非对角元素中的
    ,然后用正交变换把
    变为0,变换矩阵如下

    6e4da5371d7cd4e1d2996a1eec6eeadf.png

    我们是否能够每次都将其中两个

    变成0最终得到对角矩阵?(
    需要分析

    困难点:当我们一次将其中两个非对角元素变为0后,下一次将其它两个非对角元素变为0时,前一次的非对角元素可能会变为非0.

    但是,我们发现非对角元素平方和

    有如下递推关系

    也就是说非对角元素平方和不断减少,最终趋于0!

    古典Jacobi方法:每次选取非对角元素最大的,利用正交变换将其变为0.

    此时

    是非对角元素中最大的,有

    那么

    所以

    Jacobi方法小结

    • 求实对称正定矩阵全部特征值和特征向量.
    • 不断正交变换取极限得过程.
    • 古典Jacobi方法每次选取模最大非对角元素,费时间;也可以按某种次序,比如从上到下从左到右.
    • 精度高,特征向量正交性好.
    • 不适合大规模稀疏矩阵,因为正交变换后会变得不稀疏.

    第十章、非线性方程求根

    10.1二分法

    定理基础:连续函数函数值异号的两点之间至少有一零点.

    步骤:选取区间中点,如果就是根则结束,否则看中点与左右哪个函数值异号,就与哪个一起作为新的区间,重复过程直到区间达到精度或找到根.

    注意:考虑舍入误差,判断中点是否为根时不用

    ,而用

    下图例子说明,用

    作为停止条件有时误差会很大

    eb87e4a7a6868c8cef1628e9b40ba9bd.png

    误差估计

    给定精度

    ,则二分次数有如下关系式

    二分法小结:

    • 最简单,易于实现
    • 对函数性质要求不高,仅要求连续和函数值异号
    • 不能求偶数重根和复根,收敛速度与
      的等比数列相同,不算快

    因此,二分法在应用时不单独使用,而用来为其他方法提供近似初始根.

    10.2迭代法

    思路:将

    改写为等价形式(不唯一)
    ,利用初始值及迭代公式

    得到一串收敛于方程根的序列.

    自然想到迭代法的结束条件:

    ,有无道理呢?

    定理 设函数

    满足下面条件

    时,
    .(保证迭代能进行下去)

    利普西斯条件,且利普西斯常数满足
    .

    在区间
    有唯一解,并且迭代
    收敛,有如下误差估计式

    证明

    解的存在性:

    构造辅助函数

    ,它是连续的,根据第一个条件有

    根据连续函数零点存在定理可知有解.

    解的唯一性:

    假设

    ,利用利普西斯条件得

    ,所以解唯一.

    收敛性:

    利用利普西斯条件

    归纳得

    因为利普西斯常数小于1,所以

    .

    误差估计

    与线性方程组迭代解法证明类似,当时是矩阵的某个范数小于1,这里是利普西斯常数小于1.

    展开全文
  • 雅可比用于对称矩阵,QR用于非对称...QR分解法求特征向量及其特征值c++程序源于feitian_feiwu资源,本资源增加了复特征值对应特征向量计算。 vs2013下调试通过,复特征向量不唯一,程序里提供了在线验证网址,
  • 特征值、特征向量、特征矩阵5.1 特征值、特征向量5.1.1 特征值、特征向量的定义与概念5.1.2 特征方程、特征多项式、特征矩阵的定义与概念5.1.3 特征值的性质5.1.4 特征值、特征向量的求法5.2 相似矩阵矩阵的相似对...

    5. 特征值、特征向量、特征矩阵

    本文重点在知识归纳,不帮助理解

    5.1 特征值、特征向量

    5.1.1 特征值、特征向量的定义与概念

    AAnn 阶方阵,如果对于数 λ\lambda,存在非零向量 α\bm\alpha,使得

    Aα=λα  (α0) A\bm\alpha = \lambda\bm\alpha~~(\bm\alpha \ne \bm{0})

    成立,则称 λ\lambdaAA特征值α\bm\alphaAA 对应于 λ\lambda特征向量

    5.1.2 特征方程、特征多项式、特征矩阵的定义与概念

    Aα=λαA\bm\alpha = \lambda\bm\alpha(λEA)α=0(\lambda E - A)\bm\alpha = \bm{0}α0\bm\alpha \ne \bm{0},故

    λEA=λa11a12a1na21λa22a2nan1an2λann=0 |\lambda E - A| = \begin{vmatrix} \lambda-a_{11} & -a_{12} & \dots & -a_{1n} \\ -a_{21} & \lambda - a_{22} & \dots & -a_{2n} \\ \dots \\ -a_{n1} & -a_{n2} & \dots & \lambda - a_{nn} \\ \end{vmatrix} = 0

    称为 AA特征方程,是未知元素 λ\lambdann 次方程,在复数域内有 nn 个根

    • λEA|\lambda E - A| 称为 AA特征多项式
    • 矩阵 λEA\lambda E - A 称为特征矩阵

    5.1.3 特征值的性质

    A=[aij]n×nA = [a_{ij}]_{n \times n}λii=1,2,,n)\lambda_i(i = 1,2,\dots,n)AA 的特征值,则

    i=1nλi=i=1naiii=1nλi=A \begin{aligned} \sum_{i=1}^n\lambda_i & = \sum_{i=1}^na_{ii} \\ \prod_{i=1}^n\lambda_i & = |A| \end{aligned}

    5.1.4 特征值、特征向量的求法

    A=[aij]n×nA = [a_{ij}]_{n \times n}

    方法一

    1. 通过 λEA=0|\lambda E - A| = 0 求出 AA 的全部特征值 λi\lambda_i
    2. 通过齐次线性方程组 (λiEA)x=0(\lambda_i\bm{E}-A)\bm{x} = \bm{0} 求出 AA 的对应于特征值 λi\lambda_i 的特征向量,其中基础解系即是 AA 的对应于 λi\lambda_i 的线性无关特征向量,通解即是 AA 的对应于 λi\lambda_i 的全体特征向量(除 0\bm{0} 向量)

    方法二

    利用定义,凡满足关系式 Aα=λαA\bm\alpha = \lambda\bm\alpha 的数 λ\lambda 即是 AA 的特征值

    • α (α0)\bm\alpha~(\bm\alpha \ne \bm{0}) 即是 AA 对应于 λ\lambda 的特征向量。一般用于抽象矩阵,或元素为文字的矩阵

    5.2 相似矩阵、矩阵的相似对角化

    5.2.1 相似矩阵

    A,BA, B 都是 nn 阶矩阵,存在可逆矩阵 PP,使得 P1AP=BP^{-1}AP = B,则称 AA 相似于 BB,记为 ABA \sim B

    • 如果 AΛA \sim \Lambda,其中 Λ\Lambda 是对角阵,则称 AA 可相似对角化Λ\LambdaAA 的相似标准型

    5.2.2 矩阵可相似对角化的充分必要条件

    定理 1nn 阶矩阵 AA 可对角化 \Leftrightarrow AAnn 个线性无关的特征向量

    定理 2λ1λ2\lambda_1 \ne \lambda_2AA 的特征值 \Rightarrow AA 的对应于 λ1,λ2\lambda_1, \lambda_2 的特征向量 α1,α2\bm\alpha_1,\bm\alpha_2 线性无关

    • 推论 2.1nn 阶矩阵 AAnn 个互不相同的特征值 λ1λ2λnA\lambda_1 \ne \lambda_2 \ne \dots \ne \lambda_n \Rightarrow Ann 个线性无关特征向量 α1,α2,,αnA\bm{\alpha_1, \alpha_2, \dots, \alpha_n} \Leftrightarrow A 可相似于对角阵

    定理 3λi\lambda_inn 阶矩阵 AArir_i 重特征值,则其对应的线性无关特征向量个数小于等于 rir_i

    • 推论 3.1nn 阶矩阵 AA 可相似对角化 A\Leftrightarrow A 的每一个 rir_i 重特征值对应的线性无关特征向量个数等于该特征值的重数 rir_i

    5.2.3 相似矩阵的性质

    1. 反身性,AAA \sim A
    2. 对称性,ABBAA \sim B \Rightarrow B \sim A
    3. 传递性,AB,BCACA \sim B, B \sim C \Rightarrow A \sim C

    5.2.4 矩阵相似的必要条件

    AB{λEA=λEBr(A)=r(B)A,B A=B=i=1nλii=1naii=i=1nbii=i=1nλitr(A)=tr(B)=tr(Λ) A \sim B \Rightarrow \left\{ \begin{aligned} & |\lambda E-A| = |\lambda E - B| \\ & r(A) = r(B) \\ & A,B~有相同的特征值 \\ & |A| = |B| = \prod_{i=1}^{n}\lambda_i \\ & \sum_{i=1}^na_{ii} = \sum_{i=1}^nb_{ii} = \sum_{i=1}^n\lambda_{i} \\ & tr(A) = tr(B) = tr(\Lambda) \end{aligned} \right.

    5.3 实对称矩阵的相似对角化

    5.3.1 实对称阵

    元素 aija_{ij} 都是实数的对称矩阵称为实对称矩阵

    • aija_{ij} 都是实数 \Leftrightarrow aij=aija_{ij} = \overline{a_{ij}}aij\overline{a_{ij}}aija_{ij} 的共轭)
    • A=[aij]\overline{A} = [\overline{a_{ij}}],则 AA 是实对称阵 \Leftrightarrow AT=AA^T = AA=A\overline{A} = A

    5.3.2 实对称阵的特征值、特征向量及相似对角化

    定理 1:实对称矩阵的特征值全部都是实数
    定理 2:实对称矩阵的属于不同特征值对应的特征向量相互正交
    定理 3:实对称矩阵必相似于对角阵

    • 即存在可逆阵 PP,使得 P1AP=ΛP^{-1}AP = \Lambda
    • 且存在正交阵 QQ,使得 Q1AQ=QTAQ=ΛQ^{-1}AQ = Q^TAQ = \Lambda

    5.3.3 实对称矩阵正交相似于对角阵的步骤

    1. 解特征方程 λEA=0|\lambda E - A| = 0,求出全部特征值:λ1,λ2,,λr\lambda_1,\lambda_2,\dots,\lambda_r (均为实数);(若求得的是特征值的取值范围,则 λ\lambda 的取值范围应限于实数,去除复数)
    2. (λiEA)x=0(\lambda_i E - A)\bm{x} = \bm{0} 的基础解系 αi1,αi2,,αiki,  i=1,2,,r\bm{\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{ik_i}},~~i = 1,2,\dots,r,即是 AA 的属于特征值 λi\lambda_i 的线性无关的特征向量。若 λi\lambda_ikik_i 重根,则必有 kik_i 个线性无关的特征向量。(若求解方程 (λiEA)x=0(\lambda_iE - A)\bm{x}=\bm{0} 的基础解系时,使 αi1,αi2,,αiki\bm{\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{ik_i}} 能相互正交更好,可免去下一步将 αi1,αi2,,αiki\bm{\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{ik_i}} 正交化的工作)
    3. 将每个属于 λi\lambda_i 的特征向量 αi1,αi2,,αiki\bm{\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{ik_i}} 正交化。(不同特征值对应的特征向量已相互正交)正交后的向量组记为 βi1,βi2,,βiki\bm{\beta_{i1}, \beta_{i2}, \dots, \beta_{ik_i}}
    4. 将全部特征向量单位化,得到标准正交向量组记为

    β11,β12,,β1ki,β21,β22,,β2ki,,βr1,βr2,,βrki \bm{\beta_{11}^\circ, \beta_{12}^\circ, \dots, \beta_{1k_i}^\circ, \beta_{21}^\circ, \beta_{22}^\circ, \dots, \beta_{2k_i}^\circ, \dots, \beta_{r1}^\circ, \beta_{r2}^\circ, \dots, \beta_{rk_i}^\circ}

    1. nn 个单位正交特征向量合并成正交矩阵,记为

    Q=[β11,β12,,β1ki,β21,β22,,β2ki,,βr1,βr2,,βrki] Q = [\bm{\beta_{11}^\circ, \beta_{12}^\circ, \dots, \beta_{1k_i}^\circ, \beta_{21}^\circ, \beta_{22}^\circ, \dots, \beta_{2k_i}^\circ, \dots, \beta_{r1}^\circ, \beta_{r2}^\circ, \dots, \beta_{rk_i}^\circ}]

    QQ 即为所求的正交矩阵,且有

    Q1AQ=QTAQ=Λ Q_{-1}AQ = Q^TAQ = \Lambda

    其中 Λ\LambdaAA 的全部特征值组成的对角矩阵(注意 λi\lambda_iβiki\beta_{ik_i}^\circ 的排列次序要求一致)

    展开全文
  • 特征向量数值求法

    2013-01-05 18:31:02
    -对于正定的对称矩阵,奇异值等于特征值,奇异向量等于特征向量。在这种情况下用奇异值分解就把特征值和特征向量出来了。但是只要是方阵,它就有特征值和特征向量,对于一般方阵,特征值和特征向量怎么呢...
  • 特征值是指模最大...定理8.1.11 设为对称矩阵(其特征值次序记为),则 (1) (对任何非零); (2); (3). 证明 只证1,关于2,3留作习题. 由于为实对称矩阵,可将对应特征向
  • 特征值与特征向量(3)前言(1)今天我们继续讨论一类特殊矩阵的特征值和特征向量。这个特殊“实对称矩阵的性质希望同学们还没有完全遗忘, 正好通过今天内容带着大家复习下。(2)特征值: ①|A|=[a+(n-1)b](a-b)^(n-1)...
  • 特征值与特征向量(3)前言(1)今天我们继续讨论一类特殊矩阵的特征值和特征向量。这个特殊“实对称矩阵的性质希望同学们还没有完全遗忘, 正好通过今天内容带着大家复习下。(2)特征值: ①|A|=[a+(n-1)b](a-b)^(n-1)...
  • 求矩阵秩的全选主元高斯消去、对称正定矩阵的乔里斯基分解与行列式的求值、矩阵的三角分解 、一般实矩阵的QR分解、一般实矩阵的奇异分解 、求广义逆的奇异分解、约化对称矩阵为对称三对角阵的豪斯荷尔德变换...
  • 5. 实对称矩阵特征值与特征向量的性质 6. 实对称矩阵的相似对角化 1. 矩阵的相似 矩阵的相似 (iv)的证明: 矩阵的特征值和特征向量 2. 特征值与特征向量的求法 由此可见矩阵的k重特征值...
  • CMatrix

    热门讨论 2008-07-21 12:30:31
    约当 对称正定矩阵的求逆 托伯利兹矩阵求逆的埃兰特方法 求行列式值的全选主元高斯消去矩阵秩的全选主元高斯消去 对称正定矩阵的乔里斯基分解与行列式的求矩阵的三角分解 一般实...
  • jacobi旋转法的VB实现

    2021-01-22 00:08:49
    jacobi旋转法的VB实现一、jacobi方法概要1.jacobi方法基本思想:jacobi旋转是通过一组平面旋转变换(构建一个平面旋转矩阵)对**实对称方阵A**进行相似对角化,化其为*对角阵*,进而特征值与特征向量方法。...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

对称矩阵特征值的求法