packages feed

egison-4.1.3: lib/math/algebra/tensor.egi

--
--
-- 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 (\_ -> 0) ns

def (.') %t1 %t2 := foldr (+') 0 (contract (t1 *' t2))

def (.) %t1 %t2 := foldr (+) 0 (contract (t1 * t2))