Grassman valued spinors..?

254 views
Skip to first unread message

Louise Anderson

unread,
Jan 19, 2016, 9:16:18 AM1/19/16
to xAct Tensor Computer Algebra
Hello!
I am sorry if this is a stupid question as I am all new to xAct. So far it seems very promising, but I do not understand how I handle grassman spinors, is there a way to do it? ...As soon as Fermions come into play, this becomes an issue for me... 

I want to consider expressions such as 

x^A  (  Sigma_{ a b }  )_A ^B Y_B for some grassman-spinors X and Y. Is this possible..? 

Thank you for all the help you can give!
Best,
Louise

Thomas Bäckdahl

unread,
Jan 20, 2016, 2:42:55 AM1/20/16
to xa...@googlegroups.com
Hi!

Spinors are implemented in the Spinors package, but this is just for 4 dimensional Lorentzian manifolds with sign convention + - - - following the notation and conventions in Penrose & Rindler. In SpinorsDoc section 7 you can also find some notes about Dirac spinors.
The other packages that handles spinors are SymManipulator for irreducible decompositions and a set of differential operators. If you want to do spinor calculations in frames using NP or GHP formalism, there is also the package SpinFrames.

I am not familiar with Grassmann spinors, so I am not sure about the meaning of your Sigma. There is a Sigma defined in the Spinors package, with the following definition:
Sigma\[Sigma][-b, -a, B, A] == \[Sigma][-a, A, A\[Dagger]]   \[Sigma][-b, B, -A\[Dagger]]
where \[Sigma][-a, A, A\[Dagger]] is the Soldering form.

If that is the right object you could do something like:

<< xAct`Spinors`
$DefInfoQ = False;
$PrePrint = ScreenDollarIndices;
DefManifold[M4, 4, {a, b, c, d, f, h, l, m, p, q}]
DefMetric[{1, 3, 0}, g[-a, -b], CD, PrintAs -> "g", DefInfo -> False]
SetOptions[DefAbstractIndex, PrintAs -> PrimeDagger];
SetOptions[DefSpinor, PrintDaggerAs -> AddBar];
Off[ValidateSymbol::"capital"]
DefSpinStructure[g, Spin, {A, B, C, D, F, H, L, M, P, Q, R,
  S}, \[Epsilon], \[Sigma], CDe, {";", "\[EmptyDownTriangle]"},
 SpinorPrefix -> SP, SpinorMark -> "S"]
DefSpinor[X[A], M4]
DefSpinor[Y[-A], M4]

Then your expression is
Sigma\[Sigma][-a, -b, -A, B] X[A] Y[-B]

I hope this helps.  If not, ask more.

Regards
Thomas
--
You received this message because you are subscribed to the Google Groups "xAct Tensor Computer Algebra" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xact+uns...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jose

unread,
Jan 23, 2016, 12:58:36 AM1/23/16
to xAct Tensor Computer Algebra
Hi,

Are you looking for an anticommutative Grassmann product? If you can reexpress your problem in indexed notation and using the standard Times product, so that the indices keep track of the relative positions of the objects, xTensor will be much happier. However, if you really want to use an anticommutative product, you can do the following:

Declare your manifold:

In[2]:= DefManifold[M, 4, {a, b, c, d}]

Now introduce a product prod which is anticommutative and associative on non-numeric objects:

In[3]:= DefProduct[prod, CommutativityOfProduct -> "Anticommutative", AssociativeProductQ -> True, IdentityElementOfProduct -> 1]

Define a few objects, say three scalars:

In[4]:= DefTensor[{x[], y[], z[]}, M]

By default nothing happens:

In[5]:= prod[x[], y[]] + prod[y[], x[]]
Out[5]= prod[x[], y[]] + prod[y[], x[]]

But ToCanonical knows that prod is anticommutative, and therefore the previous expression is zero:

In[6]:= ToCanonical[%]
Out[6]= 0

Or here it introduces a sign:

In[7]:= prod[x[], z[], y[]] // ToCanonical
Out[7]= -(prod[x[], y[], z[]])

Cheers,
Jose.

Dario Benedetti

unread,
Jul 19, 2017, 10:12:54 AM7/19/17
to xAct Tensor Computer Algebra
Hi,

this is very useful. I would like to use this type of product in some applications, but I don't find any documentation on the possible options and uses.
In particular, is it possible to define the product such that certain variables anticommute and others commute?
I would like the commuting one to come out of prod. This is already done automatically for numbers, but I don't manage to do it for other objects.
For example, I would like to specify that some tensor A[] is bosonic while x[] and y[] are fermionic, and have ToCanonical to give zero for the following expression:

prod[x[], A[] y[]]  - A[] prod[x[], y[]]

I'm not sure it's meant for that, but I tried to play with GradeOfTensor, failing to find valid option values apart from 0...
I suspect the option ScalarsOfProduct might also be related but I don't understand its usage.

Any help would be very appreciated.
Thanks.

Cheers,
Dario

Dario Benedetti

unread,
Jul 19, 2017, 1:51:49 PM7/19/17
to xAct Tensor Computer Algebra
Ok, after looking more carefully inside xTensor.m I realized that I needed to use the options

"GradedProductQ -> True, CommutativityOfProduct -> "SuperCommutative"

in DefProduct, and then assign Grade 0 to bosons and 1 to fermions.
However, I still don't get how to use "GradeOfTensor". If inside DefTensor I use the option "GradeOfTensor -> 1",
I get the error message "DefTensor::invalid: 1 is not a valid grade specification".
So what I did, after defining a tensor psi, is to input the following:

psi /: Grade[psi[__], prod] = 1;

It seems to work now, but still any comments by the experts would be welcome because I don't have full control of what I'm doing.

Cheers,
Dario

Dario Benedetti

unread,
Jul 19, 2017, 1:51:49 PM7/19/17
to xAct Tensor Computer Algebra
Sorry, I was too fast to post... I understand now that I should use "GradeOfTensor->{prod->1}" in the options of DefTensor, for a product named prod as in the example above.
However, I still don't manage to simplify things like


prod[x[], A[] y[]]  - A[] prod[x[], y[]]

or

prod[x[], A[] y[]]  - prod[x[], y[], A[]]

where x and y have been assigned grade 1, and A grade 0.


Cheers,
Dario



On Wednesday, 19 July 2017 16:12:54 UTC+2, Dario Benedetti wrote:

Leo Stein

unread,
Jul 19, 2017, 1:58:51 PM7/19/17
to Dario Benedetti, xAct Tensor Computer Algebra
Hi Dario,

Glad you found how to use the options for constructing graded algebras.

The product you want should have an implementation similar to what's done for xTerior's Wedge[] product. It sounds like what you want is for bosons to automatically be pulled out of the product. Note that in xTerior, for Wedge, we have used the option ScalarsOfProduct -> (SameQ[Grade[#, Wedge], 0] &) so that it will automatically pull out 0-forms from wedge products. You could do the same thing for your gradation to automatically pull out bosons.

Good luck
Leo

--
You received this message because you are subscribed to the Google Groups "xAct Tensor Computer Algebra" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xact+unsubscribe@googlegroups.com.

Dario Benedetti

unread,
Jul 19, 2017, 7:49:33 PM7/19/17
to xAct Tensor Computer Algebra, dari...@gmail.com
Hi Leo,

that's exactly what I needed, thanks!

Cheers,
Dario
To unsubscribe from this group and stop receiving emails from it, send an email to xact+uns...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages