2213BD16881C5EF41BA95EE66368263E.jpg

    1. #复习线性代数,矩阵相关python操作
    2. >>> import numpy as np
    3. >>> a=np.array([[1,2,3],[4,5,6],[7,8,9]])
    4. >>> a
    5. array([[1, 2, 3],
    6. [4, 5, 6],
    7. [7, 8, 9]])
    8. >>> #a数组的转置直接使用.transpose()函数即可
    9. >>> a.transpose()
    10. array([[1, 4, 7],
    11. [2, 5, 8],
    12. [3, 6, 9]])
    13. >>> #求数组的逆
    14. >>> a
    15. array([[ 3., 2., 3.],
    16. [ 4., 7., 6.],
    17. [ 7., 8., 11.]])
    18. >>> np.linalg.inv(a)
    19. array([[ 0.90625, 0.0625 , -0.28125],
    20. [-0.0625 , 0.375 , -0.1875 ],
    21. [-0.53125, -0.3125 , 0.40625]])
    22. >>> #验证
    23. >>> np.dot(a,np.linalg.inv(a))
    24. array([[ 1.00000000e+00, -2.22044605e-16, 0.00000000e+00],
    25. [ 4.44089210e-16, 1.00000000e+00, 0.00000000e+00],
    26. [-8.88178420e-16, 0.00000000e+00, 1.00000000e+00]])
    27. >>> #求数组的行列式值
    28. >>> d
    29. array([[1, 2],
    30. [3, 4]])
    31. >>> #d的逆
    32. >>> f=np.linalg.inv(d)
    33. >>> f
    34. array([[-2. , 1. ],
    35. [ 1.5, -0.5]])
    36. >>> #d的行列式值
    37. >>> np.linalg.det(d)
    38. -2.0000000000000004
    39. >>> np.linalg.det(f)
    40. -0.49999999999999967