# Inverse of the transition map on a Manifold doesn't hold

I was trying to represent S³ as a three dimensional manifold, with coordinates (x,y,z,w) in R⁴, and make the transition map from the upper cap w > 0 to the lateral cap z<0, with the charts being the graphs of the caps as functions. I came up with the following code:

M = Manifold(3, 'S^3')

N = M.open_subset('N')
projN.<x,y,z> = N.chart()

E = M.open_subset('E')
projE.<x,y,w> = E.chart()

ProjNE = projN.transition_map(projE,
[x,y, sqrt(1-x^2-y^2-z^2)], intersection_name='D',
restrictions1= z < 0, restrictions2= w>0)


It sounds reasonable, but calling

ProjNE.inverse()


failed. No problem, i tried using

ProjNE.set_inverse(x,y, -sqrt(1-x^2-y^2-w^2))


but i got the following warning:

Check of the inverse coordinate transformation:
x == x  *passed*
y == y  *passed*
z == -abs(z)  **failed**
x == x  *passed*
y == y  *passed*
w == abs(w)  **failed**
NB: a failed report can reflect a mere lack of simplification.


i don't know why the test is failing. The math sounds ok, where did it go wrong?

edit retag close merge delete

Sort by » oldest newest most voted

As said at the end of the message, a failed report can reflect a lack of simplification and not a true failure. This is the case here, because on the intersection domain D, z < 0 and w > 0, so you can conclude that z == -abs(z) and w == abs(w) are both true and that the test is actually passed. Therefore you can go on...

It is a pity though that Sage does not arrive automatically at the same conclusion. This is a weakness of the current simplifying mechanism on subcharts and should be improved in the future.

more