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

The following codes seem to have encountered some problems when using algorithm 'meld':

{\mu,\nu}::Indices(vector).
tr{#}::Trace.
u^{\mu}::SelfNonCommuting.
u^{\mu}::ImplicitIndex.
ex:=A tr{u^{\mu} u^{\nu} u^{\mu} u^{\nu}}+B tr{ u^{\mu} u^{\mu} u^{\nu} u^{\nu}};
meld(_);
factor_in(_,$A,B$);
asked in General questions by (840 points)
edited by

Not sure what you expect here; meld leaves it untouched and so does factor_in.

I'm sorry for my carelessness. The right code is

{\mu,\nu}::Indices(vector).
tr{#}::Trace.
u^{\mu}::SelfNonCommuting.
u^{\mu}::ImplicitIndex.
ex:=A tr{u^{\nu} u^{\mu} u^{\mu} u^{\nu}}+B tr{ u^{\mu} u^{\mu} u^{\nu} u^{\nu}};
meld(_);
factor_in(_,$A,B$);

I want to use meld & factor_in to get the following result:
$$
(A+B) tr(u^\mu u^\mu u^\nu u^\nu)
$$
but I failed, is this a bug? I find the algorithm meld seems to be unsound, the following code is another example:

{\mu,\nu,\rho}::Indices(vector).
A^{\mu\nu}::AntiSymmetric.
B^{\mu\nu}::Symmetric.
C^{\mu\nu}::AntiSymmetric.
tr{#}::Trace.
{A^{\mu\nu},B^{\mu\nu},C^{\mu\nu}}::NonCommuting.
{A^{\mu\nu},B^{\mu\nu},C^{\mu\nu}}::SelfNonCommuting.
{A^{\mu\nu},B^{\mu\nu},C^{\mu\nu}}::ImplicitIndex.
ex:=a tr{A^{\mu\nu} B^{\mu\rho} B^{\nu\rho}}+b tr{C^{\mu\nu} A^{\mu\rho} B^{\nu\rho}}+c tr{C^{\mu\nu} B^{\mu\rho} A^{\nu\rho}};
meld(_);

The result is
$$
\left(a+b+c\right) tr\left(A^{\mu \nu} B^{\mu \rho} B^{\nu \rho}\right).
$$
This is very strange.

Please log in or register to answer this question.

...