passagemath-symbolics 10.6.40__cp314-cp314t-macosx_13_0_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-symbolics might be problematic. Click here for more details.

Files changed (172) hide show
  1. passagemath_symbolics/.dylibs/libgmp.10.dylib +0 -0
  2. passagemath_symbolics/__init__.py +3 -0
  3. passagemath_symbolics-10.6.40.dist-info/METADATA +187 -0
  4. passagemath_symbolics-10.6.40.dist-info/RECORD +172 -0
  5. passagemath_symbolics-10.6.40.dist-info/WHEEL +6 -0
  6. passagemath_symbolics-10.6.40.dist-info/top_level.txt +3 -0
  7. sage/all__sagemath_symbolics.py +17 -0
  8. sage/calculus/all.py +14 -0
  9. sage/calculus/calculus.py +2826 -0
  10. sage/calculus/desolvers.py +1866 -0
  11. sage/calculus/predefined.py +51 -0
  12. sage/calculus/tests.py +225 -0
  13. sage/calculus/var.cpython-314t-darwin.so +0 -0
  14. sage/calculus/var.pyx +401 -0
  15. sage/dynamics/all__sagemath_symbolics.py +6 -0
  16. sage/dynamics/complex_dynamics/all.py +5 -0
  17. sage/dynamics/complex_dynamics/mandel_julia.py +765 -0
  18. sage/dynamics/complex_dynamics/mandel_julia_helper.cpython-314t-darwin.so +0 -0
  19. sage/dynamics/complex_dynamics/mandel_julia_helper.pyx +1035 -0
  20. sage/ext/all__sagemath_symbolics.py +1 -0
  21. sage/ext_data/kenzo/CP2.txt +45 -0
  22. sage/ext_data/kenzo/CP3.txt +349 -0
  23. sage/ext_data/kenzo/CP4.txt +4774 -0
  24. sage/ext_data/kenzo/README.txt +49 -0
  25. sage/ext_data/kenzo/S4.txt +20 -0
  26. sage/ext_data/magma/latex/latex.m +1021 -0
  27. sage/ext_data/magma/latex/latex.spec +1 -0
  28. sage/ext_data/magma/sage/basic.m +356 -0
  29. sage/ext_data/magma/sage/sage.spec +1 -0
  30. sage/ext_data/magma/spec +9 -0
  31. sage/geometry/all__sagemath_symbolics.py +8 -0
  32. sage/geometry/hyperbolic_space/all.py +5 -0
  33. sage/geometry/hyperbolic_space/hyperbolic_coercion.py +743 -0
  34. sage/geometry/hyperbolic_space/hyperbolic_constants.py +5 -0
  35. sage/geometry/hyperbolic_space/hyperbolic_geodesic.py +2409 -0
  36. sage/geometry/hyperbolic_space/hyperbolic_interface.py +206 -0
  37. sage/geometry/hyperbolic_space/hyperbolic_isometry.py +1082 -0
  38. sage/geometry/hyperbolic_space/hyperbolic_model.py +1502 -0
  39. sage/geometry/hyperbolic_space/hyperbolic_point.py +621 -0
  40. sage/geometry/riemannian_manifolds/all.py +7 -0
  41. sage/geometry/riemannian_manifolds/parametrized_surface3d.py +1632 -0
  42. sage/geometry/riemannian_manifolds/surface3d_generators.py +461 -0
  43. sage/interfaces/all__sagemath_symbolics.py +1 -0
  44. sage/interfaces/magma.py +3017 -0
  45. sage/interfaces/magma_free.py +92 -0
  46. sage/interfaces/maple.py +1397 -0
  47. sage/interfaces/mathematica.py +1345 -0
  48. sage/interfaces/mathics.py +1312 -0
  49. sage/interfaces/sympy.py +1398 -0
  50. sage/interfaces/sympy_wrapper.py +197 -0
  51. sage/interfaces/tides.py +938 -0
  52. sage/libs/all__sagemath_symbolics.py +6 -0
  53. sage/manifolds/all.py +7 -0
  54. sage/manifolds/calculus_method.py +555 -0
  55. sage/manifolds/catalog.py +437 -0
  56. sage/manifolds/chart.py +4019 -0
  57. sage/manifolds/chart_func.py +3419 -0
  58. sage/manifolds/continuous_map.py +2183 -0
  59. sage/manifolds/continuous_map_image.py +155 -0
  60. sage/manifolds/differentiable/affine_connection.py +2475 -0
  61. sage/manifolds/differentiable/all.py +1 -0
  62. sage/manifolds/differentiable/automorphismfield.py +1383 -0
  63. sage/manifolds/differentiable/automorphismfield_group.py +604 -0
  64. sage/manifolds/differentiable/bundle_connection.py +1445 -0
  65. sage/manifolds/differentiable/characteristic_cohomology_class.py +1840 -0
  66. sage/manifolds/differentiable/chart.py +1241 -0
  67. sage/manifolds/differentiable/curve.py +1028 -0
  68. sage/manifolds/differentiable/de_rham_cohomology.py +541 -0
  69. sage/manifolds/differentiable/degenerate.py +559 -0
  70. sage/manifolds/differentiable/degenerate_submanifold.py +1671 -0
  71. sage/manifolds/differentiable/diff_form.py +1658 -0
  72. sage/manifolds/differentiable/diff_form_module.py +1062 -0
  73. sage/manifolds/differentiable/diff_map.py +1315 -0
  74. sage/manifolds/differentiable/differentiable_submanifold.py +291 -0
  75. sage/manifolds/differentiable/examples/all.py +1 -0
  76. sage/manifolds/differentiable/examples/euclidean.py +2517 -0
  77. sage/manifolds/differentiable/examples/real_line.py +897 -0
  78. sage/manifolds/differentiable/examples/sphere.py +1186 -0
  79. sage/manifolds/differentiable/examples/symplectic_space.py +187 -0
  80. sage/manifolds/differentiable/examples/symplectic_space_test.py +40 -0
  81. sage/manifolds/differentiable/integrated_curve.py +4035 -0
  82. sage/manifolds/differentiable/levi_civita_connection.py +841 -0
  83. sage/manifolds/differentiable/manifold.py +4254 -0
  84. sage/manifolds/differentiable/manifold_homset.py +1826 -0
  85. sage/manifolds/differentiable/metric.py +3032 -0
  86. sage/manifolds/differentiable/mixed_form.py +1507 -0
  87. sage/manifolds/differentiable/mixed_form_algebra.py +559 -0
  88. sage/manifolds/differentiable/multivector_module.py +800 -0
  89. sage/manifolds/differentiable/multivectorfield.py +1520 -0
  90. sage/manifolds/differentiable/poisson_tensor.py +268 -0
  91. sage/manifolds/differentiable/pseudo_riemannian.py +755 -0
  92. sage/manifolds/differentiable/pseudo_riemannian_submanifold.py +1839 -0
  93. sage/manifolds/differentiable/scalarfield.py +1343 -0
  94. sage/manifolds/differentiable/scalarfield_algebra.py +472 -0
  95. sage/manifolds/differentiable/symplectic_form.py +910 -0
  96. sage/manifolds/differentiable/symplectic_form_test.py +220 -0
  97. sage/manifolds/differentiable/tangent_space.py +412 -0
  98. sage/manifolds/differentiable/tangent_vector.py +616 -0
  99. sage/manifolds/differentiable/tensorfield.py +4665 -0
  100. sage/manifolds/differentiable/tensorfield_module.py +963 -0
  101. sage/manifolds/differentiable/tensorfield_paral.py +2450 -0
  102. sage/manifolds/differentiable/tensorfield_paral_test.py +16 -0
  103. sage/manifolds/differentiable/vector_bundle.py +1728 -0
  104. sage/manifolds/differentiable/vectorfield.py +1717 -0
  105. sage/manifolds/differentiable/vectorfield_module.py +2445 -0
  106. sage/manifolds/differentiable/vectorframe.py +1832 -0
  107. sage/manifolds/family.py +270 -0
  108. sage/manifolds/local_frame.py +1490 -0
  109. sage/manifolds/manifold.py +3090 -0
  110. sage/manifolds/manifold_homset.py +452 -0
  111. sage/manifolds/operators.py +359 -0
  112. sage/manifolds/point.py +994 -0
  113. sage/manifolds/scalarfield.py +3718 -0
  114. sage/manifolds/scalarfield_algebra.py +629 -0
  115. sage/manifolds/section.py +3111 -0
  116. sage/manifolds/section_module.py +831 -0
  117. sage/manifolds/structure.py +229 -0
  118. sage/manifolds/subset.py +2764 -0
  119. sage/manifolds/subsets/all.py +1 -0
  120. sage/manifolds/subsets/closure.py +131 -0
  121. sage/manifolds/subsets/pullback.py +885 -0
  122. sage/manifolds/topological_submanifold.py +891 -0
  123. sage/manifolds/trivialization.py +733 -0
  124. sage/manifolds/utilities.py +1348 -0
  125. sage/manifolds/vector_bundle.py +1342 -0
  126. sage/manifolds/vector_bundle_fiber.py +332 -0
  127. sage/manifolds/vector_bundle_fiber_element.py +111 -0
  128. sage/matrix/all__sagemath_symbolics.py +1 -0
  129. sage/matrix/matrix_symbolic_dense.cpython-314t-darwin.so +0 -0
  130. sage/matrix/matrix_symbolic_dense.pxd +6 -0
  131. sage/matrix/matrix_symbolic_dense.pyx +1022 -0
  132. sage/matrix/matrix_symbolic_sparse.cpython-314t-darwin.so +0 -0
  133. sage/matrix/matrix_symbolic_sparse.pxd +6 -0
  134. sage/matrix/matrix_symbolic_sparse.pyx +1029 -0
  135. sage/modules/all__sagemath_symbolics.py +1 -0
  136. sage/modules/vector_callable_symbolic_dense.py +105 -0
  137. sage/modules/vector_symbolic_dense.py +116 -0
  138. sage/modules/vector_symbolic_sparse.py +118 -0
  139. sage/rings/all__sagemath_symbolics.py +4 -0
  140. sage/rings/asymptotic/all.py +6 -0
  141. sage/rings/asymptotic/asymptotic_expansion_generators.py +1485 -0
  142. sage/rings/asymptotic/asymptotic_ring.py +4858 -0
  143. sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py +4153 -0
  144. sage/rings/asymptotic/growth_group.py +5373 -0
  145. sage/rings/asymptotic/growth_group_cartesian.py +1400 -0
  146. sage/rings/asymptotic/term_monoid.py +5237 -0
  147. sage/rings/function_field/all__sagemath_symbolics.py +2 -0
  148. sage/rings/polynomial/all__sagemath_symbolics.py +1 -0
  149. sage/symbolic/all.py +15 -0
  150. sage/symbolic/assumptions.py +985 -0
  151. sage/symbolic/benchmark.py +93 -0
  152. sage/symbolic/callable.py +459 -0
  153. sage/symbolic/complexity_measures.py +35 -0
  154. sage/symbolic/constants.py +1287 -0
  155. sage/symbolic/expression_conversion_algebraic.py +310 -0
  156. sage/symbolic/expression_conversion_sympy.py +317 -0
  157. sage/symbolic/expression_conversions.py +1713 -0
  158. sage/symbolic/function_factory.py +355 -0
  159. sage/symbolic/integration/all.py +1 -0
  160. sage/symbolic/integration/external.py +270 -0
  161. sage/symbolic/integration/integral.py +1115 -0
  162. sage/symbolic/maxima_wrapper.py +162 -0
  163. sage/symbolic/operators.py +267 -0
  164. sage/symbolic/random_tests.py +462 -0
  165. sage/symbolic/relation.py +1907 -0
  166. sage/symbolic/ring.cpython-314t-darwin.so +0 -0
  167. sage/symbolic/ring.pxd +5 -0
  168. sage/symbolic/ring.pyx +1396 -0
  169. sage/symbolic/subring.py +1025 -0
  170. sage/symbolic/symengine.py +19 -0
  171. sage/symbolic/tests.py +40 -0
  172. sage/symbolic/units.py +1470 -0
@@ -0,0 +1,291 @@
1
+ # sage_setup: distribution = sagemath-symbolics
2
+ r"""
3
+ Submanifolds of differentiable manifolds
4
+
5
+ Given two differentiable manifolds `N` and `M`, an *immersion* `\phi` is a
6
+ differentiable map `N\to M` whose differential is everywhere
7
+ injective. One then says that `N` is an *immersed submanifold* of `M`, via
8
+ `\phi`.
9
+
10
+ If in addition, `\phi` is a differentiable embedding (i.e. `\phi` is an
11
+ immersion that is a homeomorphism onto its image), then `N` is called an
12
+ *embedded submanifold* of `M` (or simply a *submanifold*).
13
+
14
+ `\phi` can also depend on one or multiple parameters. As long as the
15
+ differential of `\phi` remains injective in these parameters, it represents a
16
+ *foliation*. The *dimension* of the foliation is defined as the number of
17
+ parameters.
18
+
19
+ AUTHORS:
20
+
21
+ - Florentin Jaffredo (2018): initial version
22
+ - Eric Gourgoulhon (2018-2019): add documentation
23
+ - Matthias Koeppe (2021): open subsets of submanifolds
24
+
25
+ REFERENCES:
26
+
27
+ - \J. M. Lee: *Introduction to Smooth Manifolds* [Lee2013]_
28
+ """
29
+
30
+ # *****************************************************************************
31
+ # Copyright (C) 2018 Florentin Jaffredo <florentin.jaffredo@polytechnique.edu>
32
+ # Copyright (C) 2018-2019 Eric Gourgoulhon <eric.gourgoulhon@obspm.fr>
33
+ # Copyright (C) 2021 Matthias Koeppe <mkoeppe@math.ucdavis.edu>
34
+ #
35
+ # This program is free software: you can redistribute it and/or modify
36
+ # it under the terms of the GNU General Public License as published by
37
+ # the Free Software Foundation, either version 2 of the License, or
38
+ # (at your option) any later version.
39
+ # http://www.gnu.org/licenses/
40
+ # *****************************************************************************
41
+
42
+ from sage.manifolds.differentiable.manifold import DifferentiableManifold
43
+ from sage.manifolds.topological_submanifold import TopologicalSubmanifold
44
+ from sage.rings.infinity import infinity
45
+
46
+
47
+ class DifferentiableSubmanifold(DifferentiableManifold, TopologicalSubmanifold):
48
+ r"""
49
+ Submanifold of a differentiable manifold.
50
+
51
+ Given two differentiable manifolds `N` and `M`, an *immersion* `\phi` is a
52
+ differentiable map `N\to M` whose differential is everywhere
53
+ injective. One then says that `N` is an *immersed submanifold* of `M`, via
54
+ `\phi`.
55
+
56
+ If in addition, `\phi` is a differentiable embedding (i.e. `\phi` is an
57
+ immersion that is a homeomorphism onto its image), then `N` is called an
58
+ *embedded submanifold* of `M` (or simply a *submanifold*).
59
+
60
+ `\phi` can also depend on one or multiple parameters. As long as the
61
+ differential of `\phi` remains injective in these parameters, it represents
62
+ a *foliation*. The *dimension* of the foliation is defined as the number of
63
+ parameters.
64
+
65
+ INPUT:
66
+
67
+ - ``n`` -- positive integer; dimension of the submanifold
68
+ - ``name`` -- string; name (symbol) given to the submanifold
69
+ - ``field`` -- field `K` on which the sub manifold is defined; allowed
70
+ values are
71
+
72
+ - ``'real'`` or an object of type ``RealField`` (e.g., ``RR``) for
73
+ a manifold over `\RR`
74
+ - ``'complex'`` or an object of type ``ComplexField`` (e.g., ``CC``)
75
+ for a manifold over `\CC`
76
+ - an object in the category of topological fields (see
77
+ :class:`~sage.categories.fields.Fields` and
78
+ :class:`~sage.categories.topological_spaces.TopologicalSpaces`)
79
+ for other types of manifolds
80
+
81
+ - ``structure`` -- manifold structure (see
82
+ :class:`~sage.manifolds.structure.TopologicalStructure` or
83
+ :class:`~sage.manifolds.structure.RealTopologicalStructure`)
84
+ - ``ambient`` -- (default: ``None``) codomain `M` of the immersion `\phi`;
85
+ must be a differentiable manifold. If ``None``, it is set to ``self``
86
+ - ``base_manifold`` -- (default: ``None``) if not ``None``, must be a
87
+ differentiable manifold; the created object is then an open subset of
88
+ ``base_manifold``
89
+ - ``diff_degree`` -- (default: ``infinity``) degree of differentiability
90
+ - ``latex_name`` -- (default: ``None``) string; LaTeX symbol to
91
+ denote the submanifold; if none are provided, it is set to ``name``
92
+ - ``start_index`` -- (default: 0) integer; lower value of the range of
93
+ indices used for "indexed objects" on the submanifold, e.g., coordinates
94
+ in a chart
95
+ - ``category`` -- (default: ``None``) to specify the category; if ``None``,
96
+ ``Manifolds(field).Differentiable()`` (or ``Manifolds(field).Smooth()``
97
+ if ``diff_degree`` = ``infinity``) is assumed (see the category
98
+ :class:`~sage.categories.manifolds.Manifolds`)
99
+ - ``unique_tag`` -- (default: ``None``) tag used to force the construction
100
+ of a new object when all the other arguments have been used previously
101
+ (without ``unique_tag``, the
102
+ :class:`~sage.structure.unique_representation.UniqueRepresentation`
103
+ behavior inherited from
104
+ :class:`~sage.manifolds.subset.ManifoldSubset` via
105
+ :class:`~sage.manifolds.differentiable.manifold.DifferentiableManifold`
106
+ would return the previously constructed object corresponding to these
107
+ arguments)
108
+
109
+ EXAMPLES:
110
+
111
+ Let `N` be a 2-dimensional submanifold of a 3-dimensional manifold `M`::
112
+
113
+ sage: M = Manifold(3, 'M')
114
+ sage: N = Manifold(2, 'N', ambient=M)
115
+ sage: N
116
+ 2-dimensional differentiable submanifold N immersed in the
117
+ 3-dimensional differentiable manifold M
118
+ sage: CM.<x,y,z> = M.chart()
119
+ sage: CN.<u,v> = N.chart()
120
+
121
+ Let us define a 1-dimensional foliation indexed by `t`::
122
+
123
+ sage: t = var('t')
124
+ sage: phi = N.continuous_map(M, {(CN,CM): [u, v, t+u^2+v^2]})
125
+ sage: phi.display()
126
+ N → M
127
+ (u, v) ↦ (x, y, z) = (u, v, u^2 + v^2 + t)
128
+
129
+ The foliation inverse maps are needed for computing the adapted chart on
130
+ the ambient manifold::
131
+
132
+ sage: phi_inv = M.continuous_map(N, {(CM, CN): [x, y]})
133
+ sage: phi_inv.display()
134
+ M → N
135
+ (x, y, z) ↦ (u, v) = (x, y)
136
+ sage: phi_inv_t = M.scalar_field({CM: z-x^2-y^2})
137
+ sage: phi_inv_t.display()
138
+ M → ℝ
139
+ (x, y, z) ↦ -x^2 - y^2 + z
140
+
141
+ `\phi` can then be declared as an embedding `N\to M`::
142
+
143
+ sage: N.set_embedding(phi, inverse=phi_inv, var=t,
144
+ ....: t_inverse={t: phi_inv_t})
145
+
146
+ The foliation can also be used to find new charts on the ambient manifold
147
+ that are adapted to the foliation, ie in which the expression of the
148
+ immersion is trivial. At the same time, the appropriate coordinate changes
149
+ are computed::
150
+
151
+ sage: N.adapted_chart()
152
+ [Chart (M, (u_M, v_M, t_M))]
153
+ sage: M.atlas()
154
+ [Chart (M, (x, y, z)), Chart (M, (u_M, v_M, t_M))]
155
+ sage: len(M.coord_changes())
156
+ 2
157
+
158
+ .. SEEALSO::
159
+
160
+ :mod:`~sage.manifolds.manifold` and
161
+ :mod:`~sage.manifolds.topological_submanifold`
162
+ """
163
+ def __init__(self, n, name, field, structure, ambient=None,
164
+ base_manifold=None, diff_degree=infinity,
165
+ latex_name=None, start_index=0, category=None,
166
+ unique_tag=None):
167
+ r"""
168
+ Construct a submanifold of a differentiable manifold.
169
+
170
+ TESTS::
171
+
172
+ sage: M = Manifold(3, 'M')
173
+ sage: N = Manifold(2, 'N', ambient=M)
174
+ sage: N
175
+ 2-dimensional differentiable submanifold N immersed in the
176
+ 3-dimensional differentiable manifold M
177
+ sage: S = Manifold(2, 'S', latex_name=r'\Sigma', ambient=M,
178
+ ....: start_index=1)
179
+ sage: latex(S)
180
+ \Sigma
181
+ sage: S.start_index()
182
+ 1
183
+ """
184
+ DifferentiableManifold.__init__(self, n, name, field, structure,
185
+ base_manifold=base_manifold,
186
+ diff_degree=diff_degree,
187
+ latex_name=latex_name,
188
+ start_index=start_index,
189
+ category=category)
190
+ if not (ambient is None
191
+ or isinstance(ambient, DifferentiableManifold)):
192
+ raise TypeError("ambient must be a differentiable manifold")
193
+ self._init_immersion(ambient=ambient)
194
+
195
+ def _repr_(self):
196
+ r"""
197
+ Return a string representation of the submanifold.
198
+
199
+ If no ambient manifold is specified, the submanifold is considered as
200
+ a manifold.
201
+
202
+ TESTS::
203
+
204
+ sage: M = Manifold(3, 'M')
205
+ sage: N = Manifold(2, 'N', ambient=M)
206
+ sage: N
207
+ 2-dimensional differentiable submanifold N immersed in the
208
+ 3-dimensional differentiable manifold M
209
+ sage: phi = N.diff_map(M)
210
+ sage: N.set_embedding(phi)
211
+ sage: N
212
+ 2-dimensional differentiable submanifold N embedded in the
213
+ 3-dimensional differentiable manifold M
214
+ """
215
+ if self is not self._manifold:
216
+ return "Open subset {} of the {}".format(self._name, self._manifold)
217
+ if self._ambient is None:
218
+ return super(DifferentiableManifold, self).__repr__()
219
+ if self._embedded:
220
+ return "{}-dimensional {} submanifold {} embedded in the {}".format(
221
+ self._dim, self._structure.name, self._name, self._ambient)
222
+ return "{}-dimensional {} submanifold {} immersed in the {}".format(
223
+ self._dim, self._structure.name, self._name, self._ambient)
224
+
225
+ def open_subset(self, name, latex_name=None, coord_def={}, supersets=None):
226
+ r"""
227
+ Create an open subset of the manifold.
228
+
229
+ An open subset is a set that is (i) included in the manifold and (ii)
230
+ open with respect to the manifold's topology. It is a differentiable
231
+ manifold by itself.
232
+
233
+ As ``self`` is a submanifold of its ambient manifold,
234
+ the new open subset is also considered a submanifold of that.
235
+ Hence the returned object is an instance of
236
+ :class:`DifferentiableSubmanifold`.
237
+
238
+ INPUT:
239
+
240
+ - ``name`` -- name given to the open subset
241
+ - ``latex_name`` -- (default: ``None``) LaTeX symbol to denote the
242
+ subset; if none is provided, it is set to ``name``
243
+ - ``coord_def`` -- (default: {}) definition of the subset in
244
+ terms of coordinates; ``coord_def`` must a be dictionary with keys
245
+ charts in the manifold's atlas and values the symbolic expressions
246
+ formed by the coordinates to define the subset.
247
+ - ``supersets`` -- (default: only ``self``) list of sets that the
248
+ new open subset is a subset of
249
+
250
+ OUTPUT: the open subset, as an instance of :class:`DifferentiableSubmanifold`
251
+
252
+ EXAMPLES::
253
+
254
+ sage: M = Manifold(3, 'M', structure='differentiable')
255
+ sage: N = Manifold(2, 'N', ambient=M, structure='differentiable'); N
256
+ 2-dimensional differentiable submanifold N immersed in the
257
+ 3-dimensional differentiable manifold M
258
+ sage: S = N.subset('S'); S
259
+ Subset S of the
260
+ 2-dimensional differentiable submanifold N immersed in the
261
+ 3-dimensional differentiable manifold M
262
+ sage: O = N.subset('O', is_open=True); O # indirect doctest
263
+ Open subset O of the
264
+ 2-dimensional differentiable submanifold N immersed in the
265
+ 3-dimensional differentiable manifold M
266
+
267
+ sage: phi = N.diff_map(M)
268
+ sage: N.set_embedding(phi)
269
+ sage: N
270
+ 2-dimensional differentiable submanifold N embedded in the
271
+ 3-dimensional differentiable manifold M
272
+ sage: S = N.subset('S'); S
273
+ Subset S of the
274
+ 2-dimensional differentiable submanifold N embedded in the
275
+ 3-dimensional differentiable manifold M
276
+ sage: O = N.subset('O', is_open=True); O # indirect doctest
277
+ Open subset O of the
278
+ 2-dimensional differentiable submanifold N embedded in the
279
+ 3-dimensional differentiable manifold M
280
+ """
281
+ resu = DifferentiableSubmanifold(self._dim, name, self._field,
282
+ self._structure, ambient=self._ambient,
283
+ base_manifold=self._manifold,
284
+ diff_degree=self._diff_degree,
285
+ latex_name=latex_name,
286
+ start_index=self._sindex)
287
+ if supersets is None:
288
+ supersets = [self]
289
+ for superset in supersets:
290
+ superset._init_open_subset(resu, coord_def=coord_def)
291
+ return resu
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-symbolics