# Covariant Derivative gives Error, why? (SAGE 7.5.1)

This simple code gives an Error:

f = function('f')

B=Manifold(2,'B',start_index=1)

polar.<R,Phi> = B.chart(R'R:(0,+oo) Phi:(0,2*pi):\Phi')

G = B.riemannian_metric('G')

G[1,1]=diff(f(R),R)

G[2,2]=f(R)^2

nabla=G.connection()

S=B.tensor_field(1,1)

S[1,1]=R^(0.5)

S[2,2]=R^3

S.display()

nabla(S)

Error: TypeError: unable to convert R to an integer


This Error doesn't occur either if I avoid the square root in S[1,1]=R^(0.5), for example by writing S[1,1]=R^(0.4) or if I avoid the dependence of the derivative of f in the first entry of the metric, for example by writing G[1,1]=f(R)^2.

This Error also doesn't occur in older Sage versions, for example Sage 7.1

Thanks a lot for help!

edit retag close merge delete

Sort by ยป oldest newest most voted

This is a known bug, related to some recent change in the treatment of derivatives of symbolic functions, cf. this discussion. In your case, the bug shows up because of both G[1,1]=diff(f(R),R) and the square root in S[1,1]=R^(0.5).

A fix is under preparation; hopefully it will be included in Sage 7.6.

EDIT: the fix is ready, cf. the comment below

more

Thanks Eric, now that I know it is a bug, i will for now use an older version of Sage. Many greetings!

( 2017-03-02 04:18:17 -0600 )edit

The fix is ready, as Trac ticket 22503. Without waiting for Sage 7.6, you can already use it in Sage 7.5.1 by running the following commands from your Sage root directory:

git remote add trac git://trac.sagemath.org/sage.git -t master
git pull trac public/manifolds/bug-22503
./sage -b

( 2017-03-02 15:25:03 -0600 )edit

Great, I did, it works.

( 2017-03-03 07:39:05 -0600 )edit

The fix is now available in the just released Sage 7.6.

( 2017-03-28 07:51:15 -0600 )edit