一 矩阵创建
(1)np.mat("a b c;e f g;h j k")
(2) np.array([[a,b,c],[e,f,g],[h,j,k]])
import numpy as np
a=np.mat('1 2 3;4 5 6;7 8 9')
b=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print(b)
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]
(3)复合阵 np.bmat("x y;z u") ;分隔上下
import numpy as np
a=np.mat('1 2 3;4 5 6;7 8 9')
b=np.array([[1,3,3],[4,5,6],[7,8,9]])
c=np.bmat('a b;a b')
print(c)
[[1 2 3 1 3 3]
[4 5 6 4 5 6]
[7 8 9 7 8 9]
[1 2 3 1 3 3]
[4 5 6 4 5 6]
[7 8 9 7 8 9]]
二矩阵运算
(1)乘法 * 各元素相乘 np.dot(x,y)矩阵乘法
import numpy as np
a=np.array([1,2])
b=np.array([[3],[4]])
c=a*b
d=b*a
e=np.dot(a,b)
print(a)
print(b)
print(c)
print(d)
print(e)
[1 2]
[[3]
[4]]
[[3 6]
[4 8]]
[[3 6]
[4 8]]
[11]
(2)转置 b=a.T
import numpy as np
a=np.array([[1,2]])
b=a.T
print(a)
print(b)
[[1 2]]
[[1]
[2]]
(3)求逆 b=a.I
import numpy as np
a=np.mat('1 2;3 5')
b=a.I
print(a)
print(b)
[[1 2]
[3 5]]
[[-5. 2.]
[ 3. -1.]]
(4)矩阵加法 a+b np.add(a,b)