ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 10 Oct 2019 23:26:48 +0200Inverse of the transition map on a Manifold doesn't holdhttps://ask.sagemath.org/question/48264/inverse-of-the-transition-map-on-a-manifold-doesnt-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?Thu, 10 Oct 2019 22:07:30 +0200https://ask.sagemath.org/question/48264/inverse-of-the-transition-map-on-a-manifold-doesnt-hold/Answer by eric_g for <p>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:</p>
<pre><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)
</code></pre>
<p>It sounds reasonable, but calling</p>
<pre><code>ProjNE.inverse()
</code></pre>
<p>failed. No problem, i tried using</p>
<pre><code>ProjNE.set_inverse(x,y, -sqrt(1-x^2-y^2-w^2))
</code></pre>
<p>but i got the following warning:</p>
<pre><code>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.
</code></pre>
<p>i don't know why the test is failing. The math sounds ok, where did it go wrong?</p>
https://ask.sagemath.org/question/48264/inverse-of-the-transition-map-on-a-manifold-doesnt-hold/?answer=48267#post-id-48267As 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.Thu, 10 Oct 2019 23:26:48 +0200https://ask.sagemath.org/question/48264/inverse-of-the-transition-map-on-a-manifold-doesnt-hold/?answer=48267#post-id-48267