mirror of
https://github.com/apachecn/ailearning.git
synced 2026-02-03 10:24:39 +08:00
39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# 稀疏矩阵的线性代数
|
||
|
||
对于稀疏矩阵来说,其线性代数操作可以使用 `scipy.sparse.linalg` 实现:
|
||
|
||
In [1]:
|
||
|
||
```py
|
||
import scipy.sparse.linalg
|
||
|
||
```
|
||
|
||
## 矩阵操作
|
||
|
||
* `scipy.sparse.linalg.inv`
|
||
* 稀疏矩阵求逆
|
||
* `scipy.sparse.linalg.expm`
|
||
* 求稀疏矩阵的指数函数
|
||
|
||
## 矩阵范数
|
||
|
||
* `scipy.sparse.linalg.norm`
|
||
* 稀疏矩阵求范数
|
||
|
||
## 线性方程组求解
|
||
|
||
提供了一系列求解方法: [http://docs.scipy.org/doc/scipy/reference/sparse.linalg.html#solving-linear-problems](http://docs.scipy.org/doc/scipy/reference/sparse.linalg.html#solving-linear-problems)
|
||
|
||
主要使用的是迭代方法求解。
|
||
|
||
## 特征值分解和奇异值分解
|
||
|
||
对于特别大的矩阵,原来的方法可能需要太大的内存,考虑使用这两个方法替代:
|
||
|
||
* `scipy.sparse.linalg.eigs`
|
||
* 返回前 k 大的特征值和特征向量
|
||
* `scipy.sparse.linalg.svds`
|
||
* 返回前 k 大的奇异值和奇异向量
|
||
|
||
## <font color="red">所有的这些操作既可以在稀疏矩阵上使用,也可以在普通矩阵上使用。</font> |