解四元線性方程組

更新時間:2024-04-02 12:57:09

問題闡述

問題:我需要用Python解這些方程。

a + 3b + 2c + 2d = 1
2a + b + c + 2d = 0
3a + b + 2c + d = 1
2a + c + 3d = 0

這樣我就可以得到a、b、c和d的值。有沒有辦法以分數形式顯示它們?

我的代碼:

import numpy as np
A = np.array([[1,3,2,2],[2,1,1,2]])
B = np.array([1,0,1,0])
X2 = np.linalg.solve(A,B)

錯誤:

LinAlgError: Last 2 dimensions of the array must be square

精準答案

您沒有將問題的最后兩個方程式添加到A矩陣:

import numpy as np
A = np.array([[1,3,2,2],[2,1,1,2],[3,1,2,1],[2,0,1,3]])
B = np.array([1,0,1,0])
X2 = np.linalg.solve(A,B)

給予:

array([-0.27272727, -0.18181818,  1.09090909, -0.18181818])

這應該是可行的。