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
> 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.
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
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:
> 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.
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:
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:
> 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.