Ask Your Question

Revision history [back]

Simply replace

G[1] = F[0]
G[2] = F[1]
G[3] = F[2]

by

G[1] = F[0].expr()
G[2] = F[1].expr()
G[3] = F[2].expr()

The reason is that F[0] returns a chart function based on the chart CN, which is not suited for initializing the chart function G[1], which is based on the chart CM. On the contrary F[0].expr() returns the symbolic expression of the chart function F[0] and this a valid input for G[1].

With the above change, G.display() yields

G = t ∂/∂t + F_x(x, y, z) ∂/∂x + F_y(x, y, z) ∂/∂y + F_z(x, y, z) ∂/∂z

Simply replace

G[1] = F[0]
G[2] = F[1]
G[3] = F[2]

by

G[1] = F[0].expr()
G[2] = F[1].expr()
G[3] = F[2].expr()

The reason is that F[0] returns a chart function based on the chart CN, which is not suited for initializing the chart function G[1], which is based on the chart CM. On the contrary F[0].expr() returns the symbolic expression of the chart function F[0] and this is a valid input for G[1].

With the above change, G.display() yields

G = t ∂/∂t + F_x(x, y, z) ∂/∂x + F_y(x, y, z) ∂/∂y + F_z(x, y, z) ∂/∂z