A symbolic math library and computer algebra system for Rust, providing symbolic differentiation, integration, equation solving, and more.
MathCore is a symbolic mathematics library and computer algebra system (CAS) built for Rust. It enables developers to perform advanced mathematical operations like symbolic differentiation, integration, and equation solving, making it suitable for scientific computing, education, and optimization tasks where exact or symbolic manipulation is required.
Rust developers working in scientific computing, machine learning optimization, engineering simulations, educational software, or financial calculations that demand symbolic math or exact arithmetic.
Developers choose MathCore for its comprehensive symbolic math capabilities within Rust's ecosystem, offering performance through optimized parsing, integration with nalgebra for linear algebra, and features like arbitrary precision arithmetic for lossless calculations not typically found in pure numerical libraries.
Symbolic math library and computer algebra system for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports symbolic differentiation, integration, and equation solving, as shown in the README with examples like differentiating x^2+2*x+1 to get 2*x+2.
Leverages nalgebra for matrix operations, enabling symbolic linear algebra with performance benefits from BLAS when available, demonstrated in matrix determinant and system solving examples.
Uses BigInt and BigRational for exact calculations without floating-point errors, illustrated by computing π with 100 digits or adding rational numbers like 1/3 + 1/6 to get 1/2.
Includes diverse features like ASCII plotting, ODE/PDE solvers, and FFT, making it a versatile CAS for scientific computing, optimization, and education, as highlighted in the advanced usage sections.
At version 0.3.1, it may lack the stability and comprehensive feature set of mature CAS, with potential breaking changes and limited long-term support.
Compared to full CAS, it has a restricted set of functions—for example, sec(x) is only available through derivatives, and the README lists only basic trigonometric and utility functions.
Symbolic operations can be slower than numerical methods for large-scale computations; the README notes parsing at ~1μs, but matrix ops and integration might not scale as well for real-time applications.