矩阵求秩的问题

  • 3 replies
  • 215 views
矩阵求秩的问题
« 于: 七月 08, 2020, 10:01:09 pm »
我想求224*224矩阵的秩,但是好像在cublas上没有找到实现。我想请问一下大家有没有相应的文献或者实现可以参考

Re: 矩阵求秩的问题
« 回复 #1 于: 七月 12, 2020, 08:14:19 pm »
我想求224*224矩阵的秩,但是好像在cublas上没有找到实现。我想请问一下大家有没有相应的文献或者实现可以参考

cublas有简单的向量乘加(a * X + Y, 其中X/Y都是向量),
有了向量乘加, 就可以变换你的方阵->阶梯矩阵,
有了阶梯矩阵就等于知道了秩了.

所以手工计算(cublas*axpy)是可以算出来的, 不过如果是浮点数的话, 你可能需要考虑误差和很接近0的很小的数, 以及, 规避+-inf和nan之类的问题.

Re: 矩阵求秩的问题
« 回复 #2 于: 七月 13, 2020, 09:22:50 am »
cublas有简单的向量乘加(a * X + Y, 其中X/Y都是向量),
有了向量乘加, 就可以变换你的方阵->阶梯矩阵,
有了阶梯矩阵就等于知道了秩了.

所以手工计算(cublas*axpy)是可以算出来的, 不过如果是浮点数的话, 你可能需要考虑误差和很接近0的很小的数, 以及, 规避+-inf和nan之类的问题.
感谢提供思路,我下去试一试,十分感谢,我还想请问一下如果矩阵求特征值的话您的建议

Re: 矩阵求秩的问题
« 回复 #3 于: 七月 14, 2020, 05:50:01 pm »
感谢提供思路,我下去试一试,十分感谢,我还想请问一下如果矩阵求特征值的话您的建议
我在cuda文档里面找到了求解特征值相应解决方案,谢谢