Crate quantrs2_symengine_pure

Crate quantrs2_symengine_pure 

Source
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_core for complex numbers, arrays, and random generation
  • COOLJAPAN Policy: Uses oxicode for 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>