据我所知,QZ 分解是针对两个矩阵给出的,因此对于A,B∈Fn×n:
A=QSZ∗,B=QTZ∗(1)
在哪里Q,Z∗是单一的,并且S,T是上三角形,并且F是场(实R或复杂C)。QZ分解通常称为广义舒尔分解。
对于单个矩阵 A∈Fn×n,可以简单地计算舒尔分解:
A=QSchurUQ∗Schur(2)
在哪里QSchur是单一的,并且U是上三角形。
所以 Schur 分解(2),允许“更受限制”的分解A, 因为没有矩阵B, 这种存在会导致广义的 QZ 分解(1)和一个存在Z.
在 Matlab 中,舒尔分解 (2)可以计算如下:
[Q,U] = schur(A,...)
查看 Matlab 函数帮助以获得一些额外的计算选项。与 Matlab 帮助页面相比,请注意 Wikipedia 和此帖子符号选择之间的混淆。