Numpy 矩阵
矩阵定义
在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.]]