github:SciPy 是一个开源的 Python 算法库和数学工具包。官方用户指南
包含的模块有:
项目 | Value |
scipy.cluster | 聚类 |
scipy.constants | 数学常量 |
scipy.fft | 快速傅里叶变换 |
scipy.integrate | 积分 |
scipy.interpolate | 插值 |
scipy.io | 数据输入输出 |
scipy.linalg | 线性代数 |
scipy.misc | 图像处理 |
scipy.ndimage | N 维图像 |
scipy.odr | 正交距离回归 |
scipy.optimize | 优化算法 |
scipy.signal | 信号处理 |
scipy.sparse | 稀疏矩阵 |
scipy.spatial | 空间数据结构和算法 |
scipy.special | 特殊数学函数 |
scipy/stats | 统计函数 |
Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy。
Scipy的每个模块功能强大,比如,其特殊数学模块能实现 椭圆函数和积分,贝塞尔函数,原始统计函数,信息论函数,Gamma 和相关函数,误差函数和菲涅耳积分,勒让德函数,椭圆谐波,正交多项式,超几何函数,抛物线圆柱函数,Mathieu 和相关函数,球面波函数等。
可以在此网站上获取一张图片(代码见尾部)
在函数实现的介绍部分列有参考文献以介绍函数的实现原理,比如生成随机矩阵,F. Mezzadri,“如何从经典紧致群生成随机矩阵”,arXiv:math-ph/0609050v2。Basin-hopping 是一种两阶段方法,它将全局步进算法与每一步的局部最小化相结合。它旨在模拟原子簇能量最小化的自然过程,它适用于具有“漏斗状但崎岖不平”的能量景观的类似问题Olson, B.、Hashmi, I.、Molloy, K. 和 Shehu1, A.,盆地跳跃作为生物大分子表征的通用和多功能优化框架,人工智能进展,2012 年卷(2012 年),文章 ID 674832,DOI:10.1155/2012/674832希尔伯特矩阵是一种数学变换矩阵,正定,且高度病态(即,任何一个元素发生一点变动,整个矩阵的行列式的值和逆矩阵都会发生巨大变化),病态程度和阶数相关。创建n阶 Hilbert 矩阵,
获取图片
import scipy.misc
ascent = scipy.misc.face()
ascent.shape
ascent.max()
import matplotlib.pyplot as plt
# plt.gray()
plt.imshow(ascent)
plt.show()
解方程
import numpy as np
from scipy.optimize import root,fsolve
## 使用scipy.optimize模块的fsolve函数进行数值求解方程
## 求解f(x)=2*sin(x)-x+1
def f1(x):
return np.sin(x)*2-x+1
value = fsolve(f1,[2])
print(value)