问题:
在用Python实现求解雅可比矩阵时,导入numdifftools包出错。
import numdifftools as nd
提示:
No module named 'numdifftools'
numdifftools:
numdifftools库是一套用python编写的工具,求解一个或多个变量的自动数值微分问题。
它提供了以下方法:
- 导数:计算任何标量函数上1到10阶的导数。
- 方向差异:计算n个变量函数的方向导数
- 梯度:计算一个或多个变量的标量函数的梯度向量。
- 雅可比矩阵:计算一个或多个变量的向量值函数的雅可比矩阵。
- hessian:计算一个或多个变量的标量函数的所有二阶偏导数的hessian矩阵。
- hessdiag:仅计算hessian矩阵的对角元素
解决:
按照Python官方文档,如果安装了pip,就可以直接使用如下命令安装numdifftools包
pip install numdifftools
但是我在下载的时候一直显示超时,无奈又找了另一种方法。
那就是通过anaconda安装,如果你恰好也有anaconda环境,打开终端输入以下任意一条命令即可:
conda install -c conda-forge numdifftools
conda install -c conda-forge/label/gcc7 numdifftools
conda install -c conda-forge/label/cf201901 numdifftools
conda install -c conda-forge/label/cf202003 numdifftools
将下来系统会自动帮我们从云端安装numdifftools包
如图所示就安装好啦!
可以查看一下numdifftools的版本号:
>>>import numdifftools as nd
>>>print(nd.__version__)
如图:
大功告成,可以继续愉快地撸代码啦!
参考: