谁能告诉我用高斯-约旦消去法来求两矩阵相乘的的算法原理?那如果是这样的话怎么做呢?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 22:35:41
谁能告诉我用高斯-约旦消去法来求两矩阵相乘的的算法原理?那如果是这样的话怎么做呢?
谁能告诉我用高斯-约旦消去法来求两矩阵相乘的的算法原理?
那如果是这样的话怎么做呢?
谁能告诉我用高斯-约旦消去法来求两矩阵相乘的的算法原理?那如果是这样的话怎么做呢?
同学,高斯-约旦消去法我只知道可以用来求逆矩阵,还有解方程组,怎么会用来两矩阵相乘,矩阵相乘直接行于列相乘相加就是
下面是求逆矩阵:(地址)
下面是解方程组:
在高中的时候,我们就学过解二元一次联立方程式,如有名的鸡兔同笼问题:
鸡和兔子共10只关在一个笼子里,它们共有26只脚,问鸡和兔子各有几只?
由此我们可列出如下之方程式
设鸡有X只 兔子有Y只 由条件可知
X + Y=10
2X+4Y=26
我们可以使用代入法或消去法解出a和b,也就是鸡和兔子的数量.若学过行列式的也可使用行列式求解.
以上所述的二元一次联立方程式只是线性方程组的一个特例,我们只要使用简单的数学方法便可求出正解.而一个一般的线性联立方程组具有以下形式:
a11 x1+ a12 x2+……a1n xn=b1
a21 x1+ a22 x2+……a2n xn=b2
:
am1 x1+ am2 x2+……amn xn=bm
其中,m、n为自然数,此为n元一次m式联立方程式.
一般用以求解的方法,称为高斯消去法,也有人称为高斯-约旦消去法,此为一种有系统的加减消去法,其中须引进矩阵的观念:
将鸡兔同笼的例子改用矩阵表示即为
1 1 10
2 4 26
而矩阵的基本运算有三种,且其皆不会改变方程式最后的答案,
1.某两列互换
1 1 10 和 2 4 26 的解不会改变
2 4 26 1 1 10
2.某一列乘以一个不为零的数
1 1 10 和 3 3 30 的解亦相同
2 4 26 2 4 26
3.某一列乘以一个数再加到另一列
1 1 10 3 3 30 3 3 30
2 4 26 2 4 26 5 7 56
故可连续作以上运算亦不改变解答.所以鸡兔同笼的解,
1 1 10 将第一列乘上(-2) 1 1 10 第二列乘以(1/2)
2 4 26 加到第二列 0 2 6
1 1 10 将第二列乘上(-1) 1 0 7
0 1 3 加到第一列 0 1 3
我们便解得:鸡有7只 兔子有3只.
以上使用的方法即为高斯消去法.高斯消去法可分为两个部分:
1.简化矩阵
a.逐列将每一列第一个不为0的数,根据基本运算之第二条,将其变成1
b.根据基本运算之第三条,将这个1所在那一行的其他数都变成0
a.若某一列除最后一元外皆为0,则无解
b.b.若有解,逐列取最左边且系数为1之未知数,其余项移至等号右边
另一种方法是只消除下三角矩阵,将求得的一解反向取代求出剩余得解,其实是大同小异.而我们了解了矩阵的基本运算和高斯消去法后,就可以自己动手写一支解联立方程组的程式啦!
大部分找得到的介绍高斯消去法的书,都是以M*M的矩阵为范例.因为大家都知道的,有几个未知数就要有几个方程式才能求出解,多了有可能无解,少了就得用参数式表示