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

Hi,
i'm having some problems with the program. Currently, i'm using it to calculate one-loop diagrams in quantum gravity. The problems are that the kronecker delta does not completely disappear and that sometimes the algorithm "substitute" does not work. I have installed the software following the steps in the link "kpeeters/cadabra2" in the section "download" of the site. To be more precise, let $\Gamma_{\alpha\beta}$ be the 2-scalar-1 graviton vertex and $\Gamma_{\alpha\beta\mu\nu}$ be the 2 scalar- 2 graviton vertex. In the contraction $\Gamma_{\alpha\beta}\Gamma^{\alpha\beta\mu\nu}$, the substitution of $\Gamma_{\alpha\beta\mu\nu}$ occurs (sometimes) only after the distribute algorithm. I was thinking about the length of the components but I'm not sure. I have tried the combinations indices=free or fixed but it does not change. Kronecker delta still remains in every test.
I hope in your response and I thank you in advance

asked in General questions by (130 points)

You will need to provide some more details, preferably a self-contained piece of Cadabra code which shows the problem.

def post_process(ex):
sort_product(ex)
canonicalise(ex)
collect_terms(ex)
{\mu,\nu,\alpha,\beta,\sigma,\lambda,h,i,j,n,r,p,q,\eta,\chi,\rho,\delta, v,z,x}::Indices;
g_{\mu\nu}::Metric.
g_{\mu}^{\nu}::KroneckerDelta.
vert1:= f^{\gamma\delta}=(...);
vert2:=   \tau^{\gamma\delta\rho\sigma}=(...);
ampl:= w^{\rho\sigma}=\tau^{\gamma\delta\rho\sigma}f_{\gamma\delta};
substitute(ampl,vert2);
substitute(ampl,vert1);

Now, the first substitution works while the second not. For the kronecker,

def post_process(ex):
    sort_product(ex)
    canonicalise(ex)
    collect_terms(ex)
    {\mu,\nu,\alpha,\beta,\sigma,\lambda,h,i,j,n,r,p,q,\eta,\chi,\rho,\delta, v,z,x}::Indices;
    g_{\mu\nu}::Metric.
    g_{\mu}^{\nu}::KroneckerDelta.
    vert2:=   \tau^{\gamma\delta\rho\sigma}=(...);
    distribute(vert2);
    eliminate_metric(vert2);
    eliminate_kronecker(vert2);

At the end, some kronecker remains and it does not sum equal terms, resulting in a very long expression. I'm sorry if I have not been clear.

Send a working notebook to me by email please, these samples do not run by themselves.

Please log in or register to answer this question.

...