einsum_into

Function einsum_into 

Source
pub fn einsum_into<T: EinsumScalar>(
    notation: &str,
    operands: Vec<EinsumOperand<'_>>,
    output: StridedViewMut<'_, T>,
    alpha: T,
    beta: T,
    size_dict: Option<&HashMap<char, usize>>,
) -> Result<()>
Expand description

Parse and evaluate an einsum expression, writing the result into a pre-allocated output buffer with alpha/beta scaling.

output = alpha * einsum(operands) + beta * output

Pass size_dict to specify sizes for output indices not present in any input (generative outputs like "->ii" or "i->ij").

§Example

use strided_opteinsum::{einsum_into, EinsumOperand};

let mut c = StridedArray::<f64>::col_major(&[2, 2]);
einsum_into("ij,jk->ik", vec![a.into(), b.into()], c.view_mut(), 1.0, 0.0, None)?;