Python 执行矩阵与线性代数运算
问题
你需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。
解决方案
NumPy库有一个矩阵对象可以用来解决这个问题。
矩阵类似于3.9小节中数组对象,但是遵循线性代数的计算规则。下面的一个例子展示了矩阵的一些基本特性:
>>>importnumpyasnp >>>m=np.matrix([[1,-2,3],[0,4,5],[7,8,-9]]) >>>m matrix([[1,-2,3], [0,4,5], [7,8,-9]]) >>>#Returntranspose >>>m.T matrix([[1,0,7], [-2,4,8], [3,5,-9]]) >>>#Returninverse >>>m.I matrix([[0.33043478,-0.02608696,0.09565217], [-0.15217391,0.13043478,0.02173913], [0.12173913,0.09565217,-0.0173913]]) >>>#Createavectorandmultiply >>>v=np.matrix([[2],[3],[4]]) >>>v matrix([[2], [3], [4]]) >>>m*v matrix([[8], [32], [2]]) >>>
可以在numpy.linalg子包中找到更多的操作函数,比如:
>>>importnumpy.linalg >>>#Determinant >>>numpy.linalg.det(m) -229.99999999999983 >>>#Eigenvalues >>>numpy.linalg.eigvals(m) array([-13.11474312,2.75956154,6.35518158]) >>>#Solveforxinmx=v >>>x=numpy.linalg.solve(m,v) >>>x matrix([[0.96521739], [0.17391304], [0.46086957]]) >>>m*x matrix([[2.], [3.], [4.]]) >>>v matrix([[2], [3], [4]]) >>>
讨论
很显然线性代数是个非常大的主题,已经超出了本书能讨论的范围。但是,如果你需要操作数组和向量的话,NumPy是一个不错的入口点。可以访问NumPy官网http://www.numpy.org获取更多信息。
以上就是Python执行矩阵与线性代数运算的详细内容,更多关于Python矩阵与线性代数运算的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。