這裡會使用到 NumPy 套件,請讀者先行安裝。首先來看看怎麼使用NumPy定義一個矩陣: # Matrix A A = np.array( [ [ 1 , 2 , 4 ], [ 5 , 3 , 6 ], [ 8 , 9 , 7 ] ]) # Matrix B B = np.array( [ [ 7 , 8 , 9 ], [ 6 , 5 , 4 ], [ 3 , 1 , 1 ] ]) 上面的程式碼含有兩個矩陣A與B,接著我們可以使用Python的運算子:+, -, *, / ,來對矩陣的元素做加減乘除運算。 # Matrix operations print ( "A + B" ) print (A + B) print ( "A - B" ) print (A - B) print ( "A * B" ) print (A * B) print ( "A / B" ) print (A / B) 好,那我們先來解個線性方程式(下圖取自 Wiki ): # Matrix A A = np.array( [ [ 3 , 2 , - 1 ], [ 2 , - 2 , 4 ], [- 1 , 0.5 , - 1 ] ]) # Matrix B B = np.array( [ 1 , - 2 , 0 ] ) print ( "Solution:" ) print (np.linalg.solve(A, B)) 上面的程式碼中的 np.linalg.solve(A, B) 就可以幫我們解出這個線性方程式的解,是不是很方便呢?除了solve這個方便的function之外, NumPy 還提供了很多常用的線性代數函數: dot:內積。 trace: 計算對角線元素的和。 det:計算行列式的值。 eig:求出eigenvalue與eigenvector。 inv:求出逆矩陣 qr:QR分解 svd:SVD分解 solve:解線性方程式。 那這些線性代數的方法可以用在什麼地方呢?以現...