pub fn einsum_with_subscripts_into<T: Scalar + HasAlgebra>(
subscripts: &Subscripts,
operands: &[&Tensor<T>],
alpha: T,
beta: T,
output: &mut Tensor<T>,
) -> Result<()>Expand description
Execute einsum with pre-built Subscripts, accumulating into an existing output.
Computes output = alpha * einsum(operands) + beta * output.
Avoids re-parsing the subscript string on each call.
§Examples
ⓘ
use tenferro_einsum::{einsum_with_subscripts_into, Subscripts};
use tenferro_tensor::{Tensor, MemoryOrder};
use tenferro_device::LogicalMemorySpace;
let subs = Subscripts::new(&[&[0, 1], &[1, 2]], &[0, 2]);
let mut c = Tensor::<f64>::zeros(&[3, 5], LogicalMemorySpace::MainMemory, MemoryOrder::ColumnMajor);
// C = 1.0 * (A @ B) + 0.0 * C
einsum_with_subscripts_into(&subs, &[&a, &b], 1.0, 0.0, &mut c).unwrap();§Errors
Returns an error if tensor shapes are incompatible with the subscripts or the output shape does not match.