evaluate_complex

Function evaluate_complex 

Source
pub fn evaluate_complex(
    expr: &Expression,
    values: &HashMap<String, f64>,
) -> SymEngineResult<Complex64>
Expand description

Evaluate an expression to a complex number.

This function can handle expressions containing the imaginary unit I, which is essential for quantum computing applications.

§Arguments

  • expr - The expression to evaluate
  • values - Map of variable names to real values

§Returns

The complex result of the evaluation.

§Errors

Returns error if evaluation fails (undefined variables, etc.)

§Example

use quantrs2_symengine_pure::eval::evaluate_complex;
use std::collections::HashMap;

let expr = Expression::i() * Expression::symbol("x");
let mut values = HashMap::new();
values.insert("x".to_string(), 2.0);

let result = evaluate_complex(&expr, &values)?;
assert!((result.re - 0.0).abs() < 1e-10);
assert!((result.im - 2.0).abs() < 1e-10);