1 | initial version |
This is not an answer to the main question (How to trace Maxima failures?) but to the issue raised at the end of the code snippet:
sage: # Turbiner calculates the Ricci scalar.
sage: ### Attempting to do so here causes seg fault if all m1,m2,m3=1!
The following slightly simplified version of your code does compute the Ricci scalar without any seg. fault for me:
sage: version()
'SageMath version 8.0, Release Date: 2017-07-21'
sage: Parallelism().set(nproc=4)
sage: M = Manifold(3, 'R^3', start_index=1)
sage: U = M.open_subset('U')
sage: Rho.<rho12,rho13,rho23> = U.chart("rho12:(0,+oo) rho13:(0,+oo) rho23:(0,+oo)")
sage: Rho.add_restrictions([sqrt(rho23)<sqrt(rho12)+sqrt(rho13),
....: sqrt(rho13)<sqrt(rho12)+sqrt(rho23), sqrt(rho12)<sqrt(rho13)+sqrt(rho23)])
sage: var('m1 m2 m3', domain='real')
sage: # assume(m1>0, m2>0, m3>0) # uncommenting and commenting the next line triggers a seg fault
sage: m1=1; m2=1; m3=1 # commenting and uncommenting the previous line triggers a seg fault
sage: mu12 = (m1*m2)/(m1+m2); mu23 = (m2*m3)/(m2+m3); mu13 = (m1*m3)/(m1+m3)
sage: Ginv = matrix([[2/mu12*rho12, 1/m1*(rho12+rho13-rho23), 1/m2*(rho12+rho23-rho13)],
....: [1/m1*(rho12+rho13-rho23), 2/mu13*rho13, 1/m3*(rho13+rho23-rho12)],
....: [1/m2*(rho12+rho23-rho13), 1/m3*(rho13+rho23-rho12), 2/mu23*rho23]])
sage: G = Ginv.inverse()
sage: g = M.riemannian_metric('g')
sage: g[:] = G[:].simplify_full()
sage: nabla = g.connection()
sage: Ric_g = g.ricci_scalar(); Ric_g
Scalar field r(g) on the 3-dimensional differentiable manifold R^3
As a test, we may check that the inverse metric coincides with that of Eq. (15) of Turbiner et al. arXiv:1611.08157:
sage: g.inverse()[:]
[ 4*rho12 rho12 + rho13 - rho23 rho12 - rho13 + rho23]
[ rho12 + rho13 - rho23 4*rho13 -rho12 + rho13 + rho23]
[ rho12 - rho13 + rho23 -rho12 + rho13 + rho23 4*rho23]
However, the expression of the Ricci scalar is simpler than that found by Turbiner et al., as given between Eqs. (31) and (32) of their paper:
sage: Ric_g.expr()
9/(rho12 + rho13 + rho23)
maybe because Turbiner et al. are considering $r_{ij} = \sqrt{\rho_{ij}}$ as variables?
Besides, I confirm the segmentation fault in the Maxima part of the computation of the connection when assume(m1>0, m2>0, m3>0)
is effective.