python/sympy求解矩陣方程的方法
sympy版本:1.2
假設(shè)求解矩陣方程
AX=A+2X
其中

求解之前對(duì)矩陣方程化簡(jiǎn)為
(A−2E)X=A
令
B=(A−2E)
使用qtconsole輸入下面程序進(jìn)行求解
In [26]: from sympy import * In [27]: from sympy.abc import * In [28]: A=Matrix([[4,2,3],[1,1,0],[-1,2,3]]) In [29]: A Out[29]: Matrix([ [ 4, 2, 3], [ 1, 1, 0], [-1, 2, 3]]) In [30]: B=A-2*diag(1,1,1) In [31]: B Out[31]: Matrix([ [ 2, 2, 3], [ 1, -1, 0], [-1, 2, 1]]) In [32]: B.inv()*A Out[32]: Matrix([ [ 3, -8, -6], [ 2, -9, -6], [-2, 12, 9]])
將結(jié)果驗(yàn)證一下:
In [38]: X=B.inv()*A In [39]: X Out[39]: Matrix([ [ 3, -8, -6], [ 2, -9, -6], [-2, 12, 9]]) In [40]: A*X-A-2*X Out[40]: Matrix([ [0, 0, 0], [0, 0, 0], [0, 0, 0]])
求解矩陣方程過(guò)程中注意的問(wèn)題是左乘還是右乘問(wèn)題,在此例中是B.inv()*A ,如果矩陣方程變?yōu)?/p>
XA=A+2X
那么求解結(jié)果為:
In [35]: X=A*B.inv() In [36]: X Out[36]: Matrix([ [ 3, -8, -6], [ 2, -9, -6], [-2, 12, 9]])
將結(jié)果驗(yàn)證一下:
X=A*B.inv() X Out[36]: Matrix([ [ 3, -8, -6], [ 2, -9, -6], [-2, 12, 9]]) X*A-A-2*X Out[37]: Matrix([ [0, 0, 0], [0, 0, 0], [0, 0, 0]])
以上這篇python/sympy求解矩陣方程的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例
這篇文章主要介紹了使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法
爬蟲獲取信息,很多時(shí)候是需要從網(wǎng)頁(yè)源碼中獲取鏈接信息的,下面這篇文章主要給大家介紹了關(guān)于Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python利用google翻譯方法實(shí)例(翻譯字幕文件)
這篇文章主要給大家介紹了關(guān)于python利用google翻譯(翻譯字幕文件)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

