python - numpy库在线性代数中的运用
numpy库处理线性代数的函数,今天我们就好好的探讨一下
- diag diag函数可以得到一个方针的对角线元素,也可以将一个一维数据转化为对角矩阵,也就是非对角线元素都为0
用法
import os
import numpy as np
x=np.random.randn(5,5)
print(np.diag(x))#输出该矩阵的对角线元素
y=[2,4,34,3,2,4]
print(np.diag(y))#返回一个对角线元素是y的矩阵。
这就是
2.dot 该函数用于矩阵之间的乘法运算,也可以用于矩阵与标量之间的运算
下面给出用法
x=np.random.randn(5,5)
y=np.random.randint(1,10.(5,5))
print(x.dot(y))
print(np.dot(x,y)
dot函数可以通过两种方法使用,一是 array1.dot(array2),二是np.dot(array1.array2)这两种方法都可行。
3.trace 计算对角线元素的和,也就是计算矩阵的迹。
用法
print(trace(x)
为矩阵或者多维数组。
4. det 计算矩阵的行列式
print(np.linalg.det(x))
可以求得x矩阵的行列式。
5.eig 计算矩阵的特征值和特征向量
print(np.linalg.dig(x))
6.inv 计算矩阵的逆矩阵
print(np.linalg.inv(x))
7.pinv 计算方ore-Penrose伪逆
print(np.linalg.pinv(x))
注:pinv可以计算非方阵的逆矩阵
- qr 算矩阵的QR分解
print(np.linalg.qr(x))
- 计算矩阵奇异值分解
print(np.linalg.svd(x))
- solve 解线性性方程组
print(np.linalg.solve(A,b))
A为需要求解的线性方程组系数矩阵,b线性方程组等号右边的结果
11. lstsq计算Ax=b最小二乘解
print(np.linalg.lstsq(A,b))
这些基本上包含了最基本也最常用的线性代数的常用运算,可以好好学习一下。