More on Compatibility between Series and xAct

141 views
Skip to first unread message

Geoffrey Compere

unread,
Nov 23, 2011, 6:35:52 PM11/23/11
to xAct Tensor Computer Algebra
Dear Jose,

Thanks a lot for all bug fixing ! All previous bugs are over.
Now, the Series is not yet over, if I can joke about it :).

I encountered a new problem between IsIndexOf : here it is:

IsIndexOf::nouse: Attempting to apply IsIndexOf on
Integrate`ExpandHold[-h^(1) c$10714$10800$12258 c
$10714$10800$12258
h^(0) c$10718$10800$12258 d$10718$10800$12258].


This is similar to the previous bug. If I only have

Unprotect[IsIndexOf];
IsIndexOf[expr_, index_, f_] :=
With[{iios = IsIndexOf[#, index, f] & /@ expr[[3]]},
If[Not[SameQ @@ iios],
Throw[Message[IsIndexOf::error,
"SeriesData with inconsistent index structure."]; ERROR[expr]],
And @@ iios]] /; Head[expr] === SeriesData;
IsIndexOf[Integrate`ExpandHold[_Power], _, _] := IndexList[];
Protect[IsIndexOf];

It is not sufficient to solve the problem.

By the way, it seems that IndexSet always adds new set of numbers to
dummy indices. If I continue to build up tensors of tensors of tens...
there might be an issue with dealing with indices of very large size,
isn't ?

Thanks a lot for your patience !
Geoffrey

JMM

unread,
Nov 23, 2011, 9:10:14 PM11/23/11
to xAct Tensor Computer Algebra
Hi Geoffrey,

> Thanks a lot for all bug fixing ! All previous bugs are over.

They were not bugs! xAct has never tried to work on SeriesData
expressions before. We are extending it now.

> I encountered a new problem between IsIndexOf [...]

OK, so this is an issue with more general types of expressions. Then I
suggest this more agressive solution (this already includes the
definition for Power):

IsIndexOf[ Integrate`ExpandHold[ expr_ ], index_, f_ ] :=
IsIndexOf[ expr, index, f ];

If this still gave you problems, remove those definitions and try this
other trick:

DefInertHead[ Integrate`ExpandHold ]

> By the way, it seems that IndexSet always adds new set of numbers to
> dummy indices. If I continue to build up tensors of tensors of tens...
> there might be an issue with dealing with indices of very large size,
> isn't ?

I don't think so. They are still symbols, but with a long name. If you
don't like that, use either ReplaceDummies or ScreenDollarIndices to
change them to "nicer" indices. The recommended way is working with
$PrePrint = ScreenDollarIndices, which hides those indices anyway...

Cheers,
Jose.

Geoffrey Compere

unread,
Nov 28, 2011, 6:17:00 AM11/28/11
to xAct Tensor Computer Algebra
Thank you Jose,

Indeed, you are extending the realm of xTensor, sorry for the
misleading statement.

It seems that the definition of IsIndexOf as

