-- -- -- Tensor -- -- infixl expression 7 . infixl expression 7 .' def tensorOrder %A := length (tensorShape A) def unitTensor ns := generateTensor kroneckerDelta ns def scalarToTensor x ns := x * unitTensor ns def zeroTensor ns := generateTensor (\xs -> 0) ns def (.') %t1 %t2 := sum' (contract (t1 *' t2)) def (.) %t1 %t2 := sum (contract (t1 * t2))