It might be a silly question, but I was never mathematically introduced to the topic. Is there a representation for Grassmann Variables using real field. For example, gamma matrices have a representation, is it not possible for Grassmann Variables? The reason for a representation is, then probably it will be easier to derive some of the properties.
2 Answers
The following code for Mathematica implements 4-dimensional (with 2 generators) Gressmann numbers:
Clear["Global`*"]
Unprotect[Log]; Log[0] = \[Lambda]; Protect[Log];
Unprotect[Power];
Power[0, 0] = 1;
Protect[Power];
Unprotect[Dot];
Dot[x_?NumberQ, y_] := x y;
Protect[Dot];
Matrix /: Matrix[x_?MatrixQ] :=
First[First[x]] /; x == First[First[x]] IdentityMatrix[Length[x]];
Matrix /: NonCommutativeMultiply[Matrix[x_?MatrixQ], y_] :=
Dot[Matrix[x], y];
Matrix /: NonCommutativeMultiply[Matrix[y_, x_?MatrixQ]] :=
Dot[y, Matrix[x]];
Matrix /: Dot[Matrix[x_], Matrix[y_]] := Matrix[x . y];
Matrix /: Matrix[x_] + Matrix[y_] := Matrix[x + y];
Matrix /: x_?NumericQ + Matrix[y_] :=
Matrix[x IdentityMatrix[Length[y]] + y];
Matrix /: x_?NumericQ Matrix[y_] := Matrix[x y];
Matrix /: Matrix[x_]*Matrix[y_] := Matrix[x . y] /; x . y == y . x;
Matrix /: Power[Matrix[x_ ?MatrixQ], y_] :=
Matrix[MatrixPower[x, y]];
Matrix /: Power[Matrix[x_?MatrixQ], Matrix[y_?MatrixQ]] :=
Exp[Matrix[y] . Log[Matrix[x]]];
Matrix /: Im[Matrix[x_?MatrixQ]] := Matrix[Im[x]]
Matrix /: Re[Matrix[x_?MatrixQ]] := Matrix[Re[x]]
Matrix /: Arg[Matrix[x_?MatrixQ]] := Matrix[Arg[x]]
$Post2 =
FullSimplify[FullSimplify[# /. Subscript[[Theta], 1] -> Matrix[( {
{0, 0, 0, 0},
{1, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 1, 0}
} )] /. Subscript[[Theta], 2] -> Matrix[( {
{0, 0, 0, 0},
{0, 0, 0, 0},
{1, 0, 0, 0},
{0, -1, 0, 0}
} )] /. [CurlyEpsilon] -> Matrix[( {
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{1, 0, 0, 0}
} )] /.
f_[args1___?NumericQ, Matrix[mat_], args2___?NumericQ] :>
Matrix[MatrixFunction[f[args1, #, args2] &, mat]]] /.
Matrix[( {
{a_, 0, 0, 0},
{b_, a_, 0, 0},
{c_, 0, a_, 0},
{d_, , b, a_}
} )] :>
a + b Subscript[[Theta], 1] + c Subscript[[Theta], 2] +
d [CurlyEpsilon]] /. Matrix[( {
{a_, 0, 0, 0},
{b_, a_, 0, 0},
{c_, 0, a_, 0},
{d_, , b, a_}
} )] :>
a + b Subscript[[Theta], 1] + c Subscript[[Theta], 2] +
d [CurlyEpsilon] &;
$Post = Nest[$Post2, #, 3] /. Dot -> NonCommutativeMultiply &;
Test:
In:=Sqrt[Subscript[\[Theta], 1] + Subscript[\[Theta],
2] + \[CurlyEpsilon] + 5]
Out:=(10+[CurlyEpsilon]+Subscript[[Theta], 1]+Subscript[[Theta], 2])/(2 Sqrt[5])
- 11,524