任意精度公式分析器和求解器。
formula的Python项目详细描述
公式-任意精度公式分析器和求解器
开发状态
状态:生产/稳定
发展计划:
- 支持复数。(默认情况下,字符
i
保留给它。)
这个项目是用pybind11构建的。
安装
在Unix上(Linux、OS X)
pip install formula
在Windows上(需要Visual Studio 2015)
对于Python 3.5+:
- 克隆此存储库
pip install ./formula
对于早期版本的python,包括python 2.7:
pip install命令将检测版本 用于构建python并尝试构建扩展的编译器的 有了它。我们必须强制使用Visual Studio 2015。 - 克隆此存储库
"%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" x64
set DISTUTILS_USE_SDK=1
set MSSdk=1
pip install ./formula
注意,这要求用户构建
formula
具有注册表版本 在计算机上的权限,以便能够运行vcvarsall.bat
脚本。
Windows运行时要求
在Windows上,VisualC++ 2015可重分发包是运行时 本项目要求。可以找到here。如果使用anaconda python发行版,则可能需要visual studio 将运行时作为与平台相关的运行时要求打包:
requirements:build:-python-setuptools-pybind11run:-python-vs2015_runtime# [win]
文档
formula包含区分大小写(默认情况下)的字符串分析器。
假设我们有一个字符串表达式,例如"(x^2+y)/sin(a*z)"
。
我们要在以下几点计算此函数的值:
x=0.001, y=0.0000000000000000000000555, z=-2, a=-1,
所以我们将表达式传递给formula
构造函数。
fromformulaimportFormulaf5a=Formula("(x^2+y)/sin(a*z)")
调用get(...)
方法或get_derivative(...)
即可计算
表达式的值或此时表达式的导数。
variables={"x":"0.001","y":"0.0000000000000000000000555","z":"-2","a":"-1",}value=f5a.get(variables)x_derivative=f5a.get_derivative("x",variables)z_derivative=f5a.get_derivative("z",variables)
许可证
formula是在apache许可证下提供的,可以在许可证中找到 文件。通过使用、分发或参与此项目,您同意 本许可证的条款和条件。
测试调用
fromformulaimportFormulapi=Formula("2*asin(x)",64).get({"x":"1"})