线性代数
1. 逆矩阵:numpy.linalg.inv(a):获取a的逆矩阵(一个array-like对象)。
- 如果传入的是多个矩阵,则依次计算这些矩阵的逆矩阵。
- 如果
a不是方阵,或者a不可逆则抛出异常
2. 单位矩阵:numpy.eye(N[, M, k, dtype]):返回一个二维单位矩阵行为N,列为M,对角线元素为1,其余元素为0。M默认等于N。k默认为0表示对角线元素为1(单位矩阵),如为正数则表示对角线上方一格的元素为1(上单位矩阵),如为负数表示对角线下方一格的元素为1(下单位矩阵)
3. 对角线和:numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None):返回对角线的和。
- 如果
a是二维的,则直接选取对角线的元素之和(offsert=0),或者对角线右侧偏移offset的元素之和(即选取a[i,i+offset]之和) - 如果
a不止二维,则由axis1和axis2指定的轴选取了取对角线的矩阵。 - 如果
a少于二维,则抛出异常
4. 计算线性方程的解 :numpy.linalg.solve(a,b):计算线性方程的解ax=b,其中a为矩阵,要求为秩不为0的方阵,b为列向量(长度等于方阵大小);或者a为标量,b也为标量。
- 如果
a不是方阵或者a是方阵但是行列式为0,则抛出异常
5. 特征值:numpy.linalg.eig(a):计算矩阵的特征值和右特征向量。如果不是方阵则抛出异常,如果行列式为0则抛出异常。
6. 奇异值分解:numpy.linalg.svd(a, full_matrices=1, compute_uv=1):对矩阵a进行奇异值分解,将它分解成u*np.diag(s)*v的形式,其中u和v是酉矩阵,s是a的奇异值组成的一维数组。 其中:
full_matrics:如果为True,则u形状为(M,M),v形状为(N,N);否则u形状为(M,K),v形状为(K,N),K=min(M,N)compute_uv:如果为True则表示要计算u和v。默认为True。- 返回
u、s、v的元组 - 如果不可分解则抛出异常
学员评价