矩阵的转置很简单,就是将矩阵的行变为列,将列变为行,我们先通过例子看一下矩阵转置是怎么做的。然后验证几个规律。
- 先创建一个矩阵A
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/faacb564034f78f014b75c027b310a55b2191c40.jpg)
- 我们使用属性T来得到矩阵A的转置矩阵
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/5327ce160924ab185b0727c637fae6cd7a890beb.jpg)
- 我们验证第一个性质:(A’)'=A
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/d019d2bf6c81800a81044fffb33533fa838b471b.jpg)
- 再创建两个尺寸相同的矩阵
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/1899a23eb13533fa1e5755dfaad3fd1f40345b1b.jpg)
- 验证矩阵转置的第二个性质:(A±B)‘=A’±B’
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/dbf554ed2e738bd44d9c74c0a38b87d6267ff940.jpg)
- 验证矩阵转置的第三个性质:(KA)‘=KA’
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/2f3295d4b31c8701a10a7417257f9e2f0608ff40.jpg)
- 验证矩阵转置的第四个性质:(A×B)‘= B’×A’
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/c87c6ecf3bc79f3d560022c1b8a1cd11738b291b.jpg)
![python 线性代数:[3]矩阵转置](/2015/07/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B3%5D%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE/6648d73d70cf3bc733560c1dd300baa1cc112aaa.jpg)
-
本文用到的所有代码如下:
-
A
-
array([[1, 2, 3],
-
[4, 5, 6]])
-
-
-
-
-
-
-
A.T
-
array([[1, 4],
-
[2, 5],
-
[3, 6]])
-
-
-
-
A.T.T
-
array([[1, 2, 3],
-
[4, 5, 6]])
-
-
-
-
B
-
array([[1, 4],
-
[2, 5],
-
[3, 6]])
-
D
-
array([[0, 3],
-
[1, 4],
-
[2, 5]])
-
-
-
(B+D).T
-
array([[ 1, 3, 5],
-
[ 7, 9, 11]])
-
-
-
-
B.T+D.T
-
array([[ 1, 3, 5],
-
[ 7, 9, 11]])
-
-
-
-
10*A.T
-
array([[10, 40],
-
[20, 50],
-
[30, 60]])
-
(10*A).T
-
array([[10, 40],
-
[20, 50],
-
[30, 60]])
-
-
-
-
-
np.dot(A,B).T
-
array([[14, 32],
-
[32, 77]])
-
-
-
np.dot(A.T,B.T)
-
array([[17, 22, 27],
-
[22, 29, 36],
-
[27, 36, 45]])
-
-
-
-
np.dot(B.T,A.T)
-
array([[14, 32],
-
[32, 77]])
-
-
-
转载请注明来自DataScience.
邮箱: 675495787@qq.com