Conmuting derivatives and truncating series

66 views
Skip to first unread message

Mario Herrero Valea

unread,
Mar 26, 2015, 10:40:39 AM3/26/15
to xa...@googlegroups.com
Hi folks,

This time I come with a more difficult question. I’m trying to write a code that expands an expression up to second order in the Riemann tensor (this includes Ricci and scalar curvature).

The terms I want to expand are of the kind

RicciCD[a, a1] CD[-a1][CD[-a11][CD[-a13][CD[a13][CD[-a12][CD[a12][CD[-a][CD[a11][CD[-b1][CD[-a10][A[a10, b1]]]]]]]]]]]

with A LOT of covariant derivatives acting on a tensor which I’d like to order in such a way that all the boxes act on the right. In general this problem is very difficult since each commutator adds a lot of terms that might require simplification and also extra commutations. Because of this, trying to do it with the built-in SortCovDsToBox command is impossible.

However, in my case, I only need to expand the commutators up to one Riemann tensor, since there is already a Ricci tensor multiplying the expression. Because of this, almost all the terms produced by commutation are irrelevant and one can drop any second order term in each step or each commutation.

The problem that arises here is that I really don’t know how to implement this in a xAct code. I’ve tried to build my own code for commuting derivatives that, at each step drops out all the terms I don’t want to carry on but I wasn’t able to do it.

Any of you have an idea on how to implement this??

Thank you

Leo Stein

unread,
Mar 26, 2015, 12:30:46 PM3/26/15
to Mario Herrero Valea, xAct Tensor Computer Algebra
Hi Mario,

For this type of calculation you really have to hold Mathematica's hand and tell it how to achieve what you want.

Perhaps there is a more clever way, but here is my idea:

I believe the strategy is as follows:
1. Move all CD's which you *know* don't participate in a Box to the left (this is obviously {-a,-a1,-a10,-b1} )
2. Every time derivatives are commuted, only keep R and R^2 terms, dropping R^3 and higher. This can easily be accomplished by introducing a formal order counting parameter and setting it to 1 after every step.
3. Now move all CDs which you know participate in a box to the right and form boxes.
4. Again after every commutation, do as in step 2.

I'm attaching an example notebook which shows how to do steps 1 and 2 in a pretty automatic fashion.

The trick is to use FixedPoint instead of ReplaceRepeated, and after every single replacement,
1. replace all linear curvature operators R with epsilon*R
2. use Series to keep only up to R^2,
3. Replace epsilon with 1.

You should be able to see how to rewrite my original code for SortCovDsToBox (now in xTras) so that it uses the above strategy of using FixedPoint and afterwards applying a function to simplify some things.

There is probably lots of room for improvement in the attached notebook. For example, the postFunction could include other simplifying steps, such as using ToCanonical (though make sure ChangeCovD is off!) and applying various well-known differential curvature identities.

Best
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+uns...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ExampleForMario.nb

Mario Herrero Valea

unread,
Mar 26, 2015, 1:46:19 PM3/26/15
to Leo Stein, xAct Tensor Computer Algebra
Hi Leo,


Thank you for your answer and for the code. It is similar to the solution I was trying but it still requires a lot of time. Since I need to apply it to a list of hundreds of elements, I think I’m going to need a big computer.

I’ll try to find an optimal solution starting from your code :)

Best, Mario



<ExampleForMario.nb>

Reply all
Reply to author
Forward
0 new messages