高效的 RQ 分解

计算科学 线性代数 密集矩阵
2021-12-12 22:46:17

我有一个以列主要格式存储的上梯形矩阵。也就是说,我的矩阵如下所示:

在此处输入图像描述

我想 RQ 分解它,并将 Q 存储在我的上梯形矩阵的矩形部分。对于 QR 分解,我可以将 Q 存储在矩阵的下部,作为列向量序列 (v) 形成 Householder 变换 (I2vvT)。

但是,此处采用的相同方法将让我将户主变换的向量作为存储在上梯形矩阵的矩形部分中。但是,因为矩阵不是存储的主要行,所以缓存效率不高。

有没有一种方法可以将 RQ 分解中的 Q 存储在上梯形矩阵的矩形部分中,让我以列为主的方式使用它?如果不使用 Householder Transformations,也许是一种不同的方法?

现在我的想法是要求矩形部分的列向量用额外的空间填充,使矩形部分是正方形的,然后我将户主向量存储为列。但这可能是很多额外的内存。有没有更好的办法?

1个回答

您可以尝试 LQ 分解,类似于您的想法。它在数学上等价于 QRAT http://www.netlib.org/lapack/lug/node41.html