下一节:MATLAB中的示例 上一级:更多关于GUPTRI及数值示例 上一节:算术和空间复杂度

GUPTRI的MATLAB接口

GUPTRI 程序提供了一个 MEX-文件形式的 MATLAB 接口。以下我们将简要描述 guptri 函数的参数和输出,并通过一个小型数值示例展示其用法。

最通用的调用形式如下:

{\tt [S, T, P, Q, kstr] = guptri(A, B, EPSU, GAP, ZERO)},
其中,变换矩阵存储在 P 和 Q 中,P^{\ast}AQP^{\ast}BQ 分别存储在 S 和 T 中。计算得到的 Kronecker 结构由 kstr 揭示,具体描述见本节后续的示例讨论。

guptri 函数将一个 m \times n 的矩阵束 A - \lambda B 化为广义上三角形式 S - \lambda T = P^{\ast}(A - \lambda B)Q,如公式 (8.34)-(8.35) 所示:

S=\begin{bmatrix} A_r & * & * & * & * \\ 0 &A_z & * & * & * \\ 0 & 0 &A_f & * & * \\ 0 & 0 & 0 &A_i& * \\ 0 & 0 & 0 & 0 & A_l \end{bmatrix}, \quad T=\begin{bmatrix}B_r & * & * & * & * \\ 0 &B_z & * & * & * \\ 0 &0 &B_f& * & * \\ 0 &0 &0 &B_i & * \\ 0 &0 &0 & 0 &B_l \end{bmatrix}, \tag{8.39}
其中,ST 的对角块以阶梯形式描述了 A - \lambda B 的 Kronecker 结构(参见第 8.7.6 节)。

除了 \{A,B\} 外,用户还可以选择提供三个输入参数(EPSU、GAP 和 ZERO)来控制 GUPTRI 形式的计算。EPSU(数据相对不确定性)和 GAP(应至少为 1,典型值为 1000)用于进行秩判定,以确定输入矩阵束的 Kronecker 结构(参见第 页)。默认值为 {\tt GAP} = 1000,但对于某些示例可能需要其他值。ZERO 用作逻辑变量,当设置为真(ZERO 为非零值)时,强制 guptri 在约化过程中将小奇异值置零,从而使返回的矩阵束真正具有计算出的 GUPTRI 形式(参见第 页)。否则,返回的矩阵束是输入矩阵束的真实等价变换,且 GUPTRI 形式中的所有零块将包含小元素(通常大小不超过 EPSU)。



下一节:MATLAB中的示例 上一级:更多关于GUPTRI及数值示例 上一节:算术和空间复杂度
Susan Blackford 2000-11-20