IsIndexOf[ Integrate`ExpandHold[ expr_ ], index_, f_ ] :=
IsIndexOf[ expr, index, f ];

solves the problem ! Thanks,

Geoffrey

Geoffrey Compere

unread,
Nov 28, 2011, 7:32:34 AM11/28/11
to xAct Tensor Computer Algebra
Hi again,

I am stuck on another error, which is independent of Series. Acting
with Simplication on a sum of tensors ( they depend on the parameter
p), I got this:

ToCanonical::noident: Unknown expression not canonicalized:
xAct`xTensor`Private`addTMPCovD[i^(1)a a$19925,ParamD[p],ParamD] .
Validate::inhom: Found inhomogeneous indices: {IndexList[a],
IndexList[-a$19925]}.
Throw::nocatch: Uncaught Throw[Null] returned to top level.

I think that there is something going on with ToCanonical, but I'm not
sure what..
Thanks for reading this email !

Geoffrey

On Nov 24, 3:10 am, JMM <j...@xact.es> wrote:

Alfonso García-Parrado

unread,
Nov 28, 2011, 7:50:01 AM11/28/11
to Geoffrey Compere, xAct Tensor Computer Algebra
Hi Geoffrey,

> I am stuck on another error, which is independent of Series. Acting
> with Simplication on a sum of tensors ( they depend on the parameter
> p), I got this:
>
> ToCanonical::noident: Unknown expression not canonicalized:
> xAct`xTensor`Private`addTMPCovD[i^(1)a a$19925,ParamD[p],ParamD] .
> Validate::inhom: Found inhomogeneous indices: {IndexList[a],
> IndexList[-a$19925]}.
> Throw::nocatch: Uncaught Throw[Null] returned to top level.
>

could you send the actual expression which gave you this error when
acting with Simplification ?

Thank you.

Alfonso.

Geoffrey Compere

unread,
Nov 28, 2011, 10:08:37 AM11/28/11
to xAct Tensor Computer Algebra
Dear Alfonso,

Thanks for asking. I looked at the simplest example and found it:

ParamD[PhaseSpacePoint][i1[a, b]]*PD[-b][\[Sigma][]] //
Simplification

gives the error. I previously defined the scalar \[Sigma] and the
tensor i1[a,b] in the standard way as

DefTensor[\[Sigma][], {GeneralManifold, PhaseSpacePoint},
PrintAs -> "\[Sigma]"]
DefTensor[i1[-a, -b], {GeneralManifold, PhaseSpacePoint},
Symmetric[{-a, -b}], PrintAs -> "\!\(\*SuperscriptBox[\"i\",
RowBox[{\"(\", \"1\", \")\"}]]\)"]

It seems to be an internal error of xTensor

Best regards,
Geoffrey

On Nov 28, 1:50 pm, Alfonso García-Parrado <alfo...@math.uminho.pt>
wrote:

JMM

unread,
Nov 28, 2011, 9:09:53 PM11/28/11
to xAct Tensor Computer Algebra
Hi Geoffrey,

I cannot reproduce this problem. Please provide a complete set of
commands leading to the error message, or a small notebook. Note that
your original email mentioned Simplification acting on a sum of
tensors, but the example you provided has Simplification acting on a
product of tensors.

And please start a new thread when you report a new issue. It is
confusing to have a discussion on Simplification + ParamD in a thread
called "Series and xAct".

Cheers,
Jose.

On Nov 28, 9:08 am, Geoffrey Compere <geoffreycomp...@gmail.com>
wrote:

Geoffrey Compere

unread,
Nov 29, 2011, 9:21:03 AM11/29/11
to xAct Tensor Computer Algebra
Dear Jose,

Here is a simple sample file where the error occurs.
It seems to be a clash between ToCanonical and ParamD.

Sorry for posting in the wrong thread, I was for a moment confused on the origin of the problem. I simplified the expression with the error from a complicated Series to a Plus to a Times to a very simple expression that I now put in the sample file.

Best,
Geoffrey

2011/11/29 JMM <jo...@xact.es>
Error_ToCanonicalParamD.nb

JMM

unread,
Nov 29, 2011, 10:21:44 PM11/29/11
to xAct Tensor Computer Algebra
Hi Geoffrey,

> Here is a simple sample file where the error occurs.
> It seems to be a clash between ToCanonical and ParamD.

Thanks. There is indeed missing code to handle a particular case
involving canonicalization of ParamD objects and metrics. I will add
this in the next version of xTensor. For the time being I recommend to
switch to alternative canonicalization methods. For example use the
option Method->Implode in ToCanonical or Simplification when you find
this problem. You can also use the detour ... // ToTensorDerivative //
Simplification // FromTensorDerivative.

Cheers,
Jose.

Max Banados

unread,
May 22, 2026, 7:12:28 AMMay 22
to xAct Tensor Computer Algebra
Dear Jose, sorry for bringing back this very old thread.   I faced the same problem as Geoffrey and Simplification with  Method->Implode did indeed work.  But I was wondering if there is any update on this issue (I am running the latest version). Thanks! Max
Reply all
Reply to author
Forward
0 new messages