矩陣定義
在NumPy中,矩陣是ndarray的子類,可以由專用的字串格式來建立
1. 建立矩陣
mat函式建立矩陣
(mat函式建立矩陣時,若輸入已為matrix或ndarray物件,則不會為它們建立副本。 因此,呼叫mat函式和呼叫matrix(data, copy=False)等價)
(1) 在建立矩陣的專用字串中,矩陣的行與行之間用分號隔開,行內的元素之間用空格隔開。
import numpy as np A = np.mat("1 2 3;4 5 6;7 8 9") print (A) #[[1 2 3] # [4 5 6] # [7 8 9]]
用T屬性獲取轉置矩陣
print (A.T) #[[1 4 7] # [2 5 8] # [3 6 9]]
用I屬性獲取逆矩陣
print (A.I) #[[ -4.50359963e+15 9.00719925e+15 -4.50359963e+15] # [ 9.00719925e+15 -1.80143985e+16 9.00719925e+15] # [ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]]
使用NumPy陣列進行建立矩陣
A1 = np.mat(np.arange(9).reshape(3,3)) print (A1) #[[0 1 2] # [3 4 5] # [6 7 8]]
2. 從已有矩陣建立新矩陣
利用兩個較小的矩陣建立一個新的矩陣
(1). 建立一個2×2的單位矩陣
import numpy as np B = np.eye(2) print (B) #[[ 1. 0.] # [ 0. 1.]]
(2). 建立另一個與A同型的矩陣,並乘以2
B1 = 2 * B print (B1) #[[ 2. 0.] # [ 0. 2.]]
(3). 使用字串建立複合矩陣,該字串的格式與mat函式中一致(bmat函式,從兩個小矩陣建立了一個分塊複合矩陣)
B2 = np.bmat("B B1 ; B B1") print (B2) #[[ 1. 0. 2. 0.] # [ 0. 1. 0. 2.] # [ 1. 0. 2. 0.] # [ 0. 1. 0. 2.]]