Numpy组队学习(下)--4

矩阵和向量积

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)
// 奇异值分解
  • a 是一个形如(M,N)矩阵
  • full_matrices的取值是为False或者True,默认值为True,这时u的大小为(M,M),v的大小为(N,N)。否则u的大小为(M,K),v的大小为(K,N) ,K=min(M,N)。
  • compute_uv的取值是为False或者True,默认值为True,表示计算u,s,v。为False的时候只计算s。
  • 总共有三个返回值u,s,v,u大小为(M,M),s大小为(M,N),v大小为(N,N),a = usv。
  • 其中s是对矩阵a的奇异值分解。s除了对角元素不为0,其他元素都为0,并且对角元素从大到小排列。s中有n个奇异值,一般排在后面的比较接近0,所以仅保留比较大的r个奇异值。
  • Numpy中返回的v是通常所谓奇异值分解a=usv’中v的转置

QR分解

q,r = numpy.linalg.qr(a, mode='reduced')
// 计算矩阵a的QR分解。
  • a是一个(M, N)的待分解矩阵。
  • mode = reduced:返回(M, N)的列向量两两正交的矩阵q,和(N, N)的三角阵r(Reduced QR分解)。
  • mode = complete:返回(M, M)的正交矩阵q,和(M, N)的三角阵r(Full QR分解)。

Cholesky分解

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

范数和其它数字

矩阵的范数

numpy.linalg.norm(x, ord=None, axis=None, keepdims=False) 
// 

https://github.com/datawhalechina/team-learning-program/blob/master/IntroductionToNumpy/task09%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/13.%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0..ipynb

方阵的行列式

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) 
// 方阵的迹就是主对角元素之和。

解方程和逆矩阵

逆矩阵

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

求解线性方程组

numpy.linalg.solve(a, b) 
// 求解线性方程组或矩阵方程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值