schur

语法

schur(obj, [sort])

参数

obj 是一个方阵。

sort 是一个字符串,表示根据所选参数对高特征值进行排序。它的可选参数可以是 'lhp'(特征值为小于零的实数),'rhp'(特征值为大于零的实数),'iuc'(特征值的绝对值<=1.0),或 'ouc'(特征值的绝对值>1.0)。
注: 若没有指定该参数,表示不进行排序。

详情

计算矩阵的 Schur(舒尔)分解。

假设输入方阵为 A:

  • 如果不指定 sort 参数,返回两个矩阵:T 矩阵(矩阵 A 的 schur 形式,正交矩阵)与酉矩阵 Z(对于实数矩阵而言,Z 的转置矩阵与其逆矩阵相等),使得 A = ZTZ-1 。

  • 如果指定 sort 参数,返回结果还包含一个整数,表示满足排序条件的特征值的数量。

例子

m=matrix([[0,0,1],[2,1,0],[2,2,1]]);
T,Z=schur(m)
T;
#0 #1 #2
2.658967 1.424405 -1.929334
0 -0.329484 -0.490637
0 1.311789 -0.329484
Z
#0 #1 #2
0.727116 -0.601562 0.330796
0.528394 0.798019 0.289768
0.438294 0.035904 -0.898114
T,Z,s=schur(m, 'lhp');
T;
#0 #1 #2
-0.329484 1.570974 2.251318
-0.40969 -0.329484 -0.092398
0 0 2.658967
Z
#0 #1 #2
0.703818 -0.632169 0.324042
0.509043 0.766983 0.390655
-0.495495 -0.109999 0.861618
s
// output
2
T,Z,s=schur(m, 'rhp');

s;
// output
1

m=matrix([[0,0,9],[-2,1,0],[2,2,1]]);
T,Z,s=schur(m, 'iuc');
s;
// output
0

T,Z,s=schur(m, 'ouc');
s;
// output
1