Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix treatment of tensor field restrictions on parallelizable manifolds #22637

Closed
egourgoulhon opened this issue Mar 18, 2017 · 7 comments
Closed

Comments

@egourgoulhon
Copy link
Member

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)

Depends on #22563

CC: @tscrim

Component: geometry

Keywords: tensor field, parallelizable manifold

Author: Eric Gourgoulhon

Branch/Commit: 9a9ee5b

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/22637

@egourgoulhon egourgoulhon added this to the sage-8.0 milestone Mar 18, 2017
@egourgoulhon
Copy link
Member Author

Commit: 9a9ee5b

@egourgoulhon
Copy link
Member Author

@egourgoulhon
Copy link
Member Author

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

@tscrim
Copy link
Collaborator

tscrim commented Mar 18, 2017

Reviewer: Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Mar 18, 2017

comment:2

LGTM.

@egourgoulhon
Copy link
Member Author

comment:3

Replying to @tscrim:

LGTM.

Thanks for the review!

@vbraun
Copy link
Member

vbraun commented Apr 3, 2017

Changed branch from public/manifolds/bug-tensor-restrictions-22637 to 9a9ee5b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants