Python科学计算(第2版)
上QQ阅读APP看书,第一时间看更新

1.3.1 数值计算库

NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库来处理这些数组。在下面的例子中,使用如下公式计算π,可以看到在NumPy中使用数组运算替代通常需要借助循环的运算:

    import numpy as np
    n = 100000
    np.sum(4.0 / np.r_[1:n:4, -3:-n:-4])
    3.141572653589833

SciPy则在NumPy基础上添加了众多的科学计算所需的各种工具,它的核心计算部分都是一些久经考验的Fortran数值计算库,例如:

●线性代数使用LAPACK库

●快速傅立叶变换使用FFTPACK库

●常微分方程求解使用ODEPACK库

●非线性方程组求解以及最小值求解等使用MINPACK库

在下面的例子中,使用SciPy中提供的数值积分函数quad()计算π

    from scipy.integrate import quad
    quad(lambda x:(1-x**2)**0.5, -1, 1)[0] * 2
    3.141592653589797