schur
舒尔分解
说明
示例
矩阵的舒尔形式
创建一个 3×3 矩阵,并计算其舒尔形式。结果是一个矩阵,A
的特征值(分别是 1
、2
和 3
)在对角线上。
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
— 输入矩阵
方阵
输入矩阵,指定为实数方阵或复数方阵。A
必须为稠密矩阵。
数据类型: single
| double
复数支持: 是
输出参量
详细信息
拟三角矩阵
上部拟三角矩阵可由实矩阵的舒尔分解或广义舒尔 (QZ) 分解产生。上拟三角矩阵是分块上三角矩阵,沿对角线是由非零值组成的 1×1 和 2×2 分块。
这些对角块的特征值也是矩阵的特征值。1×1 块对应于实数特征值,2×2 块对应于复共轭特征值对。
酉矩阵
如果可逆复数方阵 U
的共轭转置也是其逆矩阵,即 ,则该矩阵是酉矩阵。
提示
您可以使用
rsf2csf
函数将矩阵的实数舒尔形式转换为复数舒尔形式。[U,T] = rsf2csf(A)
返回与[U,T] = schur(A,"complex")
相同的输出。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
生成的代码可能返回不同于 MATLAB® 所返回的舒尔分解。
当输入矩阵包含非有限值时,生成的代码不会引发错误,而是在输出中包含
NaN
值。代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)