DGEQT2 DLARFB DTSQT2 DSSRFB
1, 对角子矩阵分解
DGEQT2
这个例程被开发出来,用于针对对角Tile子矩阵: ,执行不分块的QR分解。
这个运算产生:
一个上三角矩阵
一个酉下三角矩阵,这个矩阵包含 b 个 Householder 反光面、
一个上三角矩阵 ,在WY技术中,这个矩阵被定义用来累计Householder变换。
和 能够写进 所占据的内存空间,所以并不需要为他们分配额外的空间。
为了存储 ,则需要一个临时的工作空间。
因此, 执行的如下动作:
本节算法细节可参考附录说明。
2, 将对角变换实施到同行子矩阵
DLARFB
通过上一个例程 DGEQT2 得到了一个变换 .
那么,这是LAPACK中的例程 DLARFB,将被用来将变换 实施到 Tile 子矩阵 上面。
因此, 执行如下动作:
3,组合 Tile QR 分解
3.1 DTSQT2 解释
DTSQT2
首先,上三角矩阵 和方阵 上下罗列构成一个矩阵,这个例程用来计算这个矩阵做非分块的QR分解。
这个例程将会返回一个上三角矩阵 ,更新到 占据的空间中去,这个例程还返回b 个Householder 反射向量,这里 b 是矩阵分块的阶数。
需要注意的是 是上三角矩阵,针对上面的矩阵组合计算得到的 Householder 反射向量,可以表示成为一个单位矩阵I垂直拼接到一个方块矩阵
上边。这样一来,并不需要额外的空间来存放Householder 反射向量,因为这个单位矩阵并不需要被存放,
而 只需要存储在 占据的存储空间中即可。这个分解过程中也会产生一个 矩阵,它的存储空间就必须额外分配。
那么, 表示如下:
3.2 实验说明带上三角矩阵的QR分解后的相似0元结构
4,应用 Householder 变换
DSSRFB
在上一个例程 DTSQT2 中,计算得到了一个由 I 和 组合得到的变换矩阵,
而 DSSRFB 这个例程将这个变换应用到 和 这两个块矩阵组合而成的矩阵上。
5,附录
关于 DGEQT2 的实现,在另一片论文中有说明,限制篇幅和分而治之,将在下篇log中记录。