C ++ - 如何查找矩阵的等级

时间:2012-04-28 22:01:53

标签: c++ matrix linear-algebra rank

我很难想出一个程序可以找到矩阵等级的方法。特别是,我不完全理解如何确保程序能够捕获导致依赖性的所有线性组合情况。

如何解决这个问题的一般想法是我感兴趣的。但是,如果你想让答案更进一步,我只是专门寻找关于方形矩阵的解决方案。代码也是C ++。

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

一般过程:

matrix ='你想要找到'

等级的矩阵

m2 = rref(矩阵)

rank = number_non_zero_rows(m2)

其中rref(矩阵)是一种可以进行普通高斯消除的函数

number_non_zero_rows(m2)是一个将行数与非零项相加的函数

您对使用rref(高斯消元)步骤处理导致依赖性的所有线性组合情况的担忧。顺便说一句,无论矩阵的尺寸是多少,这都有效。