id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
26701 Simplifications in the computation of the inverse of a transition map egourgoulhon "We have currently:
{{{
sage: M = Manifold(2, 'M')
sage: c_xy. = M.chart()
sage: c_uv.__ = 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]
}}}
" defect closed major sage-8.5 geometry fixed manifold, coordinate chart, transition map tscrim Eric Gourgoulhon Travis Scrimshaw N/A 2f76562e84e34872457793e5f277fed30e672c1a 2f76562e84e34872457793e5f277fed30e672c1a
__