一尘不染

QR分解解决CUDA中的线性系统

algorithm

我正在GPU上编写图像恢复算法,详细信息

QR分解法求解线性系统

Ax=b

工作方式如下

min||Ax-b|| ---> ||QRx-b||  ---> ||(Q^T)QRx-(Q^T)b|| ---> ||Rx-(Q^T)b||

R上三角矩阵在哪里。由此产生的上三角线性系统很容易求解。

我想使用CULA工具来实现此方法。CULA例程GEQRF计算QR因式分解。该手册说:

在出口处,阵列对角线上及上方的元素包含min(M,N)-by-N上梯形矩阵RR如果为m >= n),则为上三角形);对角线下方的元素(与数组一起TAU)表示正交/ unit矩阵,Q作为min(m,n)基本反射镜的乘积。

我不知道Q存储在哪里,算法对我来说似乎太复杂了。你能给点建议吗?

谢谢!


阅读 274

收藏
2020-07-28

共1个答案

一尘不染

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

2020-07-28