Grassmann Algebra Operators
Symmetric inner product
axiom
idot:=display(operator('dot,2), (x:List OutputForm):OutputForm +->
hconcat([x.1,_{_\cdot_} ,x.2]));
axiom
dot(A:EXPR INT,B:EXPR INT):EXPR INT == (smaller?(A,B)=>idot(A,B);idot(B,A))
Function declaration dot : (Expression(Integer),Expression(Integer))
-> Expression(Integer) has been added to workspace.
Type: Void
axiom
dot(P, Q)=dot(Q,P)
axiom
Compiling function dot with type (Expression(Integer),Expression(
Integer)) -> Expression(Integer)
Type: Equation(Expression(Integer))
Exterior product
axiom
ihat:=display(operator('hat,2), (x:List OutputForm):OutputForm +->
hconcat([x.1,_{_\wedge_} ,x.2]));
axiom
hat(A:EXPR INT,B:EXPR INT):EXPR INT == (smaller?(A,B)=>ihat(A,B);-ihat(B,A))
Function declaration hat : (Expression(Integer),Expression(Integer))
-> Expression(Integer) has been added to workspace.
Type: Void
axiom
hat(P, Q)=-hat(Q,P)
axiom
Compiling function hat with type (Expression(Integer),Expression(
Integer)) -> Expression(Integer)
Type: Equation(Expression(Integer))
axiom
1+1
- Proof of the main theorem 15 (isometry from bivector)
axiom
eq33 := matrix [[-dot(P,P), -dot(P,Q)+c],[dot(Q,P)+c, dot(Q,Q)]]
Type: Matrix(Expression(Integer))
axiom
eq35 := inverse(eq33)
Type: Union(Matrix(Expression(Integer)),...)
axiom
simplifyHatSquare:=ruleset([rule dot(P, Q)^2-dot(P, P)*dot(Q, Q) == hat(P, Q)^2,rule
-dot(P, Q)^2+dot(P, P)*dot(Q, Q) == -hat(P, Q)^2])
Type: Ruleset(Integer,Integer,Expression(Integer))
axiom
map(x+->simplifyHatSquare(x),eq35)
Type: Matrix(Expression(Integer))