Skip to main content

operator_into

Function operator_into 

Source
pub fn operator_into(
    op: &Operator,
    a: Prim,
    b: Prim,
    scale: f64,
    out_re: &mut [f64],
    out_im: &mut [f64],
)
Expand description

Accumulate scale · ⟨a | Op | b⟩ for one primitive pair into the real and imaginary Cartesian shell-pair blocks out_re/out_im (each row-major n_cart(la) × n_cart(lb), the same layout as crate::os::overlap_into).

The only engine call is overlap_into, at ket momenta 0..=l_b + degree; the operator’s r/p factors are decomposed symbolically (see the module docs). scale is the contraction-coefficient product for this primitive pair, supplied by the driver.

§Panics

Debug-asserts the block sizes and that the operator does not raise the ket beyond MAX_L (l_b + Op::degree() ≤ MAX_L); the driver enforces the latter with a typed error.