python矩阵运算与线形代数_Python: 矩阵与线性代数运算

需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。

矩阵类似于3.9 小节中数组对象,但是遵循线性代数的计算规则。下面的一个例子展示了矩阵的一些基本特性:

>>> import numpy as np

>>> m = np.matrix([[1,-2,3],[0,4,5],[7,8,-9]])

>>> m

matrix([[ 1, -2, 3],

[ 0, 4, 5],

[ 7, 8, -9]])

>>> # Return transpose

>>> m.T

matrix([[ 1, 0, 7],

[-2, 4, 8],

[ 3, 5, -9]])

>>> # Return inverse

>>> m.I

matrix([[ 0.33043478, -0.02608696, 0.09565217],

[-0.15217391, 0.13043478, 0.02173913],

[ 0.12173913, 0.09565217, -0.0173913 ]])

>>> # Create a vector and multiply

>>> v = np.matrix([[2],[3],[4]])

>>> v

matrix([[2],

[3],

[4]])

>>> m * v

matrix([[ 8],

[32],

[ 2]])

>>>

可以在numpy中找到更多的操作函数

>>> import numpy.linalg

>>> # Determinant

>>> numpy.linalg.det(m)

-229.99999999999983

>>> # Eigenvalues

>>> numpy.linalg.eigvals(m)

array([-13.11474312, 2.75956154, 6.35518158])

>>> # Solve for x in mx = 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 获取更多信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值