TInvar: Canonicalization of Riemann tensor expressions with free indices

146 views
Skip to first unread message

Barry Wardell

unread,
Dec 17, 2024, 5:54:23 AM12/17/24
to xAct Tensor Computer Algebra
Dear xAct users,

We are happy to announce the release of TInvar, a new package for canonicalization of Riemann tensor expressions. The package builds on the existing Invar and Invar2 packages, adding support for canonicalization of expressions with free indices.

The core xAct canonicalization functionality provided by ToCanonical is able to efficiently handle single-term symmetries such as R_{a b c d} = -R_{b a c d}. However the Riemann tensor has additional multi-term symmetries through the Bianchi identities, and ToCanonical does not have any way of handling those and using them to canonicalize expressions. The purpose of TInvar is to provide that extra functionality through a new function RiemannSimplify that makes use of the Bianchi identities to simplify expressions into a fully canonical form. Invar and Invar2 provide a similar function, but only for the case of scalar expressions with no free indices. TInvar is a drop-in replacement that extends this to support expressions with free indices. TInvar (and Invar and Invar1 before it) relies on a database of identities to work. The included database is complete up to order 6 (i.e. up to 6 derivatives of the metric), degree 3 (i.e. products of up to 3 Riemann tensors) and rank 12 (i.e. up to 12 free indices).

A paper fully describing TInvar will follow in due course, but in the meantime we encourage you to install it and try it out. Installation instructions and documentation (including a detailed "tech note" tutorial) are available on the TInvar website. Documentation is also included with the installation and is integrated directly into the Wolfram help pages.

Regards,
Barry Wardell, Kevin Kiely, Adrian Ottewill and Jose M. Martin-Garcia

Sukruti

unread,
Feb 20, 2025, 7:52:36 AMFeb 20
to xAct Tensor Computer Algebra
RiemannSimplify Tensors.nb

Barry Wardell

unread,
Feb 21, 2025, 1:51:46 PMFeb 21
to Sukruti, xAct Tensor Computer Algebra
Hi Sukruti,

I think there was a missing line in the installation instructions: you need to run PacletSiteUpdate["https://pacletserver.bhptoolkit.org"] before the PacletInstall line. Please try this and let me know if it still doesn't work.

Thanks for pointing this out, I have updated the installation instructions.

Regards,
Barry

--
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.
To view this discussion visit https://groups.google.com/d/msgid/xact/5d2b15d8-f8b2-424a-9b2c-a7af20b57225n%40googlegroups.com.

Sukruti

unread,
Feb 21, 2025, 2:42:03 PMFeb 21
to xAct Tensor Computer Algebra
RiemannSimplify Tensors.nb

Sukruti

unread,
Mar 1, 2025, 6:07:05 AMMar 1
to xAct Tensor Computer Algebra
Hi Barry,

I was hoping to use this package to complete a time-sensitive project. Would it be possible to get it working in the next few days? I would greatly appreciate any updates on its availability.

Best,
Sukruti

Barry Wardell

unread,
Mar 1, 2025, 2:43:39 PMMar 1
to Sukruti, xAct Tensor Computer Algebra
Hi Sukruti,

It looks like you are still loading the old package Invar, not the new one TInvar (with a "T"). Note that the installation commands only need to be run once to install the package. After that, to load the package you should use:

<<xAct`TInvar`

Regards,
Barry

Sukruti

unread,
Mar 1, 2025, 3:22:04 PMMar 1
to xAct Tensor Computer Algebra
Hi Barry,

Thanks a lot for your reply! So I was supposed to install TInvar as a replacement of the old Invar, and not in addition to it! Ok, got it! It seems to work now.

But there's an issue I'm facing while using TInvar, which was not occurring while using Invar. In order to use the command FullSimplification[], I install the package xTras, by running the command

<< xAct`xTras`.

On doing so I get multiple errors, the first of which is

InvarCases::shdw: Symbol InvarCases appears in multiple contexts {xAct`Invar`,xAct`TInvar`}; definitions in context xAct`Invar` may shadow or be shadowed by other definitions.

The attached notebook shows all the errors. Such errors did not show up when using Invar.

Could you tell how to resolve this?

Best,
Sukruti
RiemannSimplify Tensors.nb

Barry Wardell

unread,
Mar 1, 2025, 3:55:41 PMMar 1
to Sukruti, xAct Tensor Computer Algebra
On Sat, 1 Mar 2025 at 20:22, Sukruti <bansal....@gmail.com> wrote:
Hi Barry,

Thanks a lot for your reply! So I was supposed to install TInvar as a replacement of the old Invar, and not in addition to it! Ok, got it! It seems to work now.


Yes, that's right. TInvar is a direct replacement for Invar.
 
But there's an issue I'm facing while using TInvar, which was not occurring while using Invar. In order to use the command FullSimplification[], I install the package xTras, by running the command

<< xAct`xTras`.

On doing so I get multiple errors, the first of which is

InvarCases::shdw: Symbol InvarCases appears in multiple contexts {xAct`Invar`,xAct`TInvar`}; definitions in context xAct`Invar` may shadow or be shadowed by other definitions.

The attached notebook shows all the errors. Such errors did not show up when using Invar.

Could you tell how to resolve this?

It appears that xTras loads xAct`TInvar` when it is loaded. The warnings are telling you that both Invar and TInvar define functions with the same name. You may be able to ignore these error and/or be explicit to use the TInvar functions by specifying the context explicitly, i.e. use xAct`TInvar`RiemannSimplify instead of RiemannSimplify. Or you could modify xTras to load TInvar instead, I think by modifying this line: https://github.com/xAct-contrib/xTras/blob/610ca09151f804147ab566edb4642c8e8a97f0b8/xAct/xTras/Kernel/init.m#L46C8-L46C13

Barry
Message has been deleted

Giorgos

unread,
Mar 14, 2025, 9:16:08 AMMar 14
to xAct Tensor Computer Algebra

Greetings Barry,

It's good to see new and expanded functionality being added to the xAct suite!

I have a question, if you don't mind. It is my understanding that TInvar can only deal with torsion-less quantities. In the case where torsion is present, the Bianchi identities for the (torsion-less) Riemann tensor continue to hold, but new identities for the (torsionful) Riemann tensor are added to the theory. Furthermore, it is known that the torsionful Riemann tensor can be split into the torsion-less Rieman tensor plus torsion tensor and torsion tensor derivative terms. By substitution of this "decomposition" of the torsionful Riemann tensor into the torsionful Bianchi identities and subsequent application of the torsionless Riemann Bianchis, one may get Bianchi identities for the torsion tensor and its derivatives.

My question is: is there any current implementation of the torsion Bianchi identities anywhere in the xAct suite, that I am missing, and if not, are there plans to eventually add this functionality to TInvar? Would the implementation be hard because you have terms involving two different connections (torsionless and torsionful) such as CD[a]TorsionCDT[b,c,d]?

Thanks in advance,

Giorgos
Reply all
Reply to author
Forward
0 new messages