passagemath-symbolics 10.6.37__cp314-cp314t-macosx_13_0_arm64.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.
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.37.dist-info/METADATA +187 -0
  4. passagemath_symbolics-10.6.37.dist-info/RECORD +172 -0
  5. passagemath_symbolics-10.6.37.dist-info/WHEEL +6 -0
  6. passagemath_symbolics-10.6.37.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,268 @@
1
+ # sage_setup: distribution = sagemath-symbolics
2
+ r"""
3
+ Poisson tensors
4
+
5
+ AUTHORS:
6
+
7
+ - Tobias Diez (2021): initial version
8
+ """
9
+
10
+ # *****************************************************************************
11
+ # Copyright (C) 2020 Tobias Diez
12
+ #
13
+ # Distributed under the terms of the GNU General Public License (GPL)
14
+ # as published by the Free Software Foundation; either version 2 of
15
+ # the License, or (at your option) any later version.
16
+ # https://www.gnu.org/licenses/
17
+ # *****************************************************************************
18
+
19
+
20
+ from typing import Optional, Union
21
+
22
+ from sage.manifolds.differentiable.diff_form import DiffForm
23
+ from sage.manifolds.differentiable.manifold import DifferentiableManifold
24
+ from sage.manifolds.differentiable.multivectorfield import (
25
+ MultivectorField,
26
+ MultivectorFieldParal,
27
+ )
28
+ from sage.manifolds.differentiable.scalarfield import DiffScalarField
29
+ from sage.manifolds.differentiable.vectorfield import VectorField
30
+ from sage.manifolds.differentiable.vectorfield_module import VectorFieldModule
31
+
32
+
33
+ class PoissonTensorField(MultivectorField):
34
+ r"""
35
+ A Poisson bivector field `\varpi` on a differentiable manifold.
36
+
37
+ That is, at each point `m \in M`, `\varpi_m` is a bilinear map of the type:
38
+
39
+ .. MATH::
40
+
41
+ \varpi_m:\ T^*_m M \times T^*_m M \to \RR
42
+
43
+ where `T^*_m M` stands for the cotangent space to the
44
+ manifold `M` at the point `m`, such that `\varpi_m` is skew-symmetric and the
45
+ Schouten-Nijenhuis bracket (cf.
46
+ :meth:`~sage.manifolds.differentiable.multivectorfield.MultivectorField.bracket`)
47
+ of `\varpi` with itself vanishes.
48
+
49
+ INPUT:
50
+
51
+ - ``manifold`` -- module `\mathfrak{X}(M)` of vector fields on the
52
+ manifold `M`, or the manifold `M` itself
53
+ - ``name`` -- (default: ``varpi``) name given to the Poisson tensor
54
+ - ``latex_name`` -- (default: ``\\varpi``) LaTeX symbol to denote
55
+ the Poisson tensor; if ``None``, it is formed from ``name``
56
+
57
+ EXAMPLES:
58
+
59
+ A Poisson tensor on the 2-sphere::
60
+
61
+ sage: M.<x,y> = manifolds.Sphere(2, coordinates='stereographic')
62
+ sage: stereoN = M.stereographic_coordinates(pole='north')
63
+ sage: stereoS = M.stereographic_coordinates(pole='south')
64
+ sage: varpi = M.poisson_tensor(name='varpi', latex_name=r'\varpi')
65
+ sage: varpi
66
+ 2-vector field varpi on the 2-sphere S^2 of radius 1 smoothly embedded
67
+ in the Euclidean space E^3
68
+
69
+ ``varpi`` is initialized by providing its single nonvanishing component
70
+ w.r.t. the vector frame associated to ``stereoN``, which is the
71
+ default frame on ``M``::
72
+
73
+ sage: varpi[1, 2] = 1
74
+
75
+ The components w.r.t. the vector frame associated to ``stereoS`` are
76
+ obtained thanks to the method
77
+ :meth:`~sage.manifolds.differentiable.tensorfield.TensorField.add_comp_by_continuation`::
78
+
79
+ sage: varpi.add_comp_by_continuation(stereoS.frame(),
80
+ ....: stereoS.domain().intersection(stereoN.domain()))
81
+ sage: varpi.display()
82
+ varpi = ∂/∂x∧∂/∂y
83
+ sage: varpi.display(stereoS)
84
+ varpi = (-xp^4 - 2*xp^2*yp^2 - yp^4) ∂/∂xp∧∂/∂yp
85
+
86
+ The Schouten-Nijenhuis bracket of a Poisson tensor with itself vanishes
87
+ (this is trivial here, since ``M`` is 2-dimensional)::
88
+
89
+ sage: varpi.bracket(varpi).display()
90
+ [varpi,varpi] = 0
91
+ """
92
+
93
+ def __init__(
94
+ self,
95
+ manifold: Union[DifferentiableManifold, VectorFieldModule],
96
+ name: Optional[str] = "varpi",
97
+ latex_name: Optional[str] = "\\varpi",
98
+ ):
99
+ r"""
100
+ Construct a Poisson bivector field.
101
+
102
+ TESTS::
103
+
104
+ sage: from sage.manifolds.differentiable.poisson_tensor import PoissonTensorField
105
+ sage: M = manifolds.Sphere(2, coordinates='stereographic')
106
+ sage: varpi = PoissonTensorField(M, name='varpi', latex_name=r'\varpi')
107
+ sage: varpi
108
+ 2-vector field varpi on the 2-sphere S^2 of radius 1 smoothly
109
+ embedded in the Euclidean space E^3
110
+ """
111
+ try:
112
+ vector_field_module = manifold.vector_field_module()
113
+ except AttributeError:
114
+ vector_field_module = manifold
115
+
116
+ MultivectorField.__init__(
117
+ self, vector_field_module, 2, name=name, latex_name=latex_name
118
+ )
119
+
120
+ def hamiltonian_vector_field(self, function: DiffScalarField) -> VectorField:
121
+ r"""
122
+ Return the Hamiltonian vector field `X_f` generated by the given function `f: M \to \RR`.
123
+
124
+ The Hamiltonian vector field is defined by
125
+
126
+ .. MATH::
127
+
128
+ X_f = - \varpi^\sharp (d f),
129
+
130
+ where `\varpi^\sharp: T^* M \to TM` is given by
131
+ `\beta(\varpi^\sharp(\alpha)) = \varpi(\alpha, \beta)`.
132
+
133
+ INPUT:
134
+
135
+ - ``function`` -- the function generating the Hamiltonian vector field
136
+
137
+ EXAMPLES::
138
+
139
+ sage: M.<q, p> = EuclideanSpace(2)
140
+ sage: poisson = M.poisson_tensor('varpi')
141
+ sage: poisson.set_comp()[1,2] = -1
142
+ sage: f = M.scalar_field(function('f')(q, p), name='f')
143
+ sage: Xf = poisson.hamiltonian_vector_field(f)
144
+ sage: Xf.display()
145
+ Xf = d(f)/dp e_q - d(f)/dq e_p
146
+ """
147
+ vector_field = -self.sharp(function.exterior_derivative())
148
+ if function._name is not None:
149
+ vector_field.set_name(f"X{function._name}", f"X_{{{function._latex_name}}}")
150
+ return vector_field
151
+
152
+ def sharp(self, form: DiffForm) -> VectorField:
153
+ r"""
154
+ Return the image of the given differential form under the map
155
+ `\varpi^\sharp: T^* M \to TM` defined by
156
+
157
+ .. MATH::
158
+
159
+ \beta(\varpi^\sharp(\alpha)) = \varpi(\alpha, \beta).
160
+
161
+ for all `\alpha, \beta \in T^*_m M`.
162
+
163
+ In indices, `\alpha^i = \varpi^{ij} \alpha_j`.
164
+
165
+ INPUT:
166
+
167
+ - ``form`` -- the differential form to calculate its sharp of
168
+
169
+ EXAMPLES::
170
+
171
+ sage: M.<q, p> = EuclideanSpace(2)
172
+ sage: poisson = M.poisson_tensor('varpi')
173
+ sage: poisson.set_comp()[1,2] = -1
174
+ sage: a = M.one_form(1, 0, name='a')
175
+ sage: poisson.sharp(a).display()
176
+ a_sharp = e_p
177
+ """
178
+ if form.degree() != 1:
179
+ raise ValueError(
180
+ f"the degree of the differential form must be one but it is {form.degree()}"
181
+ )
182
+
183
+ vector_field = form.up(self)
184
+ vector_field.set_name(f"{form._name}_sharp", f"{form._latex_name}^\\sharp")
185
+ return vector_field
186
+
187
+ def poisson_bracket(
188
+ self, f: DiffScalarField, g: DiffScalarField
189
+ ) -> DiffScalarField:
190
+ r"""
191
+ Return the Poisson bracket
192
+
193
+ .. MATH::
194
+
195
+ \{f, g\} = \varpi(df, dg)
196
+
197
+ of the given functions.
198
+
199
+ INPUT:
200
+
201
+ - ``f`` -- first function
202
+ - ``g`` -- second function
203
+
204
+ EXAMPLES::
205
+
206
+ sage: M.<q, p> = EuclideanSpace(2)
207
+ sage: poisson = M.poisson_tensor('varpi')
208
+ sage: poisson.set_comp()[1,2] = -1
209
+ sage: f = M.scalar_field(function('f')(q, p), name='f')
210
+ sage: g = M.scalar_field(function('g')(q, p), name='g')
211
+ sage: poisson.poisson_bracket(f, g).display()
212
+ poisson(f, g): E^2 → ℝ
213
+ (q, p) ↦ d(f)/dp*d(g)/dq - d(f)/dq*d(g)/dp
214
+ """
215
+ bracket = self.contract(0, f.exterior_derivative()).contract(
216
+ 0, g.exterior_derivative()
217
+ )
218
+ bracket.set_name(
219
+ f"poisson({f._name}, {g._name})",
220
+ "\\{" + f"{f._latex_name}, {g._latex_name}" + "\\}",
221
+ )
222
+ return bracket
223
+
224
+
225
+ class PoissonTensorFieldParal(PoissonTensorField, MultivectorFieldParal):
226
+ r"""
227
+ A Poisson bivector field `\varpi` on a parallelizable manifold.
228
+
229
+ INPUT:
230
+
231
+ - ``manifold`` -- module `\mathfrak{X}(M)` of vector fields on the
232
+ manifold `M`, or the manifold `M` itself
233
+ - ``name`` -- (default: ``varpi``) name given to the Poisson tensor
234
+ - ``latex_name`` -- (default: ``\\varpi``) LaTeX symbol to denote the
235
+ Poisson tensor; if ``None``, it is formed from ``name``
236
+
237
+ EXAMPLES:
238
+
239
+ Standard Poisson tensor on `\RR^2`::
240
+
241
+ sage: M.<q, p> = EuclideanSpace(2)
242
+ sage: varpi = M.poisson_tensor(name='varpi', latex_name=r'\varpi')
243
+ sage: varpi[1,2] = -1
244
+ sage: varpi
245
+ 2-vector field varpi on the Euclidean plane E^2
246
+ sage: varpi.display()
247
+ varpi = -e_q∧e_p
248
+ """
249
+
250
+ def __init__(
251
+ self,
252
+ manifold: Union[DifferentiableManifold, VectorFieldModule],
253
+ name: Optional[str] = None,
254
+ latex_name: Optional[str] = None,
255
+ ):
256
+ r"""
257
+ Construct a Poisson bivector field.
258
+
259
+ TESTS::
260
+
261
+ sage: from sage.manifolds.differentiable.poisson_tensor import PoissonTensorFieldParal
262
+ sage: M.<q, p> = EuclideanSpace(2)
263
+ sage: poisson = PoissonTensorFieldParal(M, name='varpi', latex_name=r'\varpi')
264
+ sage: poisson
265
+ 2-vector field varpi on the Euclidean plane E^2
266
+ """
267
+ PoissonTensorField.__init__(self, manifold, name, latex_name)
268
+ MultivectorFieldParal.__init__(self, self._vmodule, 2, name, latex_name)