数值优化/最小化

optip的Python项目详细描述


optipy

CircleCIcodecovCodacy gradePyPi VersionGitHub stars

optipy包含一种通用的优化/最小化方法。它的创造是 由于没有实现牛顿方法的习惯 在scipy中的hessian解算器(参见this bug)。

强制性的rosenbrock示例:

a=1.0b=100.0deffun(x):return(a-x[0])**2+b*(x[1]-x[0]**2)**2defjac(x):returnnumpy.array([-2*(a-x[0])-4*b*(x[1]-x[0]**2)*x[0],2*b*(x[1]-x[0]**2)])defhess_inv(x,grad):hess=numpy.array([[2+8*b*x[0]**2-4*b*(x[1]-x[0]**2),-4*b*x[0]],[-4*b*x[0],2*b]])return-numpy.linalg.solve(hess,grad)sol=optipy.minimize(fun=fun,x0=[-1.0,3.5],jac=jac,get_search_direction=hess_inv,atol=1.0e-5)

这基本上就是精确的牛顿法。设置get_search_direction时 为了lambda x, grad: -grad,我们得到了最速下降法。对于更大的 计算,通常会用一个定制的解算器来代替它,例如 预处理的krylov解算器。

返回类型在很大程度上与scipy的泛型返回类型兼容, OptmizeResult

安装

optipy是available from the Python Package Index,所以只要做

pip install -U optipy

安装或升级。使用sudo -H以根用户身份安装或--user选项 安装在$HOME中。

测试

要运行optipy单元测试,请签出此存储库并键入

pytest

分布

创建新版本

  1. __version__号撞一下,

  2. 发布到pypi并在github上标记:

    $ make publish
    

许可证

optipy发布在MIT license下。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将spring j_spring_安全检查迁移到登录   log4j2中自定义appender中AppConfig的java问题   在将java转换为Json时是否可以忽略内部类名和变量   用java将PDF文件转换为十六进制格式   java将值从AsyncTask返回到主类   java如何导入带有部署变量类名的静态函数?   java Spring Boot@ConfigurationProperties未从环境检索属性   java为什么API调用需要80毫秒的延迟才能到达控制器(在Google应用程序引擎中)?   XML配置中MarshallingMessageConverter中的java设置MarshallTo获取无效属性“MarshallTo”   java从群中获取facebook帖子   @ComponentScan的java excludeFilters不起作用   java将单选按钮值从一个类传递到另一个类   java使JTextArea在Swing中可滚动   java Android增强现实应用程序:将球坐标旋转到设备坐标系