(define $N 3) (define $params [| x y z |]) (define $g [| [| 1 0 0 |] [| 0 1 0 |] [| 0 0 1 |] |]) (define $hodge (lambda [%A] (let {[$k (df-order A)]} (with-symbols {i j} (* (sqrt (abs (M.det g_#_#))) (foldl . (. (ε' N k)_[i_1]..._[i_N] A..._[j_1]..._[j_k]) (map 1#g~[i_%1]~[j_%1] (between 1 k)))))))) (define $dx [| 1 0 0 |]) (define $dy [| 0 1 0 |]) (define $dz [| 0 0 1 |]) (hodge dx) ;[| [| 0 0 0 |] [| 0 0 1 |] [| 0 0 0 |] |] = (wedge dy dz) (hodge (wedge dx dy)) ;[| 0 0 1 |] = dz