这篇文章主要讲解了python矩阵运算,转置,逆运算,共轭矩阵的用法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
我就废话不多说了,大家还是直接看代码吧!
#先定义两个矩阵 X=np.array([[1,2104,5,1,45],[1,1416,3,2,40],[1,1534,3,2,30],[1,852,2,1,36]]) y=np.array([45,40,30,36]) #内积以后发现 c=np.dot(X.T,X) c array([[ 4, 5906, 13, 6, 151], [ 5906, 9510932, 21074, 8856, 228012], [ 13, 21074, 47, 19, 507], [ 6, 8856, 19, 10, 221], [ 151, 228012, 507, 221, 5821]]) c.I d=np.dot(c.I,X.T) Traceback (most recent call last): File "<ipython-input-59-5f34dde97959>", line 1, in <module> d=np.dot(c.I,X.T) AttributeError: 'numpy.ndarray' object has no attribute 'I' #说明array进行内积以后已经不是array对象,成为ndarray对象,不能再进行.I,.T,.M的操作。 #解决方法:把结果转为matrix就可以 a=np.matrix([[ 4, 5906, 13, 6, 151], [ 5906, 9510932, 21074, 8856, 228012], [ 13, 21074, 47, 19, 507], [ 6, 8856, 19, 10, 221], [ 151, 228012, 507, 221, 5821]]) a.I matrix([[ -4.12181049e+13, 1.93633440e+11, -8.76643127e+13, -3.06844458e+13, 2.28487459e+12], [ 1.93633440e+11, -9.09646601e+08, 4.11827338e+11, 1.44148665e+11, -1.07338299e+10], [ -8.76643127e+13, 4.11827338e+11, -1.86447963e+14, -6.52609055e+13, 4.85956259e+12], [ -3.06844458e+13, 1.44148665e+11, -6.52609055e+13, -2.28427584e+13, 1.70095424e+12], [ 2.28487459e+12, -1.07338299e+10, 4.85956259e+12, 1.70095424e+12, -1.26659193e+11]])
补充知识:矩阵和向量共轭
矩阵包括实数矩阵和复数矩阵。
矩阵的转置是将其行列互换位置,
矩阵的共轭转置则是在矩阵转置的基础上(行列互换位置)对其每一个元素取共轭。
形如 a+bi的复数,其共轭为a-bi。实数的共轭等于它本身。
所以,实数矩阵的共轭转置矩阵就是转置矩阵,复数矩阵的共轭转置矩阵就是行列互换位置后每个元素取共轭。
在Fortran中,其调用函数为:
CONJG(x) | 求x的共轭复数。x:C, 结果:C |
看完上述内容,是不是对python矩阵运算,转置,逆运算,共轭矩阵的用法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。