作业帮 > 数学 > 作业

矩阵的秩的算法(不是一个数学计算的问题)

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/06/05 15:21:19
矩阵的秩的算法(不是一个数学计算的问题)
用C#写一个线性代数的计算器,结果发现 矩阵的秩我不会求,各位高手有没有什么思路啊,要求是可以求任意阶的(1-10)的秩.在现有的知识方面我暂时想不到什么好的办法,我知道我可以求出来,但是估计是用穷举的方法,那样我写到10阶不知道要写到什么时候啊
矩阵的秩的算法(不是一个数学计算的问题)
原理:利用矩阵的行初等变换,把矩阵变成阶梯形或标准形.
方法:1.定义二维数组,类型根据需要,整形或浮点型,或双精度型.
2.如第1行第1列不为0,(1)用这个数除第1行所有各数(2)用这一行乘-a(i,1)加到第i行上 (3)i取遍其余各行.这样第1列除第1行外均为0
3.对其余各行做类似处理,直到以下各行全部为0为止.
4.不全为0的行数即是秩数.
再问: 我大概知道你说的意思,而且用来 求解应该是没有什么问题,但是我现在要求得 是秩 秩的定义好像就是阶梯矩阵的非零行. 但是用您的算法得出来的好像是上三角矩阵. 您有具体的算法吗?
再答: 我那就是化为阶梯性的具体方法,可能说得太具体了。4.不是已经说“不全为0的行数即是秩数”? 化为阶梯性只是求秩的一种方法,还可以用行列式法,求最大线性无关组法,化为上(下)三角法,求解空间的基础解系法等等。这些都是线性(高等)代数的基础。 具体算法当然有,不够是10几年前用isual FoxPro写成的,已制成软件使用多年,上面就是算法梗概,之所以写那么具体,就因为做过,且是做后心得。