使用Python+SymPy 求解線性方程組

最近幾天在復(fù)習(xí)線性代數(shù),想用Python求解線性方程組,最開始想用SciPy,但是SciPy求解方程組好像要求系數(shù)矩陣為方陣,經(jīng)過幾番搜索,在知乎上找到了一點線索,原知乎問題請點我

根據(jù)知乎的答案實踐之后發(fā)現(xiàn)此方法甚好,不僅可以求解系數(shù)矩陣為方陣的線性方程組,還可以求解含自由變量的線性方程組,所以記錄在此。

方程組有一組數(shù)值解

原方程組如下:

2x+3y+z=4
4x+2y+3z =17
7x+y-z=1

求解方程組的代碼Python代碼如下:

from sympy import *

a = Matrix([[2,3,1],[4,2,3], [7,1,-1]])
b = Matrix([[4],[17],[1]])
x = symarray('x', 3)
solve(a*x-b)

執(zhí)行以上代碼得到

{x_1: -1, x_2: 5, x_0: 1}

求解存在自由變量的方程組

代碼如下:

from sympy import *

a = Matrix([[3,0,-1,0],[8,0,0,-2], [0,2,-2,-1]])
x = symarray('x', 4)
solve(a*x)

得到:

{x_1: 5x_3/4, x_2: 3x_3/4, x_0: x_3/4}

更多請參照 SymPy Doc.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)學(xué)是計算機技術(shù)的基礎(chǔ),線性代數(shù)是機器學(xué)習(xí)和深度學(xué)習(xí)的基礎(chǔ),了解數(shù)據(jù)知識最好的方法我覺得是理解概念,數(shù)學(xué)不只是上學(xué)...
    闖王來了要納糧閱讀 23,295評論 2 48
  • Scipy scipy包含致力于科學(xué)計算中常見問題的各個工具箱。它的不同子模塊相應(yīng)于不同的應(yīng)用。像插值,積分,優(yōu)化...
    Aieru閱讀 34,976評論 3 59
  • 考試形式和試卷結(jié)構(gòu)一、試卷滿分及考試時間 試卷滿分為150分,考試時間為180分鐘 二、答題方式 答題方式為閉卷、...
    幻無名閱讀 872評論 0 3
  • 我不是一個母親,只是一個未婚的姑娘,但看到周邊的朋友帶著孩子,總覺得給孩子最好的愛是陪伴和引導(dǎo)。 阿梅,是個普通的...
    蘇穆涼閱讀 228評論 0 0
  • 讀書和寫作是孩子飛翔的雙翼 ——四級部暑假讀書和寫作挑戰(zhàn)活動倡議書 四級部的家長朋友們: 大家好!時光總是荏苒,一...
    飛翔的小豬1閱讀 459評論 0 3

友情鏈接更多精彩內(nèi)容