矩阵的转置很简单,就是将矩阵的行变为列,将列变为行,我们先通过例子看一下矩阵转置是怎么做的。然后验证几个规律。
先创建一个矩阵A![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/b6f0f0f97fbd4c7c2e5e76f5b8bad341027d3041.jpg)
我们使用属性T来得到矩阵A的转置矩阵![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/3d002dbad341037dfeda83c2a9bc7dc5ce672d41.jpg)
我们验证第一个性质:(A')'=A![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/c8373cbc7dc5cf670fb29ff28e96b814f5d02641.jpg)
再创建两个尺寸相同的矩阵![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/d4071b96b814f4d09cee8266cdfe474ec3832341.jpg)
验证矩阵转置的第二个性质:(A±B)'=A'±B'![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/c99358fe474ec2831d52715bbe4f50b8b53e1c41.jpg)
验证矩阵转置的第三个性质:(KA)'=KA'![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/32fe25ef354f50b886d3e26fdc4afa32929c1841.jpg)
验证矩阵转置的第四个性质:(A×B)'= B'×A'![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/b57fb6db574afa32a571664354b2dc19cf2c1441.jpg)
![python 线性代数:[3]矩阵转置](https://exp-picture.cdn.bcebos.com/fb738d9c2cf7dfb2e5f48498d01b1edef5dc1341.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]])
>>>
>>>
>>>