pub fn einsum_with<B: TensorBackend>(
engine: &mut Engine<B>,
inputs: &[&TracedTensor],
subscripts: &str,
optimize: EinsumOptimize,
) -> Result<TracedTensor>Expand description
N-ary einsum with explicit contraction strategy.
See EinsumOptimize for all available strategies and examples.
§Examples
ⓘ
use tenferro::einsum::{einsum_with, EinsumOptimize};
use tenferro::engine::Engine;
use tenferro::traced::TracedTensor;
// Left-to-right, no optimizer
let c = einsum_with(&mut engine, &[&a, &b, &c], "ij,jk,kl->il",
EinsumOptimize::False);
// JAX-compatible explicit path
let c = einsum_with(&mut engine, &[&a, &b, &c], "ij,jk,kl->il",
EinsumOptimize::Path(vec![(1, 2), (0, 1)]));