rssn is an open-source scientific computing library for Rust, combining a high-performance symbolic computation engine with numerical methods support and physics simulations functionalities.
At its core, rssn utilizes a Directed Acyclic Graph (DAG) to represent mathematical expressions, ensuring that they are always in a canonical form. This allows for highly efficient memory use and computational speed.
x^2 to 1 - y^2 given x^2 + y^2 - 1 = 0).cdylib) is available for integration with other languages like Python, C++, and Fortran.Add rssn to your Rust project:
cargo add rssn
Then, perform a simple symbolic differentiation:
use rssn::symbolic::core::Expr;
use rssn::symbolic::calculus::differentiate;
// Define a variable 'x'
let x = Expr::new_variable("x");
// Define the expression: sin(x)
let expr = Expr::new_sin(x);
// Differentiate with respect to 'x'
let derivative = differentiate(&expr, "x");
// The result will be cos(x)
println!("The derivative of {} is: {}", expr, derivative);
For more advanced examples, such as simplification with relations, please see the API documentation.
We welcome contributions of all kinds — bug fixes, performance optimizations, new algorithms, and documentation improvements. See CONTRIBUTING.md for detailed guidelines.
Licensed under the Apache 2.0 License. Please see LICENSE for more details.
Please see ARCHITECTURE for more details.
Please see CODE_STASTICS for more details.
Please see ATTRIBUTIONS for more details.
Please see SECURITY for more details.
Please see CODE_OF_CONDUCT for more details.
Report of abuse are fully avalible in this project.
Please see the GitHub wiki Page for more details.
As one of the primary author, I extend my deepest gratitude for your interest in this project.
I am a high school student in mainland China with an interest in the field of hep-th and computing science. Due to my demanding academic commitments, sometimes my time is limited, and my responses to issues and core pull requests which need my review may sometimes be delayed.
And also, as one of the mission of Apich, we will continue to test the edges of the current AI system assisted coding and development. Discussions on that is welcomed but only without hate.
I sincerely appreciate all of your patience and understanding, and I welcome any contribution from the community.
— Pana Yang