1. python中的矩阵(maxtrix)相乘与线性代数的算法一样,例如:
首先引入numpy
import numpy as np;
A =np.array([[1,2,3],
[4,5,6]])
B = np.array([[1,4],
[2,5],
[3,6]])
C = A * 2
D = np.dot(A,B)
E = np.dot(B,A)
J = A.shape
print(C)
print(D)
print(E)
print(J)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
其运行结果为:
[[ 2 4 6]
[ 8 10 12]]
[[14 32]
[32 77]]
[[17 22 27]
[22 29 36]
[27 36 45]]
(2, 3)
注意:
1.dot函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。注意交换矩阵的前后位置会导致不同的结果。
2.使用shape可以获得矩阵的大小
3. 行列式相乘须满足左边的列等于右边的行
2. 创建一个单位矩阵
import numpy as np;
A =np.array([[1,2,3],
[4,5,6]])
F = np.eye(3)
G = np.dot(A,F)
print(F)
print(G)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
运行结果为:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1. 2. 3.]
[4. 5. 6.]]
- 1
- 2
- 3
- 4
- 5
3. 矩阵转置
1.
import numpy as np;
A =np.array([[1,2,3],
[4,5,6]]);
H = A.T
print(H)
- 1
- 2
- 3
- 4
- 5
import numpy as np;
A =np.array([[1,2,3],
[4,5,6]]);
J= A.transpose()
print(J)
- 1
- 2
- 3
- 4
- 5
两者的运行结果都是一样的为:
1.
[[1 4]
[2 5]
[3 6]]``
- 1
- 2
- 3
2
[[1 4]
[2 5]
[3 6]]
- 1
- 2
- 3
4.计算行列式的值
python中行列式的计算方法和线性代数中的原理是一样的。
import numpy as np;
A =np.array([[1,2,3],
[4,5,6],
[7,8,9]])
B = np.linalg.det(A)
print(A)
print(B)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
其运行结果为:
[[1 2 3]
[4 5 6]
[7 8 9]]
6.66133814775094e-16
- 1
- 2
- 3
- 4