QuantRS2 SymEngine Pure
A pure Rust symbolic mathematics library for quantum computing.
This crate provides symbolic computation capabilities without any C/C++ dependencies, using egg for e-graph based simplification and optimization.
Features
- Pure Rust: No C/C++ dependencies, fully portable
- Symbolic Expressions: Create and manipulate symbolic mathematical expressions
- Automatic Differentiation: Compute symbolic gradients and Hessians
- E-Graph Optimization: Advanced expression simplification via equality saturation
- Quantum Computing: Specialized support for quantum gates, operators, and states
- SciRS2 Integration: Seamless integration with the SciRS2 scientific computing ecosystem
Quick Start
use Expression;
// Create symbolic expressions
let x = symbol;
let y = symbol;
// Perform operations
let expr = x.clone * x.clone + x.clone * 2.0 * y.clone + y.clone * y.clone;
let expanded = expr.expand;
// Compute derivatives
let dx = expr.diff;
println!;
println!;
Policy Compliance
This crate follows the QuantRS2 policies:
- Pure Rust Policy: No C/C++/Fortran dependencies
- SciRS2 Policy: Uses
scirs2_corefor complex numbers, arrays, and random generation - COOLJAPAN Policy: Uses
oxicodefor serialization (not bincode) - No unwrap Policy: All fallible operations return Result types