Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

Hi everyone, here I tried to make some supergravity calculations for N=1, D=4. I needed to use the "substitute" command a lot. Any suggestions to make it more neat and tidy are very welcome. Also is there any other way than using the substitute command to make the cubic expressions vanish?

D{#}::Derivative;
\bar{D{#}}::Derivative;
\bar{#}::DiracBar;
{m,n,p,q,r,s,t,u,m#}::Indices(flat);
{m,n,p,q,r,s,t,u,m#}::Integer(0..3);
{\mu,\nu,\rho,\sigma,\kappa,\lambda,\alpha,\beta}::Indices(curved,position=fixed);
{\mu,\nu,\rho,\sigma,\kappa,\lambda,\alpha,\beta}::Integer(0..3);



e^{m \mu}::Vielbein;
e^{m}_{\mu}::Vielbein;
e_{m \mu}::InverseVielbein;
e_{m}^{\mu}::InverseVielbein;
e::Determinant(e_{m \mu});
e::Determinant(e_{m}^{\mu});
e::Determinant(e^{m}_{\mu});
e::Determinant(e^{m \mu});
g^{\mu\nu}::InverseMetric;
g_{\mu\nu}::Metric;
R_{\mu \nu \rho \sigma}::RiemannTensor;



{ \epsilon,\psi_{\mu} }::Spinor(dimension=4, type=Majorana);
\Gamma_{#{m}}::GammaMatrix(metric=\delta);
{ \psi_{\mu},\epsilon }::AntiCommuting;
{ \psi_{\mu}}::SelfAntiCommuting;
{ \epsilon, \psi_{\mu}}::SortOrder;
\Gamma_{#}::Depends(\bar{#});
{ \psi_{\mu}, \epsilon ,\bar{\epsilon}}::Depends(D{#});

First, we write our action as two parts:

S32:=  \int{- 1/2 e \bar{\psi_\mu} \Gamma^{\mu\nu\rho} D_{\nu}{\psi_{\rho}}}{x};

https://cdn.mathpix.com/snip/images/WBO0XVmZ957Ck23XshriFYPw8sk_IavaPRfTe6xjs_8.original.fullsize.png

S2:= \int{ 1/2 e e_{m}^{\mu} e_{n}^{\nu} R_{\mu \nu}^{ m n}}{x};

https://cdn.mathpix.com/snip/images/h2dYl0E3jVqvItigciHp8umJUvShdq038IhN7YwrvXU.original.fullsize.png

Now we define our SUSY rules. (I did not include the variation of $e_{m}^{\mu}$, because it only leads to cubic expressions (for the action S32) and they vanish.)

susy32:= {e -> 1/2 e {\bar{\epsilon} \Gamma^\sigma \psi_\sigma} , \psi_\mu -> D_{\mu}{\epsilon}};

https://cdn.mathpix.com/snip/images/3ENSGl5lXEnFkG0CbxXkqF9jkBDdVHQapmZqSFW-Vik.original.fullsize.png

susy2:= {e -> 1/2 e {\bar{\epsilon} \Gamma^\sigma \psi_\sigma}, e_{m}^{\mu} -> -1/2 {\bar{\epsilon}} \Gamma^{\mu} \psi_m };

https://cdn.mathpix.com/snip/images/Pm5hCnqkWUHJ8Ot0ZuBwxa0dLr9R35F8YNUOm_YZ61M.original.fullsize.png

Let us start to our calculations with the S32 part. First we take the variation of it, according to the rules we defined above.

vS32= vary(S32, susy32);

https://cdn.mathpix.com/snip/images/IpcXrXB4kdonmOLFBnn2i-Fjmw7ErAjddfBdpB8YF0E.original.fullsize.png

Here, I need to erase the bar above the $D_{\mu}$ term because the integrate by parts command does not work properly with the bar.

substitute(_,$\bar{D_{#??}{\epsilon}} -> D_{#??}{\bar{\epsilon}} $);

https://cdn.mathpix.com/snip/images/7Fp8dBqCXObH5ycAe5MYH6eKEns8V7GdEcQejeteBy4.original.fullsize.png

The first term here, is a cubic expression therefore it must be vanish.

substitute(_, $\bar{\epsilon}*A?? -> 0$);

https://cdn.mathpix.com/snip/images/Eg3hn2L1mcsnQIy40RGuf63usfY1k1u9EwomtVAefAA.original.fullsize.png

Manipulating the equations a little bit leads us to use "Clifford algebra".

integrate_by_parts(_, $\bar{\epsilon}$);

https://cdn.mathpix.com/snip/images/p0dif7ueLp5tvuVwcjpAxFWaXQp77FcvxAQfw9HRxX4.original.fullsize.png

product_rule(_);

https://cdn.mathpix.com/snip/images/MUbbrVzWRRx8H51ZgdY4NghEezUL5G2yIh_DggPV2-s.original.fullsize.png

We know that $D{\mu} e = 0$ and $D{\mu}{\Gamma^{\mu\nu\rho}} = 0$ so we substitute it by hand.

substitute(_,$D_{#??}{e}*A?? -> 0$);

https://cdn.mathpix.com/snip/images/53iGZQ0DOe8JtNoFyp2P8QfhRTPF1CSMBj24OYZLYZo.original.fullsize.png

substitute(_, $ D_{#??}{\Gamma^{\mu\nu\rho}}*A?? -> 0 $);

https://cdn.mathpix.com/snip/images/3nQr0LoTJwqJQGP3dg779Oytnvxx5I8GCd1k0etIk5A.original.fullsize.png

Using the Clifford algebra, we can substitute the equations below;

substitute(_, $D_{\mu}{D_{\nu}{A??} } -> 1/8 R_{\mu \nu m n} \Gamma^{m n} A??$ )
sort_spinors(_)
rename_dummies(_);

https://cdn.mathpix.com/snip/images/2eVwLOHgFvlpqdakNsXG9YUQEnpcxAotaPOmldpfFKc.original.fullsize.png

substitute(_, $\Gamma^{\mu \nu \rho}R_{\mu \nu m n}\Gamma^{m n}  -> 4 \Gamma^{\mu}R_{\mu \nu}^{\rho \nu} + 2  \Gamma^{\rho} R_{\mu \nu}^{\nu \mu}$);

https://cdn.mathpix.com/snip/images/NF5k5oDX-GFkrvmIT78pojyFFBbi9dhm8AvqAZDlwdQ.original.fullsize.png

substitute(_, $\Gamma^{\rho \mu \nu}R_{\mu \nu m n}\Gamma^{m n}  -> 4 \Gamma^{\mu}R_{\mu \nu}^{\rho \nu} + 2  \Gamma^{\rho} R_{\mu \nu}^{\nu \mu}$);

https://cdn.mathpix.com/snip/images/Em1EQFVpOJhXYOKHp3NNaQj1m5IrtGPfBZDO3TlAFwo.original.fullsize.png

Now, we can start to play with the S2 part of the action. Here we will take the variation and re-organize the result as shown below:

vS2= vary(S2, susy2);

https://cdn.mathpix.com/snip/images/TeQtL3JlNZBTOHJcRYfzibPWxWb2TIOcxKDhPrLIZVI.original.fullsize.png

eliminate_vielbein(_, repeat=True)
rename_dummies(_);

https://cdn.mathpix.com/snip/images/MS_ZCKSF21-_l-lhkUYHlsLt-kubzPesvVDgE5Qj37g.original.fullsize.png

We now need to use a property of the Riemann tensor such as below;

substitute(_, $ R_{\mu \nu}^{\mu m} ->  R_{\nu \mu}^{m \mu}$);

https://cdn.mathpix.com/snip/images/L4kDSf8gsz48rFRVMWZwBBLEqZJiK-DWZZiiwNmxoFM.original.fullsize.png

canonicalise(_);

https://cdn.mathpix.com/snip/images/am8tG1GtbFxGBoGHcYwe92Lud2XuheAjk02n05Al--I.original.fullsize.png

Stotal=vS32+vS2;

https://cdn.mathpix.com/snip/images/XaHuxqwvbLzRq0RkzNhr-IQ4XVeDCuX4vBPXoPEJja0.original.fullsize.png

This final sum must be equal to $0$, yet I couldn't accomplish to sum the integrals to show it with cadabra.

Thanks.

in General questions by (270 points)
edited by

Somehow latex codes works properly in the preview but not here. Edit: Tried to fix it by using mathpix snipping tool (very cool program). Now all of the results are in .png format.

Please log in or register to answer this question.

...