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,187 @@
1
+ # sage_setup: distribution = sagemath-symbolics
2
+ r"""
3
+ Symplectic vector spaces
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
+ from __future__ import annotations
19
+
20
+ from typing import Optional
21
+
22
+ from sage.categories.manifolds import Manifolds
23
+ from sage.manifolds.differentiable.examples.euclidean import EuclideanSpace
24
+ from sage.manifolds.differentiable.symplectic_form import (
25
+ SymplecticForm,
26
+ SymplecticFormParal,
27
+ )
28
+ from sage.rings.real_mpfr import RR
29
+
30
+
31
+ class StandardSymplecticSpace(EuclideanSpace):
32
+ r"""
33
+ The vector space `\RR^{2n}` equipped with its standard symplectic form.
34
+ """
35
+
36
+ _symplectic_form: SymplecticForm
37
+
38
+ def __init__(
39
+ self,
40
+ dimension: int,
41
+ name: Optional[str] = None,
42
+ latex_name: Optional[str] = None,
43
+ coordinates: str = "Cartesian",
44
+ symbols: Optional[str] = None,
45
+ symplectic_name: Optional[str] = "omega",
46
+ symplectic_latex_name: Optional[str] = None,
47
+ start_index: int = 1,
48
+ base_manifold: Optional[StandardSymplecticSpace] = None,
49
+ names: Optional[tuple[str]] = None,
50
+ ):
51
+ r"""
52
+ INPUT:
53
+
54
+ - ``dimension`` -- dimension of the space over the real field (has to be even)
55
+ - ``name`` -- name (symbol) given to the underlying vector space;
56
+ if ``None``, the name will be set to ``'Rn'``, where ``n`` is the ``dimension``
57
+ - ``latex_name`` -- LaTeX symbol to denote the underlying vector space;
58
+ if ``None``, it is set to ``name``
59
+ - ``coordinates`` -- (default: ``'Cartesian'``) the
60
+ type of coordinates to be initialized at the Euclidean space
61
+ creation; allowed values are
62
+
63
+ - ``'Cartesian'`` (canonical coordinates on `\RR^{2n}`)
64
+ - ``'polar'`` for ``dimension=2`` only (see
65
+ :meth:`~sage.manifolds.differentiable.examples.euclidean.EuclideanPlane.polar_coordinates`)
66
+
67
+ - ``symbols`` -- the coordinate text symbols and LaTeX symbols, with the same conventions as the
68
+ argument ``coordinates`` in :class:`~sage.manifolds.differentiable.chart.RealDiffChart`, namely
69
+ ``symbols`` is a string of coordinate fields separated by a blank
70
+ space, where each field contains the coordinate's text symbol and
71
+ possibly the coordinate's LaTeX symbol (when the latter is different
72
+ from the text symbol), both symbols being separated by a colon
73
+ (``:``); if ``None``, the symbols will be automatically generated
74
+ according to the value of ``coordinates``
75
+ - ``symplectic_name`` -- name (symbol) given to the symplectic form
76
+ - ``symplectic_latex_name`` -- LaTeX symbol to denote the symplectic form;
77
+ if none is provided, it is set to ``symplectic_name``
78
+ - ``start_index`` -- lower value of the range of
79
+ indices used for "indexed objects" in the vector space, e.g.
80
+ coordinates of a chart
81
+ - ``base_manifold`` -- if not ``None``, the created object is then an open subset
82
+ of ``base_manifold``
83
+ - ``names`` -- (default: ``None``) unused argument, except if
84
+ ``symbols`` is not provided; it must then be a tuple containing
85
+ the coordinate symbols (this is guaranteed if the shortcut operator
86
+ ``<,>`` is used)
87
+ If ``names`` is specified, then ``dimension`` does not have to be specified.
88
+
89
+ EXAMPLES:
90
+
91
+ Standard symplectic form on `\RR^2`::
92
+
93
+ sage: M.<q, p> = manifolds.StandardSymplecticSpace(2, symplectic_name='omega')
94
+ sage: omega = M.symplectic_form()
95
+ sage: omega.display()
96
+ omega = -dq∧dp
97
+
98
+ An isomomorphism of its tangent space (at any point) with an indefinite inner product space
99
+ with distinguished basis::
100
+
101
+ sage: Q_M_qp = omega[:]; Q_M_qp
102
+ [ 0 -1]
103
+ [ 1 0]
104
+ sage: W_M_qp = VectorSpace(RR, 2, inner_product_matrix=Q_M_qp); W_M_qp
105
+ Ambient quadratic space of dimension 2 over Real Field with 53 bits of precision
106
+ Inner product matrix:
107
+ [0.000000000000000 -1.00000000000000]
108
+ [ 1.00000000000000 0.000000000000000]
109
+ sage: T = M.tangent_space(M.point(), base_ring=RR); T
110
+ Tangent space at Point on the Standard symplectic space R2
111
+ sage: phi_M_qp = T.isomorphism_with_fixed_basis(T.default_basis(), codomain=W_M_qp); phi_M_qp
112
+ Generic morphism:
113
+ From: Tangent space at Point on the Standard symplectic space R2
114
+ To: Ambient quadratic space of dimension 2 over Real Field with 53 bits of precision
115
+ Inner product matrix:
116
+ [0.000000000000000 -1.00000000000000]
117
+ [ 1.00000000000000 0.000000000000000]
118
+ """
119
+ # Check that manifold is even dimensional
120
+ if dimension % 2 == 1:
121
+ raise ValueError(
122
+ f"the dimension of the manifold must be even but it is {dimension}"
123
+ )
124
+ dim_half = dimension // 2
125
+
126
+ if names is not None and symbols is None:
127
+ symbols = " ".join(names)
128
+
129
+ if symbols is None:
130
+ if dim_half == 1:
131
+ symbols = r"q:q p:p"
132
+ else:
133
+ symbols_list = [
134
+ f"q{i}:q^{i} p{i}:p_{i}" for i in range(1, dim_half + 1)
135
+ ]
136
+ symbols = " ".join(symbols_list)
137
+
138
+ if name is None:
139
+ name = f"R{dimension}"
140
+
141
+ category = Manifolds(RR).Smooth()
142
+
143
+ EuclideanSpace.__init__(
144
+ self,
145
+ dimension,
146
+ name,
147
+ latex_name=latex_name,
148
+ coordinates=coordinates,
149
+ symbols=symbols,
150
+ start_index=start_index,
151
+ base_manifold=base_manifold,
152
+ category=category,
153
+ init_coord_methods=None,
154
+ )
155
+
156
+ self._symplectic_form = SymplecticFormParal(
157
+ self, symplectic_name, symplectic_latex_name
158
+ )
159
+ for i in range(0, dim_half):
160
+ q_index = 2 * i + 1
161
+ self._symplectic_form.set_comp()[q_index, q_index + 1] = -1
162
+
163
+ def _repr_(self):
164
+ r"""
165
+ Return a string representation of ``self``.
166
+
167
+ EXAMPLES::
168
+
169
+ sage: V.<q, p> = manifolds.StandardSymplecticSpace(2, symplectic_name='omega'); V
170
+ Standard symplectic space R2
171
+ """
172
+ return f"Standard symplectic space {self._name}"
173
+
174
+ def symplectic_form(self) -> SymplecticForm:
175
+ r"""
176
+ Return the symplectic form.
177
+
178
+ EXAMPLES:
179
+
180
+ Standard symplectic form on `\RR^2`::
181
+
182
+ sage: M.<q, p> = manifolds.StandardSymplecticSpace(2, symplectic_name='omega')
183
+ sage: omega = M.symplectic_form()
184
+ sage: omega.display()
185
+ omega = -dq∧dp
186
+ """
187
+ return self._symplectic_form
@@ -0,0 +1,40 @@
1
+ # sage_setup: distribution = sagemath-symbolics
2
+ import pytest
3
+
4
+ import sage.all
5
+ from sage.manifolds.differentiable.examples.symplectic_space import (
6
+ StandardSymplecticSpace,
7
+ )
8
+ from sage.manifolds.differentiable.symplectic_form import SymplecticForm
9
+
10
+
11
+ class TestR2VectorSpace:
12
+ @pytest.fixture
13
+ def M(self):
14
+ return StandardSymplecticSpace(2, 'R2', symplectic_name='omega')
15
+
16
+ @pytest.fixture
17
+ def omega(self, M: StandardSymplecticSpace):
18
+ return M.symplectic_form()
19
+
20
+ def test_repr(self, M: StandardSymplecticSpace):
21
+ assert str(M) == "Standard symplectic space R2"
22
+
23
+ def test_display(self, omega: SymplecticForm):
24
+ assert str(omega.display()) == r"omega = -dq∧dp"
25
+
26
+
27
+ class TestR4VectorSpace:
28
+ @pytest.fixture
29
+ def M(self):
30
+ return StandardSymplecticSpace(4, 'R4', symplectic_name='omega')
31
+
32
+ @pytest.fixture
33
+ def omega(self, M: StandardSymplecticSpace):
34
+ return M.symplectic_form()
35
+
36
+ def test_repr(self, M: StandardSymplecticSpace):
37
+ assert str(M) == "Standard symplectic space R4"
38
+
39
+ def test_display(self, omega: SymplecticForm):
40
+ assert str(omega.display()) == r"omega = -dq1∧dp1 - dq2∧dp2"