Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

schur

舒尔分解

    说明

    T = schur(A) 返回 A 的舒尔矩阵。

    示例

    如果 mode"real"T = schur(A,mode)(其中 A 为实矩阵),返回实数拟三角舒尔矩阵;如果 mode"complex",则返回复数三角舒尔矩阵。如果 A 为复矩阵,则不管 mode 的值是多少,schur 都返回复数舒尔形式。

    示例

    [U,T] = schur(___) 还返回酉矩阵 U,并满足 A = U*T*U'

    示例

    示例

    全部折叠

    创建一个 3×3 矩阵,并计算其舒尔形式。结果是一个矩阵,A 的特征值(分别是 123)在对角线上。

    A = [-149 -50 -154; 537 180 546; -27 -9 -25];
    T = schur(A)
    T = 3×3
    
        1.0000   -7.1119  815.8706
             0    2.0000   55.0236
             0         0    3.0000
    
    

    非对角线元素的值很大表示此矩阵具有病态特征值,这可以通过使用 condeig 函数求得条件数来确认。

    condeig(A)
    ans = 3×1
    
      603.6390
      395.2366
      219.2920
    
    

    创建一个具有复数特征值的 3×3 矩阵。

    A = [3 1 1; 0 2 0; -2 1 1]
    A = 3×3
    
         3     1     1
         0     2     0
        -2     1     1
    
    

    计算 A 的实数舒尔形式。对角线上的 2×2 分块矩阵表示一对共轭复数特征值。

    T1 = schur(A)
    T1 = 3×3
    
        2.0000    0.3820    1.3764
       -2.6180    2.0000    0.3249
             0         0    2.0000
    
    

    ordeig 函数求实数舒尔形式的特征值。

    ordeig(T1)
    ans = 3×1 complex
    
       2.0000 + 1.0000i
       2.0000 - 1.0000i
       2.0000 + 0.0000i
    
    

    通过将 mode 指定为 "complex",计算 A 的复数舒尔形式。T2 的对角线值是 A 的舒尔形式的特征值,它们与 ordeig 的输出相同。

    T2 = schur(A,"complex")
    T2 = 3×3 complex
    
       2.0000 + 1.0000i   2.2361 + 0.0000i  -0.3035 - 0.4911i
       0.0000 + 0.0000i   2.0000 - 1.0000i   1.2858 + 0.1159i
       0.0000 + 0.0000i   0.0000 + 0.0000i   2.0000 + 0.0000i
    
    

    创建一个 3×3 幻方矩阵,并计算其舒尔分解因子。

    A = magic(3);
    [U,T] = schur(A)
    U = 3×3
    
       -0.5774   -0.8131   -0.0749
       -0.5774    0.4714   -0.6667
       -0.5774    0.3416    0.7416
    
    
    T = 3×3
    
       15.0000    0.0000   -0.0000
             0    4.8990   -3.4641
             0         0   -4.8990
    
    

    验证 A-U*T*U'U'*U - eye(size(U)) 的范数为 0(在计算机精度范围内)。

    norm(A-U*T*U')
    ans = 6.7711e-15
    
    norm(U'*U - eye(size(U)))
    ans = 5.0471e-16
    

    输入参数

    全部折叠

    输入矩阵,指定为实数方阵或复数方阵。A 必须为稠密矩阵。

    数据类型: single | double
    复数支持:

    舒尔形式系统,指定为 "real""complex"

    • 如果 A 是实数,则 mode 可以是 "real""complex"。如果 mode"real",则 schur 返回实数拟三角 T。如果 mode"complex",则 schur 返回复数三角 T

    • 如果 A 是复数,则 schur 忽略 mode 并返回复数舒尔形式,它是上三角矩阵,其特征值 A 在对角线上。

    输出参量

    全部折叠

    舒尔向量,以满足 A = U*T*U' 的酉矩阵形式返回。U 的每列对应一个舒尔向量。如果舒尔矩阵 T 为三角形,则 U 的第一列是 A 的特征向量,对应于 T 的第一个元素。

    舒尔矩阵,以实数或复数方阵形式返回。如果 mode"complex",则 T 是三角矩阵。如果 mode"real",则 T 是拟三角矩阵。

    详细信息

    全部折叠

    拟三角矩阵

    上部拟三角矩阵可由实矩阵的舒尔分解或广义舒尔 (QZ) 分解产生。上拟三角矩阵是分块上三角矩阵,沿对角线是由非零值组成的 1×1 和 2×2 分块。

    6-by-6 upper quasitriangular matrix with 1-by-1 and 2-by-2 blocks of nonzero values along the diagonal

    这些对角块的特征值也是矩阵的特征值。1×1 块对应于实数特征值,2×2 块对应于复共轭特征值对。

    酉矩阵

    如果可逆复数方阵 U 的共轭转置也是其逆矩阵,即 U*U=UU*=I,则该矩阵是酉矩阵。

    提示

    • 您可以使用 rsf2csf 函数将矩阵的实数舒尔形式转换为复数舒尔形式。[U,T] = rsf2csf(A) 返回与 [U,T] = schur(A,"complex") 相同的输出。

    扩展功能

    版本历史记录

    在 R2006a 之前推出

    另请参阅

    | | | | |