DefCovD and curvrels

31 views
Skip to first unread message

konstantinos.pallikaris

unread,
Apr 15, 2022, 1:00:47 PM4/15/22
to xAct Tensor Computer Algebra
Hi,

This is a simple curiosity question. If we define a CovD

DefCovD[CD[-a], {";", "\[Del]"}, Torsion -> True, CurvatureRelations -> False]

the TagSet CD/: CurvatureRelations is still defined, although no automatic rule is found in the DownValues of RiemannCD as expected. Looking at the code I see that this is out of the If[curvrels] clause. Why does the TagSet need to exist regardless of the curvrels value? Same story is with CurvatureRelationsBianchi from xTras, although I am having a difficult time tracking down their instances/use (both CurvatureRelations and CurvatureRelationsBianchi) in the xTras file system. All in all, are these rules used somewhere if curvrels = False? Can I safely TagUnset them?

Also, when I am calling the UpValues of CD by Upvalues@CD I get

Validate::inhom: Found inhomogeneous indices: {IndexList[], IndexList[\[Alpha], \[Gamma]]}.

because of the TagSet. How can I correctly call all the UpValues or SubValues of CD without complaints?

Best,
Kostas


Jose

unread,
May 1, 2022, 6:47:00 PM5/1/22
to xAct Tensor Computer Algebra
Hi,

This was written about 15 years ago, so I'm not fully sure I remember why it was done this way. I think the point is that if you choose CurvatureRelations -> False to avoid automatic conversions of Riemann into Ricci or Ricci into RicciScalar, etc then we still want to store somewhere what the relations would have been. In this way at some point of the computation you may want to use those relations manually, by calling CurvatureRelations[CD, Riemann] for example. I believe that nothing will break if you eliminate those definitions of CurvatureRelations, though.

I guess then xTras just followed what xTensor was doing, but again I'm not sure.

If I evaluate these then there is no message:

    << xAct`xTensor`
    DefManifold[M, 4, {a, b, c, d, e}]
    DefCovD[CD[-a], {";", "\[Del]"}, Torsion -> True,CurvatureRelations -> True]
    UpValues[CD]

but if we load xTras instead of xTensor then there is the message you mention. I think this is another typesetting leak, similar to those recently pointed out by Thomas. This is a weak point of xAct in general. In cases like this use

    UpValues[CD] // InputForm

Results will not be typeset, but you'll be able to analyze the results.

Cheers,
Jose.
Reply all
Reply to author
Forward
0 new messages