passagemath-symbolics 10.8.1a1__cp314-cp314t-musllinux_1_2_aarch64.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.
- passagemath_symbolics/__init__.py +3 -0
- passagemath_symbolics-10.8.1a1.dist-info/METADATA +186 -0
- passagemath_symbolics-10.8.1a1.dist-info/RECORD +181 -0
- passagemath_symbolics-10.8.1a1.dist-info/WHEEL +5 -0
- passagemath_symbolics-10.8.1a1.dist-info/top_level.txt +3 -0
- sage/all__sagemath_symbolics.py +17 -0
- sage/calculus/all.py +14 -0
- sage/calculus/calculus.py +2838 -0
- sage/calculus/desolvers.py +1864 -0
- sage/calculus/predefined.py +51 -0
- sage/calculus/tests.py +225 -0
- sage/calculus/var.cpython-314t-aarch64-linux-musl.so +0 -0
- sage/calculus/var.pyx +401 -0
- sage/dynamics/all__sagemath_symbolics.py +6 -0
- sage/dynamics/complex_dynamics/all.py +5 -0
- sage/dynamics/complex_dynamics/mandel_julia.py +765 -0
- sage/dynamics/complex_dynamics/mandel_julia_helper.cpython-314t-aarch64-linux-musl.so +0 -0
- sage/dynamics/complex_dynamics/mandel_julia_helper.pyx +1034 -0
- sage/ext/all__sagemath_symbolics.py +1 -0
- sage/ext_data/kenzo/CP2.txt +45 -0
- sage/ext_data/kenzo/CP3.txt +349 -0
- sage/ext_data/kenzo/CP4.txt +4774 -0
- sage/ext_data/kenzo/README.txt +49 -0
- sage/ext_data/kenzo/S4.txt +20 -0
- sage/ext_data/magma/latex/latex.m +1021 -0
- sage/ext_data/magma/latex/latex.spec +1 -0
- sage/ext_data/magma/sage/basic.m +356 -0
- sage/ext_data/magma/sage/sage.spec +1 -0
- sage/ext_data/magma/spec +9 -0
- sage/geometry/all__sagemath_symbolics.py +8 -0
- sage/geometry/hyperbolic_space/all.py +5 -0
- sage/geometry/hyperbolic_space/hyperbolic_coercion.py +755 -0
- sage/geometry/hyperbolic_space/hyperbolic_constants.py +5 -0
- sage/geometry/hyperbolic_space/hyperbolic_geodesic.py +2419 -0
- sage/geometry/hyperbolic_space/hyperbolic_interface.py +206 -0
- sage/geometry/hyperbolic_space/hyperbolic_isometry.py +1083 -0
- sage/geometry/hyperbolic_space/hyperbolic_model.py +1502 -0
- sage/geometry/hyperbolic_space/hyperbolic_point.py +621 -0
- sage/geometry/riemannian_manifolds/all.py +7 -0
- sage/geometry/riemannian_manifolds/parametrized_surface3d.py +1632 -0
- sage/geometry/riemannian_manifolds/surface3d_generators.py +461 -0
- sage/interfaces/all__sagemath_symbolics.py +1 -0
- sage/interfaces/magma.py +2991 -0
- sage/interfaces/magma_free.py +90 -0
- sage/interfaces/maple.py +1402 -0
- sage/interfaces/mathematica.py +1345 -0
- sage/interfaces/mathics.py +1312 -0
- sage/interfaces/sympy.py +1398 -0
- sage/interfaces/sympy_wrapper.py +197 -0
- sage/interfaces/tides.py +938 -0
- sage/libs/all__sagemath_symbolics.py +6 -0
- sage/manifolds/all.py +7 -0
- sage/manifolds/calculus_method.py +553 -0
- sage/manifolds/catalog.py +437 -0
- sage/manifolds/chart.py +4010 -0
- sage/manifolds/chart_func.py +3416 -0
- sage/manifolds/continuous_map.py +2183 -0
- sage/manifolds/continuous_map_image.py +155 -0
- sage/manifolds/differentiable/affine_connection.py +2475 -0
- sage/manifolds/differentiable/all.py +1 -0
- sage/manifolds/differentiable/automorphismfield.py +1383 -0
- sage/manifolds/differentiable/automorphismfield_group.py +604 -0
- sage/manifolds/differentiable/bundle_connection.py +1445 -0
- sage/manifolds/differentiable/characteristic_cohomology_class.py +1840 -0
- sage/manifolds/differentiable/chart.py +1241 -0
- sage/manifolds/differentiable/curve.py +1028 -0
- sage/manifolds/differentiable/de_rham_cohomology.py +541 -0
- sage/manifolds/differentiable/degenerate.py +559 -0
- sage/manifolds/differentiable/degenerate_submanifold.py +1668 -0
- sage/manifolds/differentiable/diff_form.py +1660 -0
- sage/manifolds/differentiable/diff_form_module.py +1062 -0
- sage/manifolds/differentiable/diff_map.py +1315 -0
- sage/manifolds/differentiable/differentiable_submanifold.py +291 -0
- sage/manifolds/differentiable/examples/all.py +1 -0
- sage/manifolds/differentiable/examples/euclidean.py +2517 -0
- sage/manifolds/differentiable/examples/real_line.py +897 -0
- sage/manifolds/differentiable/examples/sphere.py +1186 -0
- sage/manifolds/differentiable/examples/symplectic_space.py +187 -0
- sage/manifolds/differentiable/examples/symplectic_space_test.py +40 -0
- sage/manifolds/differentiable/integrated_curve.py +4035 -0
- sage/manifolds/differentiable/levi_civita_connection.py +841 -0
- sage/manifolds/differentiable/manifold.py +4254 -0
- sage/manifolds/differentiable/manifold_homset.py +1826 -0
- sage/manifolds/differentiable/metric.py +3032 -0
- sage/manifolds/differentiable/mixed_form.py +1507 -0
- sage/manifolds/differentiable/mixed_form_algebra.py +559 -0
- sage/manifolds/differentiable/multivector_module.py +800 -0
- sage/manifolds/differentiable/multivectorfield.py +1522 -0
- sage/manifolds/differentiable/poisson_tensor.py +268 -0
- sage/manifolds/differentiable/pseudo_riemannian.py +755 -0
- sage/manifolds/differentiable/pseudo_riemannian_submanifold.py +1839 -0
- sage/manifolds/differentiable/scalarfield.py +1343 -0
- sage/manifolds/differentiable/scalarfield_algebra.py +472 -0
- sage/manifolds/differentiable/symplectic_form.py +912 -0
- sage/manifolds/differentiable/symplectic_form_test.py +220 -0
- sage/manifolds/differentiable/tangent_space.py +412 -0
- sage/manifolds/differentiable/tangent_vector.py +616 -0
- sage/manifolds/differentiable/tensorfield.py +4665 -0
- sage/manifolds/differentiable/tensorfield_module.py +963 -0
- sage/manifolds/differentiable/tensorfield_paral.py +2450 -0
- sage/manifolds/differentiable/tensorfield_paral_test.py +16 -0
- sage/manifolds/differentiable/vector_bundle.py +1725 -0
- sage/manifolds/differentiable/vectorfield.py +1717 -0
- sage/manifolds/differentiable/vectorfield_module.py +2445 -0
- sage/manifolds/differentiable/vectorframe.py +1832 -0
- sage/manifolds/family.py +270 -0
- sage/manifolds/local_frame.py +1490 -0
- sage/manifolds/manifold.py +3090 -0
- sage/manifolds/manifold_homset.py +452 -0
- sage/manifolds/operators.py +359 -0
- sage/manifolds/point.py +994 -0
- sage/manifolds/scalarfield.py +3718 -0
- sage/manifolds/scalarfield_algebra.py +629 -0
- sage/manifolds/section.py +3111 -0
- sage/manifolds/section_module.py +831 -0
- sage/manifolds/structure.py +229 -0
- sage/manifolds/subset.py +2721 -0
- sage/manifolds/subsets/all.py +1 -0
- sage/manifolds/subsets/closure.py +131 -0
- sage/manifolds/subsets/pullback.py +883 -0
- sage/manifolds/topological_submanifold.py +891 -0
- sage/manifolds/trivialization.py +733 -0
- sage/manifolds/utilities.py +1348 -0
- sage/manifolds/vector_bundle.py +1347 -0
- sage/manifolds/vector_bundle_fiber.py +332 -0
- sage/manifolds/vector_bundle_fiber_element.py +111 -0
- sage/matrix/all__sagemath_symbolics.py +1 -0
- sage/matrix/matrix_symbolic_dense.cpython-314t-aarch64-linux-musl.so +0 -0
- sage/matrix/matrix_symbolic_dense.pxd +6 -0
- sage/matrix/matrix_symbolic_dense.pyx +1030 -0
- sage/matrix/matrix_symbolic_sparse.cpython-314t-aarch64-linux-musl.so +0 -0
- sage/matrix/matrix_symbolic_sparse.pxd +6 -0
- sage/matrix/matrix_symbolic_sparse.pyx +1038 -0
- sage/modules/all__sagemath_symbolics.py +1 -0
- sage/modules/vector_callable_symbolic_dense.py +105 -0
- sage/modules/vector_symbolic_dense.py +116 -0
- sage/modules/vector_symbolic_sparse.py +118 -0
- sage/rings/all__sagemath_symbolics.py +4 -0
- sage/rings/asymptotic/all.py +6 -0
- sage/rings/asymptotic/asymptotic_expansion_generators.py +1485 -0
- sage/rings/asymptotic/asymptotic_ring.py +4858 -0
- sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py +4106 -0
- sage/rings/asymptotic/growth_group.py +5373 -0
- sage/rings/asymptotic/growth_group_cartesian.py +1400 -0
- sage/rings/asymptotic/term_monoid.py +5205 -0
- sage/rings/function_field/all__sagemath_symbolics.py +2 -0
- sage/rings/polynomial/all__sagemath_symbolics.py +1 -0
- sage/symbolic/all.py +15 -0
- sage/symbolic/assumptions.py +987 -0
- sage/symbolic/benchmark.py +93 -0
- sage/symbolic/callable.py +456 -0
- sage/symbolic/callable.pyi +66 -0
- sage/symbolic/comparison_impl.pyi +38 -0
- sage/symbolic/complexity_measures.py +35 -0
- sage/symbolic/constants.py +1286 -0
- sage/symbolic/constants_c_impl.pyi +10 -0
- sage/symbolic/expression_conversion_algebraic.py +310 -0
- sage/symbolic/expression_conversion_sympy.py +317 -0
- sage/symbolic/expression_conversions.py +1727 -0
- sage/symbolic/function_factory.py +355 -0
- sage/symbolic/function_factory.pyi +41 -0
- sage/symbolic/getitem_impl.pyi +24 -0
- sage/symbolic/integration/all.py +1 -0
- sage/symbolic/integration/external.py +271 -0
- sage/symbolic/integration/integral.py +1075 -0
- sage/symbolic/maxima_wrapper.py +162 -0
- sage/symbolic/operators.py +267 -0
- sage/symbolic/operators.pyi +61 -0
- sage/symbolic/pynac_constant_impl.pyi +13 -0
- sage/symbolic/pynac_function_impl.pyi +8 -0
- sage/symbolic/random_tests.py +461 -0
- sage/symbolic/relation.py +2062 -0
- sage/symbolic/ring.cpython-314t-aarch64-linux-musl.so +0 -0
- sage/symbolic/ring.pxd +5 -0
- sage/symbolic/ring.pyi +110 -0
- sage/symbolic/ring.pyx +1393 -0
- sage/symbolic/series_impl.pyi +10 -0
- sage/symbolic/subring.py +1025 -0
- sage/symbolic/symengine.py +19 -0
- sage/symbolic/tests.py +40 -0
- sage/symbolic/units.py +1468 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-symbolics
|
|
2
|
+
r"""
|
|
3
|
+
Interface to Hyperbolic Models
|
|
4
|
+
|
|
5
|
+
This module provides a convenient interface for interacting with models
|
|
6
|
+
of hyperbolic space as well as their points, geodesics, and isometries.
|
|
7
|
+
|
|
8
|
+
The primary point of this module is to allow the code that implements
|
|
9
|
+
hyperbolic space to be sufficiently decoupled while still providing a
|
|
10
|
+
convenient user experience.
|
|
11
|
+
|
|
12
|
+
The interfaces are by default given abbreviated names. For example,
|
|
13
|
+
UHP (upper half plane model), PD (Poincaré disk model), KM (Klein disk
|
|
14
|
+
model), and HM (hyperboloid model).
|
|
15
|
+
|
|
16
|
+
.. NOTE::
|
|
17
|
+
|
|
18
|
+
All of the current models of 2 dimensional hyperbolic space
|
|
19
|
+
use the upper half plane model for their computations. This can
|
|
20
|
+
lead to some problems, such as long coordinate strings for symbolic
|
|
21
|
+
points. For example, the vector ``(1, 0, sqrt(2))`` defines a point
|
|
22
|
+
in the hyperboloid model. Performing mapping this point to the upper
|
|
23
|
+
half plane and performing computations there may return with vector
|
|
24
|
+
whose components are unsimplified strings have several ``sqrt(2)``'s.
|
|
25
|
+
Presently, this drawback is outweighted by the rapidity with which new
|
|
26
|
+
models can be implemented.
|
|
27
|
+
|
|
28
|
+
AUTHORS:
|
|
29
|
+
|
|
30
|
+
- Greg Laun (2013): Initial version.
|
|
31
|
+
- Rania Amer, Jean-Philippe Burelle, Bill Goldman, Zach Groton,
|
|
32
|
+
Jeremy Lent, Leila Vaden, Derrick Wigglesworth (2011): many of the
|
|
33
|
+
methods spread across the files.
|
|
34
|
+
|
|
35
|
+
EXAMPLES::
|
|
36
|
+
|
|
37
|
+
sage: HyperbolicPlane().UHP().get_point(2 + I)
|
|
38
|
+
Point in UHP I + 2
|
|
39
|
+
|
|
40
|
+
sage: HyperbolicPlane().PD().get_point(1/2 + I/2)
|
|
41
|
+
Point in PD 1/2*I + 1/2
|
|
42
|
+
"""
|
|
43
|
+
# **********************************************************************
|
|
44
|
+
#
|
|
45
|
+
# Copyright (C) 2013 Greg Laun <glaun@math.umd.edu>
|
|
46
|
+
#
|
|
47
|
+
#
|
|
48
|
+
#
|
|
49
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
|
50
|
+
# as published by the Free Software Foundation; either version 2 of
|
|
51
|
+
# the License, or (at your option) any later version.
|
|
52
|
+
# https://www.gnu.org/licenses/
|
|
53
|
+
# **********************************************************************
|
|
54
|
+
|
|
55
|
+
from sage.structure.unique_representation import UniqueRepresentation
|
|
56
|
+
from sage.structure.parent import Parent
|
|
57
|
+
from sage.categories.sets_cat import Sets
|
|
58
|
+
from sage.categories.realizations import Realizations, Category_realization_of_parent
|
|
59
|
+
from sage.geometry.hyperbolic_space.hyperbolic_model import (
|
|
60
|
+
HyperbolicModelUHP, HyperbolicModelPD,
|
|
61
|
+
HyperbolicModelHM, HyperbolicModelKM)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def HyperbolicSpace(n):
|
|
65
|
+
"""
|
|
66
|
+
Return ``n`` dimensional hyperbolic space.
|
|
67
|
+
|
|
68
|
+
EXAMPLES::
|
|
69
|
+
|
|
70
|
+
sage: from sage.geometry.hyperbolic_space.hyperbolic_interface import HyperbolicSpace
|
|
71
|
+
sage: HyperbolicSpace(2)
|
|
72
|
+
Hyperbolic plane
|
|
73
|
+
"""
|
|
74
|
+
if n == 2:
|
|
75
|
+
return HyperbolicPlane()
|
|
76
|
+
raise NotImplementedError("currently only implemented in dimension 2")
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class HyperbolicPlane(Parent, UniqueRepresentation):
|
|
80
|
+
r"""
|
|
81
|
+
The hyperbolic plane `\mathbb{H}^2`.
|
|
82
|
+
|
|
83
|
+
Here are the models currently implemented:
|
|
84
|
+
|
|
85
|
+
- ``UHP`` -- upper half plane
|
|
86
|
+
- ``PD`` -- Poincaré disk
|
|
87
|
+
- ``KM`` -- Klein disk
|
|
88
|
+
- ``HM`` -- hyperboloid model
|
|
89
|
+
"""
|
|
90
|
+
def __init__(self):
|
|
91
|
+
"""
|
|
92
|
+
Initialize ``self``.
|
|
93
|
+
|
|
94
|
+
EXAMPLES::
|
|
95
|
+
|
|
96
|
+
sage: H = HyperbolicPlane()
|
|
97
|
+
sage: TestSuite(H).run()
|
|
98
|
+
"""
|
|
99
|
+
Parent.__init__(self, category=Sets().Metric().WithRealizations())
|
|
100
|
+
self.a_realization() # We create a realization so at least one is known
|
|
101
|
+
|
|
102
|
+
def _repr_(self):
|
|
103
|
+
"""
|
|
104
|
+
Return a string representation of ``self``.
|
|
105
|
+
|
|
106
|
+
EXAMPLES::
|
|
107
|
+
|
|
108
|
+
sage: HyperbolicPlane()
|
|
109
|
+
Hyperbolic plane
|
|
110
|
+
"""
|
|
111
|
+
return "Hyperbolic plane"
|
|
112
|
+
|
|
113
|
+
def a_realization(self):
|
|
114
|
+
"""
|
|
115
|
+
Return a realization of ``self``.
|
|
116
|
+
|
|
117
|
+
EXAMPLES::
|
|
118
|
+
|
|
119
|
+
sage: H = HyperbolicPlane()
|
|
120
|
+
sage: H.a_realization()
|
|
121
|
+
Hyperbolic plane in the Upper Half Plane Model
|
|
122
|
+
"""
|
|
123
|
+
return self.UHP()
|
|
124
|
+
|
|
125
|
+
UHP = HyperbolicModelUHP
|
|
126
|
+
UpperHalfPlane = UHP
|
|
127
|
+
|
|
128
|
+
PD = HyperbolicModelPD
|
|
129
|
+
PoincareDisk = PD
|
|
130
|
+
|
|
131
|
+
KM = HyperbolicModelKM
|
|
132
|
+
KleinDisk = KM
|
|
133
|
+
|
|
134
|
+
HM = HyperbolicModelHM
|
|
135
|
+
Hyperboloid = HM
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class HyperbolicModels(Category_realization_of_parent):
|
|
139
|
+
r"""
|
|
140
|
+
The category of hyperbolic models of hyperbolic space.
|
|
141
|
+
"""
|
|
142
|
+
def __init__(self, base):
|
|
143
|
+
r"""
|
|
144
|
+
Initialize the hyperbolic models of hyperbolic space.
|
|
145
|
+
|
|
146
|
+
INPUT:
|
|
147
|
+
|
|
148
|
+
- ``base`` -- a hyperbolic space
|
|
149
|
+
|
|
150
|
+
TESTS::
|
|
151
|
+
|
|
152
|
+
sage: from sage.geometry.hyperbolic_space.hyperbolic_interface import HyperbolicModels
|
|
153
|
+
sage: H = HyperbolicPlane()
|
|
154
|
+
sage: models = HyperbolicModels(H)
|
|
155
|
+
sage: H.UHP() in models
|
|
156
|
+
True
|
|
157
|
+
"""
|
|
158
|
+
Category_realization_of_parent.__init__(self, base)
|
|
159
|
+
|
|
160
|
+
def _repr_(self):
|
|
161
|
+
r"""
|
|
162
|
+
Return the representation of ``self``.
|
|
163
|
+
|
|
164
|
+
EXAMPLES::
|
|
165
|
+
|
|
166
|
+
sage: from sage.geometry.hyperbolic_space.hyperbolic_interface import HyperbolicModels
|
|
167
|
+
sage: H = HyperbolicPlane()
|
|
168
|
+
sage: HyperbolicModels(H)
|
|
169
|
+
Category of hyperbolic models of Hyperbolic plane
|
|
170
|
+
"""
|
|
171
|
+
return "Category of hyperbolic models of {}".format(self.base())
|
|
172
|
+
|
|
173
|
+
def super_categories(self):
|
|
174
|
+
r"""
|
|
175
|
+
The super categories of ``self``.
|
|
176
|
+
|
|
177
|
+
EXAMPLES::
|
|
178
|
+
|
|
179
|
+
sage: from sage.geometry.hyperbolic_space.hyperbolic_interface import HyperbolicModels
|
|
180
|
+
sage: H = HyperbolicPlane()
|
|
181
|
+
sage: models = HyperbolicModels(H)
|
|
182
|
+
sage: models.super_categories()
|
|
183
|
+
[Category of metric spaces,
|
|
184
|
+
Category of realizations of Hyperbolic plane]
|
|
185
|
+
"""
|
|
186
|
+
return [Sets().Metric(), Realizations(self.base())]
|
|
187
|
+
|
|
188
|
+
class ParentMethods:
|
|
189
|
+
def _an_element_(self):
|
|
190
|
+
"""
|
|
191
|
+
Return an element of ``self``.
|
|
192
|
+
|
|
193
|
+
EXAMPLES::
|
|
194
|
+
|
|
195
|
+
sage: H = HyperbolicPlane()
|
|
196
|
+
sage: H.UHP().an_element()
|
|
197
|
+
Point in UHP I
|
|
198
|
+
sage: H.PD().an_element()
|
|
199
|
+
Point in PD 0
|
|
200
|
+
sage: H.KM().an_element()
|
|
201
|
+
Point in KM (0, 0)
|
|
202
|
+
sage: H.HM().an_element()
|
|
203
|
+
Point in HM (0, 0, 1)
|
|
204
|
+
"""
|
|
205
|
+
from sage.rings.integer_ring import ZZ
|
|
206
|
+
return self(self.realization_of().PD().get_point(ZZ.zero()))
|