我正在GPU上编写图像恢复算法,详细信息
QR分解法求解线性系统
Ax=b
工作方式如下
min||Ax-b|| ---> ||QRx-b|| ---> ||(Q^T)QRx-(Q^T)b|| ---> ||Rx-(Q^T)b||
R上三角矩阵在哪里。由此产生的上三角线性系统很容易求解。
R
我想使用CULA工具来实现此方法。CULA例程GEQRF计算QR因式分解。该手册说:
GEQRF
在出口处,阵列对角线上及上方的元素包含min(M,N)-by-N上梯形矩阵R(R如果为m >= n),则为上三角形);对角线下方的元素(与数组一起TAU)表示正交/ unit矩阵,Q作为min(m,n)基本反射镜的乘积。
min(M,N)-by-N
m >= n)
TAU
Q
min(m,n)
我不知道Q存储在哪里,算法对我来说似乎太复杂了。你能给点建议吗?
谢谢!
void GEQRF(int M,int N,T A,int LDA, T TAU, T* WORK,int LWORK,int &INFO)
在GEQRF之后,R存储在A的上三角部分。然后,可以使用xORGQR以A和TAU作为输入来生成Q。
更多说明:http : //www.culatools.com/forums/viewtopic.php?f=15& t= 684