Numpy 矩陣

xie仗劍天涯發表於2017-05-04

矩陣定義
在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.]]

  

相關文章