summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravis Scrimshaw <tscrimsh at umn.edu>2016-01-23 11:30:51 -0600
committerTravis Scrimshaw <tscrimsh at umn.edu>2016-01-23 11:30:51 -0600
commit1113442b63aa24c397fc2f5755402cbb061b4654 (patch)
tree770c9ebca78ebeb5929f4173ff20850fce53a8fe
parentMerge branch 'public/manifolds/top_manif_basics' of trac.sagemath.org:sage in... (diff)
Some final reviewer changes and tweaks.
-rw-r--r--src/sage/manifolds/chart.py316
-rw-r--r--src/sage/manifolds/manifold.py56
-rw-r--r--src/sage/manifolds/structure.py1
3 files changed, 199 insertions, 174 deletions
diff --git a/src/sage/manifolds/chart.py b/src/sage/manifolds/chart.py
index c2fc4f2..5f43999 100644
--- a/src/sage/manifolds/chart.py
+++ b/src/sage/manifolds/chart.py
@@ -1,9 +1,10 @@
r"""
Coordinate Charts
-The class :class:`Chart` implements coordinate charts on a topological manifold
-over a topological field `K`. The subclass :class:`RealChart` is devoted
-to the case `K=\RR`, for which the concept of coordinate range is meaningful.
+The class :class:`Chart` implements coordinate charts on a topological
+manifold over a topological field `K`. The subclass :class:`RealChart`
+is devoted to the case `K=\RR`, for which the concept of coordinate
+range is meaningful.
Transition maps between charts are implemented via the class
:class:`CoordChange`.
@@ -56,25 +57,27 @@ class Chart(UniqueRepresentation, SageObject):
- ``domain`` -- open subset `U` on which the chart is defined (must be
an instance of :class:`~sage.manifolds.manifold.TopologicalManifold`)
- - ``coordinates`` -- (default: ``''`` (empty string)) single string
- defining the coordinate symbols, with ``' '`` (whitespace) as a
- separator; each item has at most two fields, separated by ``:``:
-
- 1. The coordinate symbol (a letter or a few letters)
- 2. (optional) The LaTeX spelling of the coordinate; if not provided the
- coordinate symbol given in the first field will be used.
-
- If it contains any LaTeX expression, the string ``coordinates`` must be
- declared with the prefix 'r' (for "raw") to allow for a proper treatment
- of LaTeX's backslash character (see examples below).
- If no LaTeX spelling is to be set for any coordinate, the argument
- ``coordinates`` can be omitted when the shortcut operator ``<,>`` is
- used via Sage preparser (see examples below).
+ - ``coordinates`` -- (default: ``''`` (empty string)) the string
+ defining the coordinate symbols, see below
- ``names`` -- (default: ``None``) unused argument, except if
``coordinates`` is not provided; it must then be a tuple containing
the coordinate symbols (this is guaranteed if the shortcut operator
``<,>`` is used)
+ The coordiniate string has the space ``' '`` as a separator and each
+ item has at most two fields, separated by ``:``:
+
+ 1. the coordinate symbol (a letter or a few letters);
+ 2. (optional) the LaTeX spelling of the coordinate, if not provided the
+ coordinate symbol given in the first field will be used.
+
+ If it contains any LaTeX expression, the string ``coordinates`` must be
+ declared with the prefix 'r' (for "raw") to allow for a proper treatment
+ of LaTeX's backslash character (see examples below).
+ If no LaTeX spelling is to be set for any coordinate, the argument
+ ``coordinates`` can be omitted when the shortcut operator ``<,>`` is
+ used via Sage preparser (see examples below).
+
EXAMPLES:
A chart on a complex 2-dimensional topological manifold::
@@ -407,8 +410,8 @@ class Chart(UniqueRepresentation, SageObject):
OUTPUT:
- - the coordinate of index ``i`` or all the coordinates (as a tuple) if
- ``i`` is the slice ``[:]``
+ - the coordinate of index ``i`` or all the coordinates (as a tuple)
+ if ``i`` is the slice ``[:]``
EXAMPLES::
@@ -518,16 +521,21 @@ class Chart(UniqueRepresentation, SageObject):
- ``restrictions`` -- list of restrictions on the
coordinates, in addition to the ranges declared by the intervals
- specified in the chart constructor.
- A restriction can be any symbolic equality or inequality involving the
- coordinates, such as x>y or x^2+y^2 != 0. The items of the list
- ``restrictions`` are combined with the ``and`` operator; if some
- restrictions are to be combined with the ``or`` operator instead, they
- have to be passed as a tuple in some single item of the list
- ``restrictions``. For example, ``restrictions`` = [x>y, (x!=0, y!=0),
- z^2<x] means (x>y) and ((x!=0) or (y!=0)) and (z^2<x). If the list
- ``restrictions`` contains only one item, this item can be passed as
- such, i.e. writing x>y instead of the single element list [x>y].
+ specified in the chart constructor
+
+ A restriction can be any symbolic equality or inequality involving
+ the coordinates, such as ``x > y`` or ``x^2 + y^2 != 0``. The items
+ of the list ``restrictions`` are combined with the ``and`` operator;
+ if some restrictions are to be combined with the ``or`` operator
+ instead, they have to be passed as a tuple in some single item
+ of the list ``restrictions``. For example::
+
+ restrictions = [x > y, (x != 0, y != 0), z^2 < x]
+
+ means (``x > y``) and ((``x != 0``) or (``y != 0``)) and
+ (``z^2 < x``). If the list ``restrictions`` contains only one
+ item, this item can be passed as such, i.e. writing ``x > y``
+ instead of the single element list ``[x > y]``.
EXAMPLES::
@@ -562,19 +570,21 @@ class Chart(UniqueRepresentation, SageObject):
- ``subset`` -- open subset `V` of the chart domain `U` (must be an
instance of :class:`~sage.manifolds.manifold.TopologicalManifold`)
- ``restrictions`` -- (default: ``None``) list of coordinate
- restrictions defining the subset `V`.
- A restriction can be any symbolic equality or
- inequality involving the coordinates, such as x>y or x^2+y^2 != 0.
- The items of the list ``restrictions`` are combined with the ``and``
- operator; if some restrictions are to be combined with the ``or``
- operator instead, they have to be passed as a tuple in some single
- item of the list ``restrictions``. For example, ``restrictions``
- being [x>y, (x!=0, y!=0), z^2<x] means (x>y) and ((x!=0) or (y!=0))
- and (z^2<x). If the list ``restrictions`` contains only one item,
- this item can be passed as such, i.e. writing x>y instead of the
- single element list [x>y]. Note that the argument ``restrictions``
- can be omitted if the subchart has been already initialized by a
- previous call.
+ restrictions defining the subset `V`
+
+ A restriction can be any symbolic equality or inequality involving
+ the coordinates, such as ``x > y`` or ``x^2 + y^2 != 0``. The items
+ of the list ``restrictions`` are combined with the ``and`` operator;
+ if some restrictions are to be combined with the ``or`` operator
+ instead, they have to be passed as a tuple in some single item
+ of the list ``restrictions``. For example::
+
+ restrictions = [x > y, (x != 0, y != 0), z^2 < x]
+
+ means (``x > y``) and ((``x != 0``) or (``y != 0``)) and
+ (``z^2 < x``). If the list ``restrictions`` contains only one
+ item, this item can be passed as such, i.e. writing ``x > y``
+ instead of the single element list ``[x > y]``.
OUTPUT:
@@ -631,8 +641,8 @@ class Chart(UniqueRepresentation, SageObject):
OUTPUT:
- - ``True`` if the coordinate values are admissible in the chart image,
- ``False`` otherwise.
+ - ``True`` if the coordinate values are admissible in the chart
+ image, ``False`` otherwise
EXAMPLE::
@@ -716,21 +726,25 @@ class Chart(UniqueRepresentation, SageObject):
- ``intersection_name`` -- (default: ``None``) name to be given to the
subset `U \cap V` if the latter differs from `U` or `V`
- ``restrictions1`` -- (default: ``None``) list of conditions on the
- coordinates of the current chart that define `U\cap V` if the
- latter differs from `U`. ``restrictions1`` must be a list of
- of symbolic equalities or inequalities involving the
- coordinates, such as x>y or x^2+y^2 != 0. The items of the list
- ``restrictions1`` are combined with the ``and`` operator; if some
- restrictions are to be combined with the ``or`` operator instead,
- they have to be passed as a tuple in some single item of the list
- ``restrictions1``. For example, ``restrictions1`` = [x>y,
- (x!=0, y!=0), z^2<x] means (x>y) and ((x!=0) or (y!=0)) and (z^2<x).
- If the list ``restrictions1`` contains only one item, this item can
- be passed as such, i.e. writing x>y instead of the single-element
- list [x>y].
+ coordinates of the current chart that define `U \cap V` if the
+ latter differs from `U`
- ``restrictions2`` -- (default: ``None``) list of conditions on the
- coordinates of the chart `(V,\psi)` that define `U\cap V` if the
- latter differs from `V` (see ``restrictions1`` for the syntax)
+ coordinates of the chart `(V,\psi)` that define `U \cap V` if the
+ latter differs from `V`
+
+ A restriction can be any symbolic equality or inequality involving
+ the coordinates, such as ``x > y`` or ``x^2 + y^2 != 0``. The items
+ of the list ``restrictions`` are combined with the ``and`` operator;
+ if some restrictions are to be combined with the ``or`` operator
+ instead, they have to be passed as a tuple in some single item
+ of the list ``restrictions``. For example::
+
+ restrictions = [x > y, (x != 0, y != 0), z^2 < x]
+
+ means (``x > y``) and ((``x != 0``) or (``y != 0``)) and
+ (``z^2 < x``). If the list ``restrictions`` contains only one
+ item, this item can be passed as such, i.e. writing ``x > y``
+ instead of the single element list ``[x > y]``.
OUTPUT:
@@ -828,34 +842,35 @@ class RealChart(Chart):
INPUT:
- ``domain`` -- open subset `U` on which the chart is defined
- - ``coordinates`` -- (default: '' (empty string)) single string defining
- the coordinate symbols and ranges, with ' ' (whitespace) as a separator;
- each item has at most three fields, separated by ':':
-
- 1. The coordinate symbol (a letter or a few letters)
- 2. (optional) The interval `I` defining the coordinate range: if not
- provided, the coordinate is assumed to span all `\RR`; otherwise
- `I` must be provided in the form ``(a,b)`` (or equivalently
- ``]a,b[``). The bounds ``a`` and ``b`` can be ``+/-Infinity``,
- ``Inf``, ``infinity``, ``inf`` or ``oo``.
- For *singular* coordinates, non-open intervals such as ``[a,b]`` and
- ``(a,b]`` (or equivalently ``]a,b]``) are allowed.
- Note that the interval declaration must not contain any whitespace.
- 3. (optional) The LaTeX spelling of the coordinate; if not provided the
- coordinate symbol given in the first field will be used.
-
- The order of the fields 2 and 3 does not matter and each of them can be
- omitted.
- If it contains any LaTeX expression, the string ``coordinates`` must be
- declared with the prefix 'r' (for "raw") to allow for a proper treatment
- of LaTeX backslash characters (see examples below).
- If no interval range and no LaTeX spelling is to be set for any
- coordinate, the argument ``coordinates`` can be omitted when the
- shortcut operator ``<,>`` is used via Sage preparser (see examples below)
+ - ``coordinates`` -- (default: ``''`` (empty string)) string defining
+ the coordinate symbols and ranges, see below
- ``names`` -- (default: ``None``) unused argument, except if
``coordinates`` is not provided; it must then be a tuple containing
the coordinate symbols (this is guaranteed if the shortcut operator
- ``<,>`` is used).
+ ``<,>`` is used)
+
+ The coordinates are a string, with ``' '`` (whitespace) as a separator.
+ Each item has at most three fields, separated by ``':'``:
+
+ 1. The coordinate symbol (a letter or a few letters).
+ 2. (optional) The interval `I` defining the coordinate range: if not
+ provided, the coordinate is assumed to span all `\RR`; otherwise
+ `I` must be provided in the form ``(a,b)`` (or equivalently
+ ``]a,b[``). The bounds ``a`` and ``b`` can be ``+/-Infinity``,
+ ``Inf``, ``infinity``, ``inf`` or ``oo``.
+ For *singular* coordinates, non-open intervals such as ``[a,b]`` and
+ ``(a,b]`` (or equivalently ``]a,b]``) are allowed.
+ Note that the interval declaration must not contain any whitespace.
+ 3. (optional) The LaTeX spelling of the coordinate; if not provided the
+ coordinate symbol given in the first field will be used.
+
+ The order of the fields 2 and 3 does not matter and each of them can be
+ omitted. If it contains any LaTeX expression, the string ``coordinates``
+ must be declared with the prefix 'r' (for "raw") to allow for a proper
+ treatment of LaTeX backslash characters (see examples below). If no
+ interval range and no LaTeX spelling is to be set for any coordinate,
+ the argument ``coordinates`` can be omitted when the shortcut
+ operator ``<,>`` is used via Sage preparser (see examples below).
EXAMPLES:
@@ -967,7 +982,8 @@ class RealChart(Chart):
sage: simplify(abs(x)) # no positive range has been declared for x
abs(x)
- Each constructed chart is automatically added to the manifold's user atlas::
+ Each constructed chart is automatically added to the manifold's
+ user atlas::
sage: M.atlas()
[Chart (R^3, (x, y, z)), Chart (U, (r, th, ph))]
@@ -977,8 +993,8 @@ class RealChart(Chart):
sage: U.atlas()
[Chart (U, (r, th, ph))]
- Manifold subsets have a *default chart*, which, unless changed via the
- method
+ Manifold subsets have a *default chart*, which, unless changed
+ via the method
:meth:`~sage.manifolds.manifold.TopologicalManifold.set_default_chart`,
is the first defined chart on the subset (or on a open subset of it)::
@@ -1017,8 +1033,7 @@ class RealChart(Chart):
Accordingly, we set::
sage: c_cartU.<x,y,z> = U.chart()
- sage: c_cartU.add_restrictions((y!=0, x<0)) # the tuple (y!=0, x<0) means y!=0 or x<0
- sage: # c_cartU.add_restrictions([y!=0, x<0]) would have meant y!=0 AND x<0
+ sage: c_cartU.add_restrictions((y!=0, x<0))
sage: U.atlas()
[Chart (U, (r, th, ph)), Chart (U, (x, y, z))]
sage: M.atlas()
@@ -1030,6 +1045,10 @@ class RealChart(Chart):
sage: c_cart.valid_coordinates(1,0,2)
True
+ Note that, as an example, the following would have meant `y \neq 0`
+ *and* `x < 0`::
+
+ c_cartU.add_restrictions([y!=0, x<0])
"""
def __init__(self, domain, coordinates='', names=None):
r"""
@@ -1062,8 +1081,8 @@ class RealChart(Chart):
- ``coord_list`` -- list of coordinate fields, which items in each
field separated by ":"; there are at most 3 items per field:
- the coordinate name, the coordinate LaTeX symbol and the coordinate
- range
+ the coordinate name, the coordinate LaTeX symbol and the
+ coordinate range
TESTS::
@@ -1288,20 +1307,25 @@ class RealChart(Chart):
- ``restrictions`` -- list of restrictions on the
coordinates, in addition to the ranges declared by the intervals
- specified in the chart constructor.
- A restriction can be any symbolic equality or inequality involving the
- coordinates, such as x>y or x^2+y^2 != 0. The items of the list
- ``restrictions`` are combined with the ``and`` operator; if some
- restrictions are to be combined with the ``or`` operator instead, they
- have to be passed as a tuple in some single item of the list
- ``restrictions``. For example, ``restrictions`` = [x>y, (x!=0, y!=0),
- z^2<x] means (x>y) and ((x!=0) or (y!=0)) and (z^2<x). If the list
- ``restrictions`` contains only one item, this item can be passed as
- such, i.e. writing x>y instead of the single element list [x>y].
+ specified in the chart constructor
+
+ A restriction can be any symbolic equality or inequality involving
+ the coordinates, such as ``x > y`` or ``x^2 + y^2 != 0``. The items
+ of the list ``restrictions`` are combined with the ``and`` operator;
+ if some restrictions are to be combined with the ``or`` operator
+ instead, they have to be passed as a tuple in some single item
+ of the list ``restrictions``. For example::
+
+ restrictions = [x > y, (x != 0, y != 0), z^2 < x]
+
+ means (``x > y``) and ((``x != 0``) or (``y != 0``)) and
+ (``z^2 < x``). If the list ``restrictions`` contains only one
+ item, this item can be passed as such, i.e. writing ``x > y``
+ instead of the single element list ``[x > y]``.
EXAMPLES:
- Cartesian coordinates on the open unit disc in $\RR^2$::
+ Cartesian coordinates on the open unit disc in `\RR^2`::
sage: M = Manifold(2, 'M', structure='topological') # the open unit disc
sage: X.<x,y> = M.chart()
@@ -1404,19 +1428,21 @@ class RealChart(Chart):
- ``subset`` -- open subset `V` of the chart domain `U` (must be an
instance of :class:`~sage.manifolds.manifold.TopologicalManifold`)
- ``restrictions`` -- (default: ``None``) list of coordinate
- restrictions defining the subset `V`.
- A restriction can be any symbolic equality or
- inequality involving the coordinates, such as x>y or x^2+y^2 != 0.
- The items of the list ``restrictions`` are combined with the ``and``
- operator; if some restrictions are to be combined with the ``or``
- operator instead, they have to be passed as a tuple in some single
- item of the list ``restrictions``. For example, ``restrictions``
- being [x>y, (x!=0, y!=0), z^2<x] means (x>y) and ((x!=0) or (y!=0))
- and (z^2<x). If the list ``restrictions`` contains only one item,
- this item can be passed as such, i.e. writing x>y instead of the
- single element list [x>y]. Note that the argument ``restrictions``
- can be omitted if the subchart has been already initialized by a
- previous call.
+ restrictions defining the subset `V`
+
+ A restriction can be any symbolic equality or inequality involving
+ the coordinates, such as ``x > y`` or ``x^2 + y^2 != 0``. The items
+ of the list ``restrictions`` are combined with the ``and`` operator;
+ if some restrictions are to be combined with the ``or`` operator
+ instead, they have to be passed as a tuple in some single item
+ of the list ``restrictions``. For example::
+
+ restrictions = [x > y, (x != 0, y != 0), z^2 < x]
+
+ means (``x > y``) and ((``x != 0``) or (``y != 0``)) and
+ (``z^2 < x``). If the list ``restrictions`` contains only one
+ item, this item can be passed as such, i.e. writing ``x > y``
+ instead of the single element list ``[x > y]``.
OUTPUT:
@@ -1438,7 +1464,7 @@ class RealChart(Chart):
sage: q in D
False
- Cartesian coordinates on the annulus `1<\sqrt{x^2+y^2}<2`::
+ Cartesian coordinates on the annulus `1 < \sqrt{x^2+y^2} < 2`::
sage: A = M.open_subset('A')
sage: c_cart_A = c_cart.restrict(A, [x^2+y^2>1, x^2+y^2<4])
@@ -1491,7 +1517,8 @@ class RealChart(Chart):
OUTPUT:
- - True if the coordinate values are admissible in the chart range.
+ - ``True`` if the coordinate values are admissible in the chart range
+ and ``False`` otherwise
EXAMPLES:
@@ -1578,27 +1605,27 @@ class CoordChange(SageObject):
r"""
Transition map between two charts of a topological manifold.
- Giving two coordinate charts `(U,\varphi)` and `(V,\psi)` on a topological
- manifold `M` of dimension `n` over a topological field `K`, the
- *transition map from* `(U,\varphi)` *to* `(V,\psi)` is the map
+ Giving two coordinate charts `(U, \varphi)` and `(V, \psi)` on a
+ topological manifold `M` of dimension `n` over a topological field `K`,
+ the *transition map from* `(U,\varphi)` *to* `(V,\psi)` is the map
.. MATH::
\psi\circ\varphi^{-1}: \varphi(U\cap V) \subset K^n
- \rightarrow \psi(U\cap V) \subset K^n,
+ \rightarrow \psi(U\cap V) \subset K^n.
- In other words, the transition map `\psi\circ\varphi^{-1}` expresses the
- coordinates `(y^1,\ldots,y^n)` of `(V,\psi)` in terms of the coordinates
- `(x^1,\ldots,x^n)` of `(U,\varphi)` on the open subset where the two
- charts intersect, i.e. on `U\cap V`.
+ In other words, the transition map `\psi \circ \varphi^{-1}` expresses
+ the coordinates `(y^1, \ldots, y^n)` of `(V, \psi)` in terms of the
+ coordinates `(x^1, \ldots, x^n)` of `(U, \varphi)` on the open subset
+ where the two charts intersect, i.e. on `U \cap V`.
INPUT:
- - ``chart1`` -- chart `(U,\varphi)`
- - ``chart2`` -- chart `(V,\psi)`
- - ``transformations`` -- tuple (or list) `(Y_1,\ldots,Y_2)`, where
+ - ``chart1`` -- chart `(U, \varphi)`
+ - ``chart2`` -- chart `(V, \psi)`
+ - ``transformations`` -- tuple (or list) `(Y_1, \ldots, Y_2)`, where
`Y_i` is the symbolic expression of the coordinate `y^i` in terms
- of the coordinates `(x^1,\ldots,x^n)`
+ of the coordinates `(x^1, \ldots, x^n)`
EXAMPLES:
@@ -1778,12 +1805,12 @@ class CoordChange(SageObject):
OUTPUT:
- an instance of :class:`CoordChange` representing the inverse of
- the current coordinate transformation.
+ the current coordinate transformation
EXAMPLES:
- Inverse of a coordinate transformation corresponding to a pi/3-rotation
- in the plane::
+ Inverse of a coordinate transformation corresponding to a
+ `\pi/3`-rotation in the plane::
sage: M = Manifold(2, 'M', structure='topological')
sage: c_xy.<x,y> = M.chart()
@@ -1868,7 +1895,6 @@ class CoordChange(SageObject):
self._inverse = type(self)(self._chart2, self._chart1, *x2_to_x1)
return self._inverse
-
def set_inverse(self, *transformations, **kwds):
r"""
Sets the inverse of the coordinate transformation.
@@ -1881,10 +1907,10 @@ class CoordChange(SageObject):
- ``transformations`` -- the inverse transformations expressed as a
list of the expressions of the "old" coordinates in terms of the
"new" ones
- - ``kwds`` -- keyword arguments: only ``check=True`` (default) or
- ``check=False`` are meaningful; it determines whether the provided
+ - ``kwds`` -- keyword arguments: only ``verbose=True`` (default) or
+ ``verbose=False`` are meaningful; it determines whether the provided
transformations are checked to be indeed the inverse coordinate
- transformations.
+ transformations
EXAMPLES:
@@ -1919,25 +1945,22 @@ class CoordChange(SageObject):
y == sqrt(x^3 + y^2)*y/sqrt(x^2 + y^2)
"""
- if 'check' in kwds:
- check = kwds['check']
- else:
- check = True
+ verbose = kwds.get('verbose', True)
self._inverse = type(self)(self._chart2, self._chart1,
*transformations)
- if check:
- print "Check of the inverse coordinate transformation:"
+ if verbose:
+ print("Check of the inverse coordinate transformation:")
x1 = self._chart1._xx
x2 = self._chart2._xx
n1 = len(x1)
for i in range(n1):
- print " ", x1[i], '==' , self._inverse(*(self(*x1)))[i]
+ print(" {} == {}".format(x1[i], self._inverse(*(self(*x1)))[i]))
for i in range(n1):
- print " ", x2[i], '==', self(*(self._inverse(*x2)))[i]
+ print(" {} == {}".format(x2[i], self(*(self._inverse(*x2)))[i]))
def __mul__(self, other):
r"""
- Composition with another change of coordinates
+ Composition with another change of coordinates.
INPUT:
@@ -1946,8 +1969,8 @@ class CoordChange(SageObject):
OUTPUT:
- - the change of coordinates X_1 --> X_3, where X_1 is the initial
- chart of ``other`` and X_3 is the final chart of ``self``
+ - the change of coordinates `X_1 \to X_3`, where `X_1` is the initial
+ chart of ``other`` and `X_3` is the final chart of ``self``
EXAMPLE::
@@ -2078,3 +2101,4 @@ class CoordChange(SageObject):
return FormattedExpansion(rtxt, rlatex)
disp = display
+
diff --git a/src/sage/manifolds/manifold.py b/src/sage/manifolds/manifold.py
index ca577d8..09ff835 100644
--- a/src/sage/manifolds/manifold.py
+++ b/src/sage/manifolds/manifold.py
@@ -1371,37 +1371,37 @@ class TopologicalManifold(ManifoldSubset):
INPUT:
- - ``coordinates`` -- (default: '' (empty string)) single string
- defining the coordinate symbols and ranges: the coordinates are
- separated by ' ' (space) and each coordinate has at most three fields,
- separated by ':':
-
- 1. The coordinate symbol (a letter or a few letters)
- 2. (optional, only for manifolds over `\RR`) The interval `I`
- defining the coordinate range: if not
- provided, the coordinate is assumed to span all `\RR`; otherwise
- `I` must be provided in the form (a,b) (or equivalently ]a,b[)
- The bounds a and b can be +/-Infinity, Inf, infinity, inf or oo.
- For *singular* coordinates, non-open intervals such as [a,b] and
- (a,b] (or equivalently ]a,b]) are allowed.
- Note that the interval declaration must not contain any space
- character.
- 3. (optional) The LaTeX spelling of the coordinate; if not provided
- the coordinate symbol given in the first field will be used.
-
- The order of the fields 2 and 3 does not matter and each of them can
- be omitted.
- If it contains any LaTeX expression, the string ``coordinates`` must
- be declared with the prefix 'r' (for "raw") to allow for a proper
- treatment of the backslash character (see examples below).
- If no interval range and no LaTeX spelling is to be provided for any
- coordinate, the argument ``coordinates`` can be omitted when the
- shortcut operator ``<,>`` is used via Sage preparser (see examples
- below)
+ - ``coordinates`` -- (default: ``'``' (empty string)) string
+ defining the coordinate symbols and ranges, see below
- ``names`` -- (default: ``None``) unused argument, except if
``coordinates`` is not provided; it must then be a tuple containing
the coordinate symbols (this is guaranteed if the shortcut operator
- ``<,>`` is used).
+ ``<,>`` is used)
+
+ The coordinates are separated by ``' '`` (space) and each
+ coordinate has at most three fields, separated by ``':'``:
+
+ 1. The coordinate symbol (a letter or a few letters).
+ 2. (optional, only for manifolds over `\RR`) The interval `I`
+ defining the coordinate range: if not provided, the coordinate
+ is assumed to span all `\RR`; otherwise `I` must be provided
+ in the form ``(a,b)`` (or equivalently ``]a,b[``)
+ The bounds ``a`` and ``b`` can be ``+/-Infinity``, ``Inf``,
+ ``infinity``, ``inf`` or ``oo``. For *singular* coordinates,
+ non-open intervals such as ``[a,b]`` and
+ ``(a,b]`` (or equivalently ``]a,b]``) are allowed. Note that
+ the interval declaration must not contain any space character.
+ 3. (optional) The LaTeX spelling of the coordinate; if not provided
+ the coordinate symbol given in the first field will be used.
+
+ The order of the fields 2 and 3 does not matter and each of them can
+ be omitted. If it contains any LaTeX expression, the string
+ ``coordinates`` must be declared with the prefix 'r' (for "raw") to
+ allow for a proper treatment of the backslash character (see
+ examples below). If no interval range and no LaTeX spelling is to
+ be provided for any coordinate, the argument ``coordinates`` can be
+ omitted when the shortcut operator ``<,>`` is used via Sage
+ preparser (see examples below).
OUTPUT:
diff --git a/src/sage/manifolds/structure.py b/src/sage/manifolds/structure.py
index 6938503..37349f0 100644
--- a/src/sage/manifolds/structure.py
+++ b/src/sage/manifolds/structure.py
@@ -67,3 +67,4 @@ class RealTopologicalStructure(Singleton):
"""
return cat
+