/* Heizenberg Group */ /* simpliest non-abelian group : < a b | [[a,b],a] = [[a,b],b] = e > */ n : ident (3) $ z : zeromatrix(3,3) $ a : ematrix (3, 3, 1, 1, 2) + n ; b : ematrix (3, 3, 1, 2, 3) + n ; c : ematrix (3, 3, 1, 1, 3) + n ; /* x ∙ y - y ∙ x */ lie_braket (x , y) := x . y - y . x $ /* x ∙ y ∙ x⁻ ∙ y⁻ */ commutat (x , y) := x . y . invert (x) . invert (y) $ /* test suitee */ "Jacoby equity :" $ j1 : lie_braket (lie_braket(a , b) , c) $ j2 : lie_braket (lie_braket(b , c) , a) $ j3 : lie_braket (lie_braket(c , a) , b) $ print (is (equal ((j1 + j2 + j3) , z))) $ " [a , b] = c where [] - commutator" $ print (is (equal (commutat (a, b) , c))) $ " [a , c] = n where [] - commutator" $ print (is (equal (commutat (a, c) , n))) $ " [b , c] = n where [] - commutator" $ print (is (equal (commutat (b, c) , n))) $