[xCoba] Optimising use of $CVSimplify

268 views
Skip to first unread message

FS

unread,
Dec 11, 2020, 9:49:31 AM12/11/20
to xAct Tensor Computer Algebra
Hi all!

I have a metric that depends on a perturbation parameter epsilon. The unperturbed part of the metric described an elettrically charged black-hole.

I want to compute the Ricci scalar and the Weyl tensor up to first order in the perturbation parameter epsilon.

I am trying to enforce the expansion by setting 

$CVSimplify =  Function[Together[Normal[Series[#, {\[Epsilon], 0, 1}]]]]

However, xCoba takes a lot of time. By contract, if I set $CVSimplify to its default value, the computation is pretty fast. How can I solve it? How can I speed up the computation at the linear order in the perturbation parameter?

Thanks.

P.S. I would like to avoid to set $CVSimplify=Simplify, because later on I have to deal with expressions like CD[a]@CD[b]@T[c,d], where CD are the covariant derivatives and T[c,d] are generic tensors. The computation of these terms gets very lenghty if I set $CVSimplify=Simplify, but since I only need linear terms in \[Epsilon] it should be enough to compute all the Christoffel symbols at the linear order in \[Epsilon], and this should simplify these computations.
example_CVSimplify.nb

Benedict

unread,
Dec 11, 2020, 10:32:40 AM12/11/20
to xAct Tensor Computer Algebra
I might be wrong, but once calculated quantities do not get re-evaluated when they are used later on. Therefore, you might be able to calculate your Ricci scalar and Weyl tensor first, using $CVSimplify=Simplify, and later on, you set $CVSimplify =  Function[Together[Normal[Series[#, {\[Epsilon], 0, 1}]]]] for the rest of your calculations.

Something like

...
$CVSimplify=Simplify
MetricCompute[metric, ch, "RicciScalar"[], Parallelize -> True]
$CVSimplify =  Function[Together[Normal[Series[#, {\[Epsilon], 0, 1}]]]]
...

I hope it works or at least gives you an idea what might work for you. Good luck.

FS

unread,
Dec 11, 2020, 10:32:50 AM12/11/20
to xAct Tensor Computer Algebra
Forgot to say that I attach the notebook to check my code :) 

FS

unread,
Dec 11, 2020, 12:57:25 PM12/11/20
to xAct Tensor Computer Algebra
Hi Benedict,

thank you for your message! Unfortunately, setting $CVSimplify =  Function[Together[Normal[Series[#, {\[Epsilon], 0, 1}]]]] is still too slow.
For example, if you define a two-tensor with generic components, it takes forever to compute the trace.

:( 

Jose

unread,
Dec 13, 2020, 6:37:50 PM12/13/20
to xAct Tensor Computer Algebra
Hi,

This question is very similar to that in a recent thread:


Basically, problems in perturbation theory produce expressions that are too large to handle with general methods. It is better to use the abstract formulas of xPert and then restrict to your particular case. I attached an example of how to do it in that email.

Cheers,
Jose.

FS

unread,
Dec 16, 2020, 9:06:07 AM12/16/20
to xAct Tensor Computer Algebra
Hi Jose,


thanks for the answer. Yes, I am already using xPert because I studying metric fluctuations on top of a background. This means that I will use xPert to take into account the perturbativity of the background.

Thanks! 

Reply all
Reply to author
Forward
0 new messages