Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

Hello everyone.

I am currently calculating a large expression in coordinates and using the canonicalise function to order partial derivatives without using sympy bridge. And I found that an expression of this kind causes the kernel to crash when executing the canonicalise function.

{t, x, y, z, u}::Coordinate.
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,v,w#}::Indices(full, values={t,x,y,z,u}, position=independent).
\partial{#}::PartialDerivative.

p::Depends(t).
W_{m?}::Depends(t,x,y,z).

test := Dh \partial_{x}(W_{x}) \partial_{y}(W_{y}) (\partial_{t}(p))**2 (\partial_{t t}(p))**2 (a)**(-4) a2X;

canonicalise(test);

I'm using Cadabra 2.5.8 (build 3421.a815a66da2 dated 2024-10-25) on Ubuntu 22.04.5

update:

I also noticed that if I write

canonicalise($\partial_{x}{W_{x}} \partial_{y}{W_{y} (\partial_{t}{p})**2 (\partial_{t t}{p})$);

I get the following error:

Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/cadabra2_jupyter/kernel.py", line 56, in do_execute self._execute_python(pycode) File "/usr/local/lib/python3.10/dist-packages/cadabra2_jupyter/kernel.py", line 110, in _execute_python self._sandbox_context(pycode) File "/usr/local/lib/python3.10/dist-packages/cadabra2_jupyter/context.py", line 51, in __call__ exec(code, self._sandbox) File "<string>", line 1, in <module> IndexError: vector::_M_range_check: __n (which is 3) >= this->size() (which is 3)

and If if I replace \partial_{t t}{p} with (\partial_{t t}{p})**2 , the kernel dies

canonicalise($\partial_{x}{W_{x}} \partial_{y}{W_{y} (\partial_{t}{p})**2 (\partial_{t t}{p})**2$);
ago in Bug reports by (1.8k points)
edited ago by

Please log in or register to answer this question.

...