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

The following is my code. The last line has a partial with respect to nu and I want to use the chain rule to convert to d/dlamda.

I'm an newbie here so I may be doing something reallty dumb. I did convert the partial declaration to have the Derivative property so I don't end up with a double partial derivative of \nu and \lambda. Any suggestions would be appreciated.


{t,x,y,z,\lambda}::Coordinate.
{t,x,y,z,}::Depends(\lambda);
{\mu,\nu,\sigma,\rho,\alpha}::Indices(values={t,x,y,z},position=independent);
\nabla{#}::Derivative.
#\partial{#}::PartialDerivative;
\partial{#}::Derivative;

#deriv := \nabla_{\mu}{v?^{\nu}} -> \partial_{\mu}{v?^{\nu}} + \Gamma^{\nu}_{\sigma \mu} v?^{\sigma};

deriv := \nabla_{\nu}{\partial_{\lambda}{x^{\mu}}} -> \partial_{\nu}{\partial_{\lambda}{x^{\mu}}} 
    + \Gamma^{\mu}_{\sigma \nu} \partial_{\lambda}{x^{\sigma}};

expr := \partial_{\lambda}{x^{\nu}} * \nabla_{\nu}{\partial_{\lambda}{x^{\mu}}};

substitute(expr,deriv);

distribute(expr);
sort_product(expr);
in General questions by (230 points)
edited by

1 Answer

+1 vote
 
Best answer

Hi ChuckW.

I ran your code, compared the output with the result reported in the book, and it seems that the result is correct.

The last piece of the puzzle is the use of the chain rule. I complemented your code with the following:

chain_rule := \partial_{\lambda}{x^{\nu}} \partial_{\nu}{A??} -> \partial_{\lambda}{A??};

substitute(expr, chain_rule);

Hope this suggestions works to complete your task.

Cheers, Dox.

by (14.9k points)
selected by

Great! Thanks for answering so quickly. I am trying to learn Cadabra by working through the examples and replicating equations in Carroll and Schutz. It makes learning much more fun.

Excellent strategy to learn. I'm interested in the work you've done. If you'd like to discuss it, please contact me through email "o.castillo.felisola" at "protonmail.com"

Cheers.

...