pub fn outer(a: &Tensor, b: &Tensor) -> Tensor
Outer (tensor) product: C_{i₁…iₐ j₁…jᵦ} = A_{i₁…iₐ} * B_{j₁…jᵦ}.
Result rank = rank(A) + rank(B). Each element is a single product — no accumulation needed.