#!/usr/bin/env python # coding: utf-8 # # 稀疏矩阵的线性代数 # 对于稀疏矩阵来说,其线性代数操作可以使用 `scipy.sparse.linalg` 实现: # In[1]: 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 # # 主要使用的是迭代方法求解。 # ## 特征值分解和奇异值分解 # 对于特别大的矩阵,原来的方法可能需要太大的内存,考虑使用这两个方法替代: # # - `scipy.sparse.linalg.eigs` # - 返回前 k 大的特征值和特征向量 # - `scipy.sparse.linalg.svds` # - 返回前 k 大的奇异值和奇异向量 # ## 所有的这些操作既可以在稀疏矩阵上使用,也可以在普通矩阵上使用。