%display latex
N = Manifold(2, 'N',r'\mathcal{N}', start_index=1)
ChartCartesianN.<x,y> = N.chart()
FrameCartesianN = ChartCartesianN.frame()
ChartPolarN.<r,theta> = N.chart("r:(0,+oo) theta:(0,2*pi)")
FramePolarN = ChartPolarN.frame()
cartesianToPolar = ChartCartesianN.transition_map(ChartPolarN, (sqrt(x^2 + y^2), arctan(y/x)))
cartesianToPolar.set_inverse(r * cos(theta), r * sin(theta), verbose=True)
Check of the inverse coordinate transformation: x == x y == y r == r theta == arctan(sin(theta)/cos(theta))
g_e = N.metric('g_e')
g_e[1,1], g_e[2,2] = 1, 1
g_e.display(FramePolarN)
g_e.display(FramePolarN, ChartPolarN)
nab_e = g_e.connection()
nab_e.display(FramePolarN)
nab_e.display(FramePolarN, ChartPolarN)