hilbert-modular-group 0.1.3__cp312-cp312-macosx_15_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.
Potentially problematic release.
This version of hilbert-modular-group might be problematic. Click here for more details.
- hilbert_modgroup/__init__.py +1 -0
- hilbert_modgroup/all.py +9 -0
- hilbert_modgroup/hilbert_modular_group_class.py +987 -0
- hilbert_modgroup/hilbert_modular_group_element.cpython-312-darwin.so +0 -0
- hilbert_modgroup/hilbert_modular_group_element.pyx +623 -0
- hilbert_modgroup/pullback.py +2256 -0
- hilbert_modgroup/pullback_cython.cpython-312-darwin.so +0 -0
- hilbert_modgroup/pullback_cython.pyx +411 -0
- hilbert_modgroup/upper_half_plane.cpython-312-darwin.so +0 -0
- hilbert_modgroup/upper_half_plane.pxd +59 -0
- hilbert_modgroup/upper_half_plane.pyx +1828 -0
- hilbert_modgroup/utils.py +66 -0
- hilbert_modgroup/version.py +21 -0
- hilbert_modular_group-0.1.3.dist-info/METADATA +891 -0
- hilbert_modular_group-0.1.3.dist-info/RECORD +18 -0
- hilbert_modular_group-0.1.3.dist-info/WHEEL +5 -0
- hilbert_modular_group-0.1.3.dist-info/licenses/LICENSE +674 -0
- hilbert_modular_group-0.1.3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""
|
|
2
|
+
General utility functions
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
from sage.rings.real_mpfi import RealIntervalField
|
|
6
|
+
from sage.structure.element import Vector
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def upper(x, prec):
|
|
10
|
+
r"""
|
|
11
|
+
Return an upper bound to x given by precision prec.
|
|
12
|
+
|
|
13
|
+
EXAMPLES::
|
|
14
|
+
|
|
15
|
+
sage: from hilbert_modgroup.utils import upper
|
|
16
|
+
sage: upper(0.1,8)
|
|
17
|
+
0.11
|
|
18
|
+
sage: upper(0.1,53)
|
|
19
|
+
0.100000000000001
|
|
20
|
+
sage: upper(RR.pi(),16)
|
|
21
|
+
3.142
|
|
22
|
+
"""
|
|
23
|
+
return RealIntervalField(prec)(x).upper()
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def lower(x, prec):
|
|
27
|
+
r"""
|
|
28
|
+
Return a lower bound to x given by precision prec.
|
|
29
|
+
|
|
30
|
+
EXAMPLES::
|
|
31
|
+
|
|
32
|
+
sage: from hilbert_modgroup.utils import lower
|
|
33
|
+
sage: lower(0.1,8)
|
|
34
|
+
0.099
|
|
35
|
+
sage: lower(0.1,30)
|
|
36
|
+
0.099999999
|
|
37
|
+
sage: lower(RR.pi(),16)
|
|
38
|
+
3.141
|
|
39
|
+
"""
|
|
40
|
+
return RealIntervalField(prec)(x).lower()
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def get_prec(x, **kwds):
|
|
44
|
+
r"""
|
|
45
|
+
Return the precision of x.
|
|
46
|
+
|
|
47
|
+
EXAMPLES::
|
|
48
|
+
|
|
49
|
+
sage: from hilbert_modgroup.utils import get_prec
|
|
50
|
+
sage: get_prec(0.1)
|
|
51
|
+
53
|
|
52
|
+
sage: get_prec(RR.pi())
|
|
53
|
+
53
|
|
54
|
+
sage: get_prec([RealField(103).pi(), RealField(103)(1)])
|
|
55
|
+
103
|
|
56
|
+
"""
|
|
57
|
+
if 'prec' in kwds:
|
|
58
|
+
return kwds['prec']
|
|
59
|
+
try:
|
|
60
|
+
if isinstance(x, (list, tuple, Vector)):
|
|
61
|
+
prec = x[0].prec()
|
|
62
|
+
else:
|
|
63
|
+
prec = x.prec()
|
|
64
|
+
except AttributeError:
|
|
65
|
+
prec = 53
|
|
66
|
+
return prec
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
6
|
+
TYPE_CHECKING = False
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
11
|
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
12
|
+
else:
|
|
13
|
+
VERSION_TUPLE = object
|
|
14
|
+
|
|
15
|
+
version: str
|
|
16
|
+
__version__: str
|
|
17
|
+
__version_tuple__: VERSION_TUPLE
|
|
18
|
+
version_tuple: VERSION_TUPLE
|
|
19
|
+
|
|
20
|
+
__version__ = version = '0.1.3'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 1, 3)
|