矩阵
使用 mat
方法将 2
维数组转化为矩阵:
In [1]:
- import numpy as np
- a = np.array([[1,2,4],
- [2,5,3],
- [7,8,9]])
- A = np.mat(a)
- A
Out[1]:
- matrix([[1, 2, 4],
- [2, 5, 3],
- [7, 8, 9]])
也可以使用 Matlab 的语法传入一个字符串来生成矩阵:
In [2]:
- A = np.mat('1,2,4;2,5,3;7,8,9')
- A
Out[2]:
- matrix([[1, 2, 4],
- [2, 5, 3],
- [7, 8, 9]])
利用分块创造新的矩阵:
In [3]:
- a = np.array([[ 1, 2],
- [ 3, 4]])
- b = np.array([[10,20],
- [30,40]])
- np.bmat('a,b;b,a')
Out[3]:
- matrix([[ 1, 2, 10, 20],
- [ 3, 4, 30, 40],
- [10, 20, 1, 2],
- [30, 40, 3, 4]])
矩阵与向量的乘法:
In [4]:
- x = np.array([[1], [2], [3]])
- x
Out[4]:
- array([[1],
- [2],
- [3]])
In [5]:
- A * x
Out[5]:
- matrix([[17],
- [21],
- [50]])
A.I
表示 A
矩阵的逆矩阵:
In [6]:
- print A * A.I
- [[ 1.00000000e+00 0.00000000e+00 0.00000000e+00]
- [ 0.00000000e+00 1.00000000e+00 2.08166817e-17]
- [ 2.22044605e-16 -8.32667268e-17 1.00000000e+00]]
矩阵指数表示矩阵连乘:
In [7]:
- print A ** 4
- [[ 6497 9580 9836]
- [ 7138 10561 10818]
- [18434 27220 27945]]