Python科学计算最佳实践:SciPy指南([澳]伊格莱西亚斯)

书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注