尽可能快地计算矩阵的零空间

zen*_*nna 18 algorithm math cuda matrix

我需要并行计算几千个小矩阵(8x9,而不是我之前写的4x3)的零空间(CUDA).所有引用都指向SVD,但数值配方中的算法看起来非常昂贵,并且除了我不需要的零空间之外,它给了我很多东西.高斯消除真的不是一种选择吗?还有其他常用方法吗?

Ste*_*joa 11

直接回答你的问题......是的!QR分解!

设A是具有秩n的m×n矩阵.QR分解找到正交m-by-m矩阵Q和上三角m-by-n矩阵R,使得A = QR.如果我们定义Q = [Q1 Q2],其中Q1是m-by-n而Q2是m-by-(mn),那么Q2的列形成A ^ T的零空间.

QR分解由Gram-Schmidt,Givens旋转或Householder反射计算.它们具有不同的稳定性和操作次数.

你是对的:SVD很贵!我不能代表最先进的东西使用什么,但是当我听到"计算零空间"(编辑:以一种对我来说很容易理解的方式)时,我认为QR.