线性代数

本文介绍了NumPy库中的线性代数操作,包括矩阵的创建与运算、特征值和特征向量的计算、矩阵分解方法如奇异值分解和QR分解,以及矩阵的范数、行列式、秩和迹的求解。此外,还涉及了如何使用NumPy解决线性方程组和计算逆矩阵,以及幂法等求解特征值的方法。
摘要由CSDN通过智能技术生成

线性代数

Numpy 定义了 matrix 类型,使用该 matrix 类型创建的是矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算,因此用法和Matlab十分类似。但是由于 NumPy 中同时存在 ndarray 和 matrix 对象,因此用户很容易将两者弄混。这有违 Python 的“显式优于隐式”的原则,因此官方并不推荐在程序中使用 matrix。在这里,我们仍然用 ndarray 来介绍。

矩阵和向量积

矩阵的定义、矩阵的加法、矩阵的数乘、矩阵的转置与二维数组完全一致,不再进行说明,但矩阵的乘法有不同的表示。

numpy.dot(a, b[, out])计算两个矩阵的乘积,如果是一维数组则是它们的内积。

矩阵特征值与特征向量

numpy.linalg.eig(a) 计算方阵的特征值和特征向量。
numpy.linalg.eigvals(a) 计算方阵的特征值。

矩阵分解

u, s, v = numpy.linalg.svd(a, full_matrices=True, compute_uv=True, hermitian=False)奇异值分解

q,r = numpy.linalg.qr(a, mode=‘reduced’)计算矩阵a的QR分解。

L = numpy.linalg.cholesky(a) 返回正定矩阵a的 Cholesky 分解a = L*L.T,其中L是下三角。

范数和其它数字

矩阵的范数

numpy.linalg.norm(x, ord=None, axis=None, keepdims=False) 计算向量或者矩阵的范数。

方阵的行列式

numpy.linalg.det(a) 计算行列式。

矩阵的秩

numpy.linalg.matrix_rank(M, tol=None, hermitian=False) 返回矩阵的秩。

矩阵的迹

numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None) 方阵的迹就是主对角元素之和。

解方程和逆矩阵

逆矩阵(inverse matrix)

设 A 是数域上的一个 n 阶矩阵,若在相同数域上存在另一个 n 阶矩阵 B,使得:AB=BA=E(E 为单位矩阵),则我们称 B 是 A 的逆矩阵,而 A 则被称为可逆矩阵。

numpy.linalg.inv(a) 计算矩阵a的逆矩阵(矩阵可逆的充要条件:det(a) != 0,或者a满秩)。

求解线性方程组

numpy.linalg.solve(a, b) 求解线性方程组或矩阵方程。

关于求解矩阵特征值与特征向量

幂法,反幂法,原点平移加速法,Numpy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值