schur

语法

schur(obj, [sort])

参数

obj 是一个方阵。

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

若没有指定该参数,表示不进行排序。

详情

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

假设输入方阵为A:

  • 如果不指定sort参数,返回两个矩阵:T矩阵(矩阵A的schur形式,正交矩阵)与酉矩阵Z(对于实数矩阵而言,Z的转置矩阵与其逆矩阵相等),使得 A = Z*T*Z-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
2
$ T,Z,s=schur(m, 'rhp');

$ s;
  1

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

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