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(u,v, -sqrt(1-u^2-v^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?