我想制作一个程序来确定C#控制台应用程序中的Rank of a given Matrix。但我无法为此制作算法。你能帮我做一下这个算法吗?
答案 0 :(得分:2)
您可以使用基本的高斯消除方法。计算非零行数将为您提供排名。但是这种方法在数值上并不真实。正如维基百科文章所述,还有一些其他算法,例如奇异值分解(SVD)或带有旋转的QR分解。对于这两者,您应该能够轻松找到基本实现。
但是,根据需要使用准确的数字,您始终必须考虑计算机中浮点数的IEEE表示的数字不准确性。 阅读更多相关信息: http://en.wikipedia.org/wiki/IEEE_754