-
-
Notifications
You must be signed in to change notification settings - Fork 701
Closed
Milestone
Description
We have currently:
sage: M = Manifold(2, 'M')
sage: c_xy.<x,y> = M.chart()
sage: c_uv.<u,v> = M.chart()
sage: phi = var('phi', domain='real')
sage: xy_to_uv = c_xy.transition_map(c_uv, [cos(phi)*x + sin(phi)*y,
....: -sin(phi)*x + cos(phi)*y])
sage: xy_to_uv.inverse().display()
x = (u*cos(phi) - v*sin(phi))/(cos(phi)^2 + sin(phi)^2)
y = (v*cos(phi) + u*sin(phi))/(cos(phi)^2 + sin(phi)^2)
Clearly the inverse transition map lacks simplification. This results from a bug in the method CoordChange.inverse(), which makes the simplification ineffective. With this ticket, the last line becomes
sage: xy_to_uv.inverse().display()
x = u*cos(phi) - v*sin(phi)
y = v*cos(phi) + u*sin(phi)
In addition, this ticket removes the auxiliary symbolic variables xxxx* that have been introduced by CoordChange.inverse() from the list of assumptions: after the above code is run, we have currently:
sage: assumptions()
[x is real,
y is real,
u is real,
v is real,
phi is real,
xxxx0 is real,
xxxx1 is real]
With this ticket, this becomes:
sage: assumptions()
[x is real, y is real, u is real, v is real, phi is real]
CC: @tscrim
Component: geometry
Keywords: coordinate chart, transition map
Author: Eric Gourgoulhon
Branch/Commit: 2f76562
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/26701