-
-
Notifications
You must be signed in to change notification settings - Fork 698
Description
At the current stage, we get the following output:
sage: M = Manifold(2, 'M', structure='topological') # the 2-dimensional sphere S^2
sage: U = M.open_subset('U') # complement of the North pole
sage: c_xy.<x,y> = U.chart() # stereographic coordinates from the North pole
sage: V = M.open_subset('V') # complement of the South pole
sage: c_uv.<u,v> = V.chart() # stereographic coordinates from the South pole
sage: M.declare_union(U,V) # S^2 is the union of U and V
sage: xy_to_uv = c_xy.transition_map(c_uv, (x/(x^2+y^2), y/(x^2+y^2)),
....: intersection_name='W',
....: restrictions1= x^2+y^2!=0,
....: restrictions2= u^2+v^2!=0)
sage: uv_to_xy = xy_to_uv.inverse()
sage: f = M.scalar_field_algebra()(x+u)
sage: f.display()
M --> R
sage: f._express
{}
This output is not consistent with the coercion model, in particular not with the coercion SR -> ScalarFieldAlgebra. First of all, each element in SR should give rise to a well-defined element in ScalarFieldAlgebra. This is not fulfilled in the first example. More precisely:
sage: g = A(x)
sage: g.display()
M --> R
on U: (x, y) |--> x
on W: (u, v) |--> u/(u^2 + v^2)
sage: h = V.scalar_field_algebra()(x)
sage: h.display()
V --> R
on W: (u, v) |--> u/(u^2 + v^2)
on W: (x, y) |--> x
The scalar fields resulting from the coercion SR -> ScalarFieldAlgebra are not defined on the whole manifold, as they should be for a coercion. In fact, the results are not even well-defined since they are not uniquely determined by the input.
Things get more out of control if no transition map is stated (for example, the transitivity axiom for coercions is violated). However, we probably can assume that this would not reflect the intended usage.
CC: @egourgoulhon @mkoeppe @tscrim
Component: manifolds
Issue created by migration from https://trac.sagemath.org/ticket/30232