Golub 和 Van Loan 在 Matrix Computations 中很好地描述了计算单个 Householder 反射器以将矩阵列的一部分归零的理论。但是,Lapack 的 xDLARFB 例程中的阻塞算法与矩阵计算中的描述不匹配。这本书描述了形式的非对称反射器的计算,其中 Lapack 计算了形式的东西。Lapack 中实现的算法在哪里描述?或者,任何人都可以提供正在发生的事情的高级图片吗?
xDLARFB中计算块反射器的算法是什么
计算科学
矩阵
参考请求
2021-12-22 00:45:26
2个回答
杰克是对的,AFAIK,LAPACK 使用的是“紧凑的形式:” 其中是三角形。它等于基本反射器的乘积。并且反射器的产品通常不是反射器。
(是它自己的逆,是反射器不是,即使和是。)但是即使紧凑的形式不是反射器,它也可以有效地完成通常的工作.
形式的真正(正交、对称)块反射器的理论 (例如,可用于制作矩阵块上三角形)包含在 Parlett 和我的一篇论文中,该论文发表在SINUM 25:1 (1988), p. 189-205。
我想我应该给出一个实际的答案,而不仅仅是评论。考虑到两个 Householder 变换的乘积,比如I - \ tau_1I(如果和是单位向量,则,但通常有用的是缩放向量以使其第一个条目为 1,然后将剩余条目直接存储在正在修改的矩阵中) . 我们看到
作为读者练习,可以将其重新排列为
这种见解实际上可以推广到 Householder 反射的任意产物,我建议阅读Accumulating Householder transformations, revisited以及Schreiber 提到的论文。
其它你可能感兴趣的问题