#26701 closed defect (fixed)

Simplifications in the computation of the inverse of a transition map

Reported by: egourgoulhon Owned by:
Priority: major Milestone: sage-8.5
Component: geometry Keywords: manifold, coordinate chart, transition map
Cc: tscrim Merged in:
Authors: Eric Gourgoulhon Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: 2f76562 (Commits) Commit: 2f76562e84e34872457793e5f277fed30e672c1a
Dependencies: Stopgaps:

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]

Change History (5)

comment:1 Changed 13 months ago by egourgoulhon

  • Branch set to public/manifolds/simplification_inverse_transition_map
  • Commit set to 2f76562e84e34872457793e5f277fed30e672c1a

New commits:

2f76562Perform simplifications in the inverse of a transition map

comment:2 Changed 13 months ago by egourgoulhon

  • Cc tscrim added
  • Status changed from new to needs_review

comment:3 follow-up: Changed 13 months ago by tscrim

  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_review to positive_review

LGTM.

comment:4 in reply to: ↑ 3 Changed 13 months ago by egourgoulhon

Thanks Travis!

comment:5 Changed 13 months ago by vbraun

  • Branch changed from public/manifolds/simplification_inverse_transition_map to 2f76562e84e34872457793e5f277fed30e672c1a
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.