下一节:MATLAB中的示例
上一级:更多关于GUPTRI及数值示例
上一节:算术和空间复杂度
GUPTRI的MATLAB接口
GUPTRI 程序提供了一个 MEX-文件形式的 MATLAB 接口。以下我们将简要描述 guptri 函数的参数和输出,并通过一个小型数值示例展示其用法。
最通用的调用形式如下:
[S,T,P,Q,kstr]=guptri(A,B,EPSU,GAP,ZERO),
其中,变换矩阵存储在 P 和 Q 中,P∗AQ 和 P∗BQ 分别存储在 S 和 T 中。计算得到的 Kronecker 结构由 kstr 揭示,具体描述见本节后续的示例讨论。
guptri 函数将一个 m×n 的矩阵束 A−λB 化为广义上三角形式
S−λT=P∗(A−λB)Q,如公式 (8.34)-(8.35) 所示:
S=Ar0000∗Az000∗∗Af00∗∗∗Ai0∗∗∗∗Al,T=Br0000∗Bz000∗∗Bf00∗∗∗Bi0∗∗∗∗Bl,(8.39)
其中,S 和 T 的对角块以阶梯形式描述了 A−λB 的 Kronecker 结构(参见第 8.7.6 节)。
除了 {A,B} 外,用户还可以选择提供三个输入参数(EPSU、GAP 和 ZERO)来控制 GUPTRI 形式的计算。EPSU(数据相对不确定性)和 GAP(应至少为 1,典型值为 1000)用于进行秩判定,以确定输入矩阵束的 Kronecker 结构(参见第 页)。默认值为 GAP=1000,但对于某些示例可能需要其他值。ZERO 用作逻辑变量,当设置为真(ZERO 为非零值)时,强制 guptri 在约化过程中将小奇异值置零,从而使返回的矩阵束真正具有计算出的 GUPTRI 形式(参见第 页)。否则,返回的矩阵束是输入矩阵束的真实等价变换,且 GUPTRI 形式中的所有零块将包含小元素(通常大小不超过 EPSU)。
下一节:MATLAB中的示例
上一级:更多关于GUPTRI及数值示例
上一节:算术和空间复杂度
Susan Blackford
2000-11-20