Expand description
simsym — a simple symbolic computation library.
§Cargo features
simplify(default): algebraic simplification viaExpr::simplifydiff(default): symbolic differentiation,Expr::gradient,Expr::hessianintegrate(default, impliesdiff): symbolic integration andExpr::integrate_definite
Build a minimal core (expression AST, rationals, evaluation only):
cargo build --no-default-featuresuse simsym::prelude::*;
let x = symbol("x");
let f = x.pow(2) + rational(2, 1) * x;
let val = f.eval(&[(x, rational(1, 2))]).unwrap();
assert_eq!(val, rational(5, 4));Re-exports§
pub use eval::EvalError;pub use expr::Expr;pub use constant::Constant;pub use rational::rational;pub use rational::rational_from_i32;pub use rational::Rational;pub use symbol::symbol;pub use symbol::Symbol;pub use calculus::integrate_numeric;pub use calculus::DefiniteIntegralError;pub use calculus::NumericOptions;pub use calculus::integrate;pub use calculus::integrate;pub use calculus::integrate_definite;pub use calculus::IntegrateError;pub use calculus::diff;pub use calculus::diff;pub use calculus::diff_without_simplify;pub use calculus::gradient;pub use calculus::hessian;
Modules§
- calculus
- Symbolic and numeric calculus (enabled via Cargo features).
- constant
- Expression constants:
Rationalor, with thebigintfeature, arbitrary-precision [BigRational]. - display
- eval
- expr
- poly
- Univariate polynomial normal form: combine like terms, order by descending degree.
- prelude
- rational
- simplify
- symbol