Expand description
§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 quantrs2_symengine_pure::Expression;
// Create symbolic expressions
let x = Expression::symbol("x");
let y = Expression::symbol("y");
// 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(&x);
println!("Expression: {}", expr);
println!("Derivative wrt x: {}", dx);§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
Re-exports§
pub use error::SymEngineError;pub use error::SymEngineResult;pub use expr::Expression;pub use matrix::SymbolicMatrix;
Modules§
- cache
- Expression caching and memoization.
- diff
- Symbolic differentiation module.
- error
- Error types for the symbolic mathematics library.
- eval
- Expression evaluation module.
- expr
- Expression AST and core types for symbolic computation.
- matrix
- Symbolic matrix operations.
- ops
- Mathematical operations for symbolic expressions.
- optimization
- VQE/QAOA optimization support.
- parser
- Expression parser for mathematical expressions.
- pattern
- Pattern matching for quantum expressions.
- quantum
- Quantum computing specific symbolic operations.
- scirs2_
bridge - SciRS2 integration module.
- serialize
- Serialization support for symbolic expressions.
- simplify
- Expression simplification using e-graph equality saturation.
Constants§
- VERSION
- Library version
Functions§
- is_
available - Check if the library is available (always true for pure Rust implementation)
- is_
pure_ rust - Check if this is the pure Rust implementation
Type Aliases§
- Complex64
- Alias for a
Complex<f64>