FuncDesigner
FuncDesigner is a computer algebra system (CAS) written as a Python module. It is cross-platform software (Linux, Windows, Mac OS X etc), with a completely free (BSD) license.
FuncDesigner uses NumPy arrays and SciPy sparse matrices, and thus depends on the NumPy and SciPy modules, which are also freely available. FuncDesigner can be easily used in any Python program, and allows recursive import of variables/formulas from other files.
The CAS enhances the RAD abilities of the Python language for developing scientific software, especially for
- (possibly large-scale sparse) numerical optimization (via OpenOpt, another tool of FuncDesigner developers)
- solving systems of
- linear equation systems, dense and sparse
- non-linear equation systems (one of solvers, interalg, is capable of obtaining all solutions)
- ordinary differential equation systems
- interpolation
- integration
- uncertainty analysis
- interval analysis
One of FuncDesigner key features is Automatic differentiation (AD) (not to be confused with Numerical differentiation via finite-differences derivatives approximation and symbolic differentiation provided by Maxima, SymPy etc), that seriously benefits modelling and solving some numerical optimization problems and systems of linear, non-linear, ordinary differential equations.
For those parts of code that cannot be covered by automatic differentiation (e.g. connected from other programming languages, have cycles "while"), FuncDesigner involves DerApproximator - a package for getting/checking derivatives via finite-difference stencil approximation.
Also, FuncDesigner powers SpaceFuncs - tool for 2D, 3D, N-dimensional geometric modeling with possibilities of parametrized calculations, numerical optimization and solving systems of geometrical equations, made by same developers.
You can try all the modules mentioned above on-line (without installation) via the SAGE-server (unfortunately, it often hangs due to high load).
External links
- FuncDesigner homepage and documentation
- SpaceFuncs
- DerApproximator