
书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:
- SciPy生态系统概述
- SciPy与NumPy、Matplotlib、Pandas的协同关系
- 核心子模块:
scipy.optimize
(优化)、scipy.integrate
(积分)、scipy.signal
(信号处理)
- 数值计算基础
- 特殊函数:贝塞尔函数(
scipy.special.jn
)、伽马函数(scipy.special.gamma
) - 快速傅里叶变换:
scipy.fft.fft
实现频谱分析
- 线性代数进阶
- 稀疏矩阵运算:
scipy.sparse.csr_matrix
存储与计算 - 矩阵分解:SVD(
scipy.linalg.svd
)、QR分解
- 优化算法实践
- 函数最小值:
scipy.optimize.minimize
(支持BFGS/牛顿法) - 全局优化:
scipy.optimize.differential_evolution
- 曲线拟合:
scipy.optimize.curve_fit
非线性最小二乘
- 数值积分技术
- 定积分计算:
scipy.integrate.quad
自适应求积 - ODE求解:
scipy.integrate.solve_ivp
处理常微分方程组
- 信号处理应用
- 滤波器设计:
scipy.signal.butter
巴特沃斯滤波器 - 峰值检测:
scipy.signal.find_peaks
- 时频分析:短时傅里叶变换(
scipy.signal.stft
)
- 统计分析工具
- 概率分布:
scipy.stats.norm
正态分布采样与检验 - 假设检验:t检验(
scipy.stats.ttest_ind
)、卡方检验
- 插值与逼近
- 一维插值:
scipy.interpolate.interp1d
(线性/三次样条) - 网格数据插值:
scipy.interpolate.griddata
- 图像处理技术
- 形态学操作:
scipy.ndimage.binary_erosion
二值图像处理 - 图像滤波:
scipy.ndimage.gaussian_filter
高斯平滑
- 空间算法应用
- 距离计算:
scipy.spatial.distance.cdist
矩阵距离 - 凸包计算:
scipy.spatial.ConvexHull
- Delaunay三角剖分:
scipy.spatial.Delaunay
- 距离计算:
- 稀疏矩阵优化
- 存储格式对比:CSR、CSC、COO
- 线性系统求解:
scipy.sparse.linalg.spsolve
- 并行计算加速
scipy.fft
的多线程支持- 使用
joblib
并行化SciPy运算
- 与NumPy深度集成
- 广播规则在SciPy函数中的应用
- 内存共享机制(
np.ndarray
与SciPy对象互转)
- 文件IO处理
- 科学数据格式:
scipy.io.loadmat
读取MATLAB文件 - 矩阵市场格式:
scipy.io.mmread
加载稀疏矩阵
- 科学数据格式:
- 物理建模案例
- 薛定谔方程求解:
scipy.sparse.linalg.eigs
- 热传导模拟:有限差分法实现
- 薛定谔方程求解:
- 机器学习支持
- 核函数计算:
scipy.spatial.distance.pdist
- 层次聚类:
scipy.cluster.hierarchy.linkage
- 核函数计算:
- 性能调优技巧
- 避免循环:向量化运算优先
- 选择最优算法(如
scipy.optimize
中不同求解器对比)
- 自定义函数扩展
- 编写Cython加速关键SciPy函数
- 使用
scipy.LowLevelCallable
包装C函数
- 异常处理机制
- 收敛失败检测(如优化算法
OptimizeWarning
) - 数值稳定性检查(条件数计算)
- 收敛失败检测(如优化算法
- 实际项目集成
- 与Pandas结合进行数据预处理
- 在Jupyter Notebook中交互式可视化结果