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 evaluatevalues- 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);