Opened 5 months ago

Closed 5 months ago

#22637 closed defect (fixed)

Fix treatment of tensor field restrictions on parallelizable manifolds

Reported by: egourgoulhon Owned by:
Priority: major Milestone: sage-8.0
Component: geometry Keywords: tensor field, parallelizable manifold
Cc: tscrim Merged in:
Authors: Eric Gourgoulhon Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: 9a9ee5b (Commits) Commit: 9a9ee5bf034694acb74a13a0de35c85b0048eaef
Dependencies: #22563 Stopgaps:

Description

The following is a bug:

sage: S1 = Manifold(1, 'S^1') # the circle
sage: U = S1.open_subset('U') # the complement of one point
sage: Xt.<t> =  U.chart('t:(0,2*pi)') # the standard angle coordinate
sage: V = S1.open_subset('V') # the complement of the point t=pi
sage: Xu.<u> = V.chart('u:(0,2*pi)') # the angle t-pi
sage: S1.declare_union(U, V)
sage: Xt_to_Xu = Xt.transition_map(Xu, (t-pi,), intersection_name='W',
....:                              restrictions1 = t!=pi, restrictions2 = u!=pi)
sage: Xt_to_Xu.inverse()
sage: W = U.intersection(V)
sage: e = S1.vector_frame('e') # a global vector frame (makes S^1 parallelizable)
sage: R2 = Manifold(2, 'R^2', start_index=1) # Euclidean space R^2
sage: X2.<x,y> = R2.chart() # Cartesian coordinates
sage: F = S1.diff_map(R2, {(Xt,X2): [cos(t), sin(t)],
....:                      (Xu,X2): [-cos(u), -sin(u)]}) # embedding S^1 --> R^2
sage: dx = X2.coframe()[1] # the 1-form dx on R^2
sage: a = F.pullback(dx) ; a
1-form on the 1-dimensional differentiable manifold S^1
sage: a.restrict(U).display()
-sin(t) dt
sage: a.restrict(W).display()
...
ValueError: no basis could be found for computing the components in the Coordinate frame (W, (d/dt))

The current ticket fixes this, by trying, if possible, to get the restriction from subdomains (here the restriction to W will be obtained from that to U, W being a subset of U)

Change History (4)

comment:1 Changed 5 months ago by egourgoulhon

  • Branch set to public/manifolds/bug-tensor-restrictions-22637
  • Cc tscrim added
  • Commit set to 9a9ee5bf034694acb74a13a0de35c85b0048eaef
  • Status changed from new to needs_review

New commits:

96f814dFix treatment of pullback on parallelizable manifolds
6ab5f63Change the name of first argument to 'self' in nested method _pullback_chart of DiffMap
02add83Revert to previous version of nested function _pullback_chart in DiffMap.pullback
d0de237Merge branch 'public/manifolds/bug-pullback-parallelizable' of git://trac.sagemath.org/sage into Sage 7.6.rc0
9a9ee5bFix treatment of restrictions of tensor fields with parallelizable domains

comment:2 follow-up: Changed 5 months ago by tscrim

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

LGTM.

comment:3 in reply to: ↑ 2 Changed 5 months ago by egourgoulhon

Replying to tscrim:

LGTM.

Thanks for the review!

comment:4 Changed 5 months ago by vbraun

  • Branch changed from public/manifolds/bug-tensor-restrictions-22637 to 9a9ee5bf034694acb74a13a0de35c85b0048eaef
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.