passagemath-giac 10.4.68__cp311-cp311-macosx_13_0_x86_64.whl → 10.8.1a1__cp311-cp311-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.
- passagemath_giac/.dylibs/libcliquer.1.0.21.dylib +0 -0
- passagemath_giac/.dylibs/libcrypto.3.dylib +0 -0
- passagemath_giac/.dylibs/libcurl.4.dylib +0 -0
- {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libgfortran.5.dylib +0 -0
- {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libgiac.0.dylib +0 -0
- passagemath_giac/.dylibs/libglpk.40.dylib +0 -0
- passagemath_giac/.dylibs/libgmp.10.dylib +0 -0
- passagemath_giac/.dylibs/libgmpxx.4.dylib +0 -0
- passagemath_giac/.dylibs/libgsl.28.dylib +0 -0
- passagemath_giac/.dylibs/libgslcblas.0.dylib +0 -0
- passagemath_giac/.dylibs/libintl.8.dylib +0 -0
- passagemath_giac/.dylibs/libmpfi.0.dylib +0 -0
- passagemath_giac/.dylibs/libmpfr.6.dylib +0 -0
- passagemath_giac/.dylibs/libmps.3.dylib +0 -0
- passagemath_giac/.dylibs/libopenblasp-r0.3.31.dylib +0 -0
- {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libpari-gmp-tls.dylib +0 -0
- {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libquadmath.0.dylib +0 -0
- passagemath_giac/.dylibs/libreadline.8.2.dylib +0 -0
- passagemath_giac/.dylibs/libssl.3.dylib +0 -0
- passagemath_giac/.dylibs/libz.1.3.1.dylib +0 -0
- passagemath_giac/__init__.py +3 -0
- {passagemath_giac-10.4.68.dist-info → passagemath_giac-10.8.1a1.dist-info}/METADATA +57 -30
- passagemath_giac-10.8.1a1.dist-info/RECORD +37 -0
- {passagemath_giac-10.4.68.dist-info → passagemath_giac-10.8.1a1.dist-info}/WHEEL +2 -1
- passagemath_giac-10.8.1a1.dist-info/top_level.txt +3 -0
- sage/all__sagemath_giac.py +1 -0
- sage/interfaces/giac.py +14 -6
- sage/libs/giac/__init__.py +3 -3
- sage/libs/giac/giac.cpython-311-darwin.so +0 -0
- sage/libs/giac/giac.pyx +30 -21
- sage_wheels/bin/giac +0 -0
- passagemath_giac-10.4.68.dist-info/RECORD +0 -32
- passagemath_giac-10.4.68.dist-info/top_level.txt +0 -2
- passagemath_giac.dylibs/libcliquer.1.dylib +0 -0
- passagemath_giac.dylibs/libgcc_s.1.1.dylib +0 -0
- passagemath_giac.dylibs/libgf2x.3.dylib +0 -0
- passagemath_giac.dylibs/libglpk.40.dylib +0 -0
- passagemath_giac.dylibs/libgmp.10.dylib +0 -0
- passagemath_giac.dylibs/libgsl.28.dylib +0 -0
- passagemath_giac.dylibs/libmpfi.0.dylib +0 -0
- passagemath_giac.dylibs/libmpfr.6.dylib +0 -0
- passagemath_giac.dylibs/libntl.44.dylib +0 -0
- passagemath_giac.dylibs/libopenblas_sandybridgep-r0.3.28.dylib +0 -0
- passagemath_giac.dylibs/libreadline.8.1.dylib +0 -0
- passagemath_giac.dylibs/libusb-1.0.0.dylib +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: passagemath-giac
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.8.1a1
|
|
4
4
|
Summary: passagemath: Symbolic computation with GIAC
|
|
5
5
|
Author-email: The Sage Developers <sage-support@googlegroups.com>
|
|
6
6
|
Maintainer: Matthias Köppe, passagemath contributors
|
|
7
|
-
License:
|
|
7
|
+
License-Expression: GPL-2.0-or-later
|
|
8
8
|
Project-URL: release notes, https://github.com/passagemath/passagemath/releases
|
|
9
9
|
Project-URL: repo (upstream), https://github.com/sagemath/sage
|
|
10
10
|
Project-URL: repo, https://github.com/passagemath/passagemath
|
|
11
|
-
Project-URL: documentation, https://
|
|
11
|
+
Project-URL: documentation, https://passagemath.org/docs/latest
|
|
12
12
|
Project-URL: homepage (upstream), https://www.sagemath.org
|
|
13
13
|
Project-URL: discourse, https://passagemath.discourse.group
|
|
14
14
|
Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
|
|
@@ -16,19 +16,19 @@ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
|
|
|
16
16
|
Classifier: Development Status :: 6 - Mature
|
|
17
17
|
Classifier: Intended Audience :: Education
|
|
18
18
|
Classifier: Intended Audience :: Science/Research
|
|
19
|
-
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
|
|
20
19
|
Classifier: Operating System :: POSIX
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
21
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
22
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
25
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
26
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
27
27
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
29
|
-
Requires-Python: <3.
|
|
29
|
+
Requires-Python: <3.15,>=3.11
|
|
30
30
|
Description-Content-Type: text/x-rst
|
|
31
|
-
Requires-Dist: passagemath-categories
|
|
31
|
+
Requires-Dist: passagemath-categories==10.8.1.alpha1
|
|
32
32
|
Provides-Extra: test
|
|
33
33
|
Requires-Dist: passagemath-repl; extra == "test"
|
|
34
34
|
Requires-Dist: passagemath-symbolics; extra == "test"
|
|
@@ -37,21 +37,49 @@ Requires-Dist: passagemath-symbolics; extra == "test"
|
|
|
37
37
|
passagemath: Symbolic computation with Giac
|
|
38
38
|
========================================================================
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
40
|
+
`passagemath <https://github.com/passagemath/passagemath>`__ is open
|
|
41
|
+
source mathematical software in Python, released under the GNU General
|
|
42
|
+
Public Licence GPLv2+.
|
|
43
|
+
|
|
44
|
+
It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
|
|
45
|
+
developed 2005-2025 under the motto “Creating a Viable Open Source
|
|
46
|
+
Alternative to Magma, Maple, Mathematica, and MATLAB”.
|
|
47
|
+
|
|
48
|
+
The passagemath fork uses the motto "Creating a Free Passage Between the
|
|
49
|
+
Scientific Python Ecosystem and Mathematical Software Communities."
|
|
50
|
+
It was created in October 2024 with the following goals:
|
|
51
|
+
|
|
52
|
+
- providing modularized installation with pip,
|
|
53
|
+
- establishing first-class membership in the scientific Python
|
|
54
|
+
ecosystem,
|
|
55
|
+
- giving `clear attribution of upstream
|
|
56
|
+
projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
|
|
57
|
+
- providing independently usable Python interfaces to upstream
|
|
58
|
+
libraries,
|
|
59
|
+
- offering `platform portability and integration testing
|
|
60
|
+
services <https://github.com/passagemath/passagemath/issues/704>`__
|
|
61
|
+
to upstream projects,
|
|
62
|
+
- inviting collaborations with upstream projects,
|
|
63
|
+
- `building a professional, respectful, inclusive
|
|
64
|
+
community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
|
|
65
|
+
- `empowering Sage users to participate in the scientific Python ecosystem
|
|
66
|
+
<https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
|
|
67
|
+
- developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
|
|
68
|
+
serverless deployment with Javascript,
|
|
69
|
+
- developing a native Windows port.
|
|
70
|
+
|
|
71
|
+
`Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
|
|
72
|
+
available online.
|
|
73
|
+
|
|
74
|
+
passagemath attempts to support and provides binary wheels suitable for
|
|
75
|
+
all major Linux distributions and recent versions of macOS.
|
|
76
|
+
|
|
77
|
+
Binary wheels for native Windows (x86_64) are are available for a subset of
|
|
78
|
+
the passagemath distributions. Use of the full functionality of passagemath
|
|
79
|
+
on Windows currently requires the use of Windows Subsystem for Linux (WSL)
|
|
80
|
+
or virtualization.
|
|
81
|
+
|
|
82
|
+
The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
|
|
55
83
|
|
|
56
84
|
|
|
57
85
|
About this pip-installable distribution package
|
|
@@ -70,14 +98,13 @@ from Python and provides integration with the Sage Mathematical Software System.
|
|
|
70
98
|
What is included
|
|
71
99
|
----------------
|
|
72
100
|
|
|
73
|
-
- `Cython interface to GIAC <https://
|
|
101
|
+
- `Cython interface to GIAC <https://passagemath.org/docs/latest/html/en/reference/libs/sage/libs/giac.html>`_
|
|
74
102
|
|
|
75
103
|
The Cython interface is by Frederic Han and was previously available under the name
|
|
76
104
|
`giacpy-sage <https://gitlab.math.univ-paris-diderot.fr/han/giacpy-sage/>`_.
|
|
77
|
-
It was
|
|
78
|
-
in 2020.
|
|
105
|
+
It was merged into the Sage library in 2020.
|
|
79
106
|
|
|
80
|
-
- `Pexpect interface to GIAC <https://
|
|
107
|
+
- `Pexpect interface to GIAC <https://passagemath.org/docs/latest/html/en/reference/interfaces/sage/interfaces/giac.html>`_
|
|
81
108
|
|
|
82
109
|
- see https://github.com/passagemath/passagemath/blob/main/pkgs/sagemath-giac/MANIFEST.in
|
|
83
110
|
|
|
@@ -91,7 +118,7 @@ A quick way to try it out interactively::
|
|
|
91
118
|
|
|
92
119
|
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-giac[test]" ipython
|
|
93
120
|
|
|
94
|
-
In [1]: from
|
|
121
|
+
In [1]: from passagemath_giac import *
|
|
95
122
|
|
|
96
123
|
In [2]: x = libgiac('x')
|
|
97
124
|
|
|
@@ -119,7 +146,7 @@ The last example again, using the Sage REPL::
|
|
|
119
146
|
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-giac[test]" sage
|
|
120
147
|
Warning: sage.all is not available; this is a limited REPL.
|
|
121
148
|
|
|
122
|
-
sage: from
|
|
149
|
+
sage: from passagemath_giac import *
|
|
123
150
|
|
|
124
151
|
sage: x = libgiac('x')
|
|
125
152
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
passagemath_giac/__init__.py,sha256=pFVkUnppi_J9Ayld8YZ6Yo-byTMTrjxyXlh2_2-A4aM,82
|
|
2
|
+
passagemath_giac/.dylibs/libgmpxx.4.dylib,sha256=t_6ktkeaMbS3anLQckl-L18K0Km5LtZWriY8Ygn2K5Y,33792
|
|
3
|
+
passagemath_giac/.dylibs/libreadline.8.2.dylib,sha256=ObHYnYcxiocSoEOMUnbfabYfgQ_-hIf0QRsGjU3Wj5A,279592
|
|
4
|
+
passagemath_giac/.dylibs/libopenblasp-r0.3.31.dylib,sha256=KQTc6MWgTtiBeV6Fm_0o6EunvRzDcDim6syhkxY54xg,66125944
|
|
5
|
+
passagemath_giac/.dylibs/libgsl.28.dylib,sha256=4gqm5YfJQnmLiw5o1LsJ8P13KQtCBnz-ZOC9qcIfS_c,3077776
|
|
6
|
+
passagemath_giac/.dylibs/libmpfi.0.dylib,sha256=UqlVVSxK7g_7OEpli_MBXBfgWnhH3SgJIVqi9HHCWGg,111648
|
|
7
|
+
passagemath_giac/.dylibs/libglpk.40.dylib,sha256=D_1ctd3Ql6gAtr0GgbRN-Uy0iAI5GrQi0-pNQfgftb8,1116856
|
|
8
|
+
passagemath_giac/.dylibs/libgiac.0.dylib,sha256=VYhqCQnjyYy3Gq6DA6Az-UAnAHV7b5qFDMkji9gdvGw,27249336
|
|
9
|
+
passagemath_giac/.dylibs/libssl.3.dylib,sha256=jz0LemRdKJakTymQ1JS1iXEVuFgiE4ejyW_SJXB85-s,849104
|
|
10
|
+
passagemath_giac/.dylibs/libcrypto.3.dylib,sha256=kS9P2H5pkhTv0QPKgeduqvqDcHnkhIz6aisP55Ygh24,4498432
|
|
11
|
+
passagemath_giac/.dylibs/libgfortran.5.dylib,sha256=Jd57nZn2W2DNlGP072xBf2Ff167JUl68H-C74H7SkaM,3667464
|
|
12
|
+
passagemath_giac/.dylibs/libz.1.3.1.dylib,sha256=r6RZQxcJmwtEMmPrlmLaMuT7wMstNkRd9LWI5I8-LyE,109840
|
|
13
|
+
passagemath_giac/.dylibs/libintl.8.dylib,sha256=eTd1b778Dpcasrg8uIC51jtpB0-f9uz49ZVfZcqe8E4,216064
|
|
14
|
+
passagemath_giac/.dylibs/libmps.3.dylib,sha256=zEkaGBG8Wr_y-1WAfBfM1uFbshRriZRYvhiH0eOcYQw,500928
|
|
15
|
+
passagemath_giac/.dylibs/libcurl.4.dylib,sha256=LhWc42trhC8C_rRp5IO6J6EN6_qW0Hfzv7798LsUsu0,679120
|
|
16
|
+
passagemath_giac/.dylibs/libpari-gmp-tls.dylib,sha256=02HBLcGBpNfISAlANhDq6uiNIAyXFZzvNcsgcL1Vs-w,10108944
|
|
17
|
+
passagemath_giac/.dylibs/libcliquer.1.0.21.dylib,sha256=Kn7lrJLvY1orHtnaLIyLxCR8Dsol5y3-9YpnLIp1tsw,65776
|
|
18
|
+
passagemath_giac/.dylibs/libquadmath.0.dylib,sha256=zDSfKiY4TTlQ-PQJEhBfeoQgrS6AyZrqbJfBLb--xY4,351104
|
|
19
|
+
passagemath_giac/.dylibs/libgslcblas.0.dylib,sha256=xDzGP4hwAJLot8H4XjuoS7W0pA0TzDSufVLATaX-ANY,314032
|
|
20
|
+
passagemath_giac/.dylibs/libgmp.10.dylib,sha256=Z7WRQgo4-1Mh9kcA35TiGLtQE43e9fiU07xvBoqORDA,488712
|
|
21
|
+
passagemath_giac/.dylibs/libmpfr.6.dylib,sha256=xxsCp9KOAJzStZGse26bIU_7A-EsV13hD65h1wDxxhU,465224
|
|
22
|
+
passagemath_giac-10.8.1a1.dist-info/RECORD,,
|
|
23
|
+
passagemath_giac-10.8.1a1.dist-info/WHEEL,sha256=mQHItegF5691ic49RsplOc-Qnsd2vNjn3I2muVJZ10s,155
|
|
24
|
+
passagemath_giac-10.8.1a1.dist-info/top_level.txt,sha256=0gpnAoR2Wg5B1ZM0E3Vv-WDl4L5I5nCQ1rjF-YqYNr0,23
|
|
25
|
+
passagemath_giac-10.8.1a1.dist-info/METADATA,sha256=pQuMGC3qo-0MDCWUnhVM5K4IbXYCEb296foqc8eplpo,6779
|
|
26
|
+
sage_wheels/bin/giac,sha256=v7a9ahdLAaa-58mmUpEBKbRq5kvGoeeiJDtJY751ovc,268712
|
|
27
|
+
sage/all__sagemath_giac.py,sha256=_84rzeYsEqRQvyrfa7KhH_4YeeYISi-1Bl-nCVWGE6w,234
|
|
28
|
+
sage/libs/all__sagemath_giac.py,sha256=Ki9seZYz9nDXkjkzVTLXVAIqJdBc09sUzpK9Va8vWkM,154
|
|
29
|
+
sage/libs/giac/giac.pxd,sha256=u5TF3tAucvOa5ypyZyAeB8lLe_dRT1YAxCKEmOxdkng,8238
|
|
30
|
+
sage/libs/giac/misc.h,sha256=gDMJlwTFblzrfnWaoPGgxC1oQas03BP22ecBa5d-JJA,2548
|
|
31
|
+
sage/libs/giac/keywords.pxi,sha256=y_L_dsEE3lIopMt8fsbOhGN8b3iueAwT5Y7BSSUs3O0,25732
|
|
32
|
+
sage/libs/giac/__init__.py,sha256=pQcVLi-O_WRtie1aN8ge1U-lYTPRC502AJ2l585xM3k,12908
|
|
33
|
+
sage/libs/giac/giac.cpython-311-darwin.so,sha256=cPassgECpsEOl0bAm0z6LsVnYt2FgKyLCUgfrcRHDew,5025088
|
|
34
|
+
sage/libs/giac/auto-methods.pxi,sha256=Oh58oDqlbKWeFXY6ArLMROm5iTayfaZZuVAbdWj1ZhI,676345
|
|
35
|
+
sage/libs/giac/giac.pyx,sha256=jLYQb5YaCJs2E0RIWgrqXc63-wLcn5H61t3CqP9dMbI,68904
|
|
36
|
+
sage/interfaces/all__sagemath_giac.py,sha256=kb8e_2ZD2q6tVPakBcnb9ocdKdeowDDYmWkBdNfsp2w,43
|
|
37
|
+
sage/interfaces/giac.py,sha256=m_Wd_dQ1BaN--wbQS-cMDwN_Dd7CUiaqzTUN5jadbQM,38334
|
sage/all__sagemath_giac.py
CHANGED
sage/interfaces/giac.py
CHANGED
|
@@ -240,17 +240,21 @@ Test that conversion of symbolic functions with latex names works (:issue:`31047
|
|
|
240
240
|
|
|
241
241
|
import os
|
|
242
242
|
|
|
243
|
-
from sage.interfaces.expect import Expect, ExpectElement, ExpectFunction, FunctionElement, gc_disabled
|
|
244
|
-
|
|
245
243
|
import pexpect
|
|
246
244
|
|
|
247
245
|
from sage.cpython.string import bytes_to_str
|
|
248
246
|
from sage.env import DOT_SAGE
|
|
249
|
-
from sage.
|
|
247
|
+
from sage.interfaces.expect import (
|
|
248
|
+
Expect,
|
|
249
|
+
ExpectElement,
|
|
250
|
+
ExpectFunction,
|
|
251
|
+
FunctionElement,
|
|
252
|
+
gc_disabled,
|
|
253
|
+
)
|
|
250
254
|
from sage.misc.instancedoc import instancedoc
|
|
255
|
+
from sage.misc.pager import pager
|
|
251
256
|
from sage.structure.richcmp import rich_to_bool
|
|
252
257
|
|
|
253
|
-
|
|
254
258
|
COMMANDS_CACHE = '%s/giac_commandlist_cache.sobj' % DOT_SAGE
|
|
255
259
|
|
|
256
260
|
|
|
@@ -330,6 +334,7 @@ class Giac(Expect):
|
|
|
330
334
|
|
|
331
335
|
EXAMPLES::
|
|
332
336
|
|
|
337
|
+
sage: from sage.interfaces.giac import giac
|
|
333
338
|
sage: giac == loads(dumps(giac))
|
|
334
339
|
True
|
|
335
340
|
"""
|
|
@@ -363,7 +368,7 @@ class Giac(Expect):
|
|
|
363
368
|
|
|
364
369
|
def _keyboard_interrupt(self):
|
|
365
370
|
"""
|
|
366
|
-
The
|
|
371
|
+
The pexpect interface for giac has a very poor support of keyboard interruptions.
|
|
367
372
|
"""
|
|
368
373
|
print("Interrupting %s..." % self)
|
|
369
374
|
self._expect.sendline(chr(3)) # send ctrl-c
|
|
@@ -1120,8 +1125,11 @@ class GiacElement(ExpectElement):
|
|
|
1120
1125
|
sage: giac(e * i * pi).sage().variables() # needs sage.symbolic
|
|
1121
1126
|
()
|
|
1122
1127
|
"""
|
|
1128
|
+
from sage.calculus.calculus import (
|
|
1129
|
+
SR_parser_giac,
|
|
1130
|
+
symbolic_expression_from_string,
|
|
1131
|
+
)
|
|
1123
1132
|
from sage.symbolic.expression import symbol_table
|
|
1124
|
-
from sage.calculus.calculus import symbolic_expression_from_string, SR_parser_giac
|
|
1125
1133
|
|
|
1126
1134
|
if locals is None:
|
|
1127
1135
|
locals = {}
|
sage/libs/giac/__init__.py
CHANGED
|
@@ -295,7 +295,7 @@ def groebner_basis(gens, proba_epsilon=None, threads=None, prot=False,
|
|
|
295
295
|
return PolynomialSequence([P(0)], P, immutable=True)
|
|
296
296
|
|
|
297
297
|
# check for name confusions
|
|
298
|
-
blackgiacconstants = ['i', 'e']
|
|
298
|
+
blackgiacconstants = ['i', 'e'] # NB e^k is expanded to exp(k)
|
|
299
299
|
blacklist = blackgiacconstants + [str(j) for j in libgiac.VARS()]
|
|
300
300
|
problematicnames = sorted(set(P.gens_dict()).intersection(blacklist))
|
|
301
301
|
|
|
@@ -344,8 +344,8 @@ def groebner_basis(gens, proba_epsilon=None, threads=None, prot=False,
|
|
|
344
344
|
var_names = var_names[:len(blocks[0])]
|
|
345
345
|
else:
|
|
346
346
|
raise NotImplementedError(
|
|
347
|
-
|
|
348
|
-
|
|
347
|
+
"%s is not a supported term order in "
|
|
348
|
+
"Giac Groebner bases." % P.term_order())
|
|
349
349
|
|
|
350
350
|
# compute de groebner basis with giac
|
|
351
351
|
gb_giac = F.gbasis(list(var_names), giac_order)
|
|
Binary file
|
sage/libs/giac/giac.pyx
CHANGED
|
@@ -83,6 +83,7 @@ not...::
|
|
|
83
83
|
|
|
84
84
|
::
|
|
85
85
|
|
|
86
|
+
sage: # needs sage.symbolic
|
|
86
87
|
sage: x = libgiac('x')
|
|
87
88
|
sage: f = 1/(2+sin(5*x))
|
|
88
89
|
sage: oldrep = 2/5/sqrt(3)*(atan((2*tan(5*x/2)+1)/sqrt(3))+pi*floor(5*x/2/pi+1/2))
|
|
@@ -104,6 +105,13 @@ TESTS::
|
|
|
104
105
|
sage: libgiac(-11^1000)
|
|
105
106
|
-2469932918005826334124088385085221477709733385238396234869182951830739390375433175367866116456946191973803561189036523363533798726571008961243792655536655282201820357872673322901148243453211756020067624545609411212063417307681204817377763465511222635167942816318177424600927358163388910854695041070577642045540560963004207926938348086979035423732739933235077042750354729095729602516751896320598857608367865475244863114521391548985943858154775884418927768284663678512441565517194156946312753546771163991252528017732162399536497445066348868438762510366191040118080751580689254476068034620047646422315123643119627205531371694188794408120267120500325775293645416335230014278578281272863450085145349124727476223298887655183167465713337723258182649072572861625150703747030550736347589416285606367521524529665763903537989935510874657420361426804068643262800901916285076966174176854351055183740078763891951775452021781225066361670593917001215032839838911476044840388663443684517735022039957481918726697789827894303408292584258328090724141496484460001
|
|
106
107
|
|
|
108
|
+
Ensure that signed infinities get converted correctly::
|
|
109
|
+
|
|
110
|
+
sage: libgiac(+Infinity)
|
|
111
|
+
+infinity
|
|
112
|
+
sage: libgiac(-Infinity)
|
|
113
|
+
-infinity
|
|
114
|
+
|
|
107
115
|
.. SEEALSO::
|
|
108
116
|
|
|
109
117
|
``libgiac``, ``giacsettings``, ``Pygen``,``loadgiacgen``
|
|
@@ -154,22 +162,16 @@ import math
|
|
|
154
162
|
|
|
155
163
|
# sage includes
|
|
156
164
|
from sage.ext.stdsage cimport PY_NEW
|
|
157
|
-
|
|
165
|
+
from sage.interfaces.giac import giac
|
|
158
166
|
from sage.libs.gmp.mpz cimport mpz_set
|
|
159
|
-
|
|
167
|
+
from sage.rings.abc import SymbolicRing
|
|
160
168
|
from sage.rings.integer_ring import ZZ
|
|
161
169
|
from sage.rings.rational_field import QQ
|
|
162
170
|
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
|
|
163
171
|
from sage.rings.integer cimport Integer
|
|
172
|
+
from sage.rings.infinity import AnInfinity
|
|
164
173
|
from sage.rings.rational cimport Rational
|
|
165
|
-
from sage.structure.element cimport Matrix
|
|
166
|
-
|
|
167
|
-
from sage.symbolic.expression import symbol_table
|
|
168
|
-
from sage.calculus.calculus import symbolic_expression_from_string, SR_parser_giac
|
|
169
|
-
from sage.symbolic.ring import SR
|
|
170
|
-
from sage.symbolic.expression import Expression
|
|
171
|
-
from sage.symbolic.expression_conversions import InterfaceInit
|
|
172
|
-
from sage.interfaces.giac import giac
|
|
174
|
+
from sage.structure.element cimport Matrix, Expression
|
|
173
175
|
|
|
174
176
|
|
|
175
177
|
# Python3 compatibility ############################
|
|
@@ -194,7 +196,12 @@ Pygen('I:=sqrt(-1)').eval() # WTF?
|
|
|
194
196
|
# for giac/libgiac.
|
|
195
197
|
# NB: We want to do this without starting an external giac program and
|
|
196
198
|
# self._giac_() does.
|
|
197
|
-
|
|
199
|
+
try:
|
|
200
|
+
from sage.symbolic.expression_conversions import InterfaceInit
|
|
201
|
+
except ImportError:
|
|
202
|
+
pass
|
|
203
|
+
else:
|
|
204
|
+
SRexpressiontoGiac = InterfaceInit(giac)
|
|
198
205
|
|
|
199
206
|
|
|
200
207
|
#######################################################
|
|
@@ -222,6 +229,7 @@ def _giac(s):
|
|
|
222
229
|
Warning: The complex number sqrt(-1) is exported in python as I. (But it
|
|
223
230
|
may appears as i)::
|
|
224
231
|
|
|
232
|
+
sage: # needs sage.symbolic
|
|
225
233
|
sage: libgiac((1+I*sqrt(3))^3).normal()
|
|
226
234
|
-8
|
|
227
235
|
sage: libgiac(1+I)
|
|
@@ -376,13 +384,8 @@ def _giac(s):
|
|
|
376
384
|
sage: (1+2*sin(3*x)).solve(x).simplify()
|
|
377
385
|
...list[-pi/18,7*pi/18]
|
|
378
386
|
|
|
379
|
-
sage: libgiac.solve('
|
|
380
|
-
|
|
381
|
-
...
|
|
382
|
-
RuntimeError: Unable to find numeric values solving equation. For
|
|
383
|
-
trigonometric equations this may be solved using assumptions, e.g.
|
|
384
|
-
assume(x>-pi && x<pi) Error: Bad Argument Value
|
|
385
|
-
|
|
387
|
+
sage: libgiac.solve('x^3-x>x',x)
|
|
388
|
+
list[((x>(-sqrt(2))) and (x<0)),x>(sqrt(2))]
|
|
386
389
|
|
|
387
390
|
You can also add some hypothesis to a giac symbol::
|
|
388
391
|
|
|
@@ -862,6 +865,8 @@ cdef class Pygen(GiacMethods_base):
|
|
|
862
865
|
s = s._giac_init_()
|
|
863
866
|
except AttributeError:
|
|
864
867
|
s = SRexpressiontoGiac(s)
|
|
868
|
+
elif isinstance(s, AnInfinity):
|
|
869
|
+
s = s._giac_init_()
|
|
865
870
|
if not isinstance(s, str):
|
|
866
871
|
s = s.__str__()
|
|
867
872
|
sig_on()
|
|
@@ -1030,10 +1035,10 @@ cdef class Pygen(GiacMethods_base):
|
|
|
1030
1035
|
cdef gen v
|
|
1031
1036
|
sig_on()
|
|
1032
1037
|
cdef gen g = gen(<string>encstring23('GIACPY_TMP_NAME050268070969290100291003'),context_ptr)
|
|
1033
|
-
GIAC_sto((<Pygen>self).gptr[0],g,
|
|
1038
|
+
GIAC_sto((<Pygen>self).gptr[0],g,True,context_ptr)
|
|
1034
1039
|
g = gen(<string>encstring23('GIACPY_TMP_NAME050268070969290100291003[%s]' % str(key)), context_ptr)
|
|
1035
1040
|
v=(<Pygen>(Pygen(value).eval())).gptr[0]
|
|
1036
|
-
GIAC_sto(v, g,
|
|
1041
|
+
GIAC_sto(v, g, True, context_ptr)
|
|
1037
1042
|
Pygen('purge(GIACPY_TMP_NAME050268070969290100291003):;').eval()
|
|
1038
1043
|
sig_off()
|
|
1039
1044
|
return
|
|
@@ -1495,6 +1500,7 @@ cdef class Pygen(GiacMethods_base):
|
|
|
1495
1500
|
return result
|
|
1496
1501
|
|
|
1497
1502
|
else:
|
|
1503
|
+
from sage.symbolic.ring import SR
|
|
1498
1504
|
return SR(self)
|
|
1499
1505
|
|
|
1500
1506
|
else:
|
|
@@ -1530,7 +1536,10 @@ cdef class Pygen(GiacMethods_base):
|
|
|
1530
1536
|
sage: libgiac.integrate(cos(y), y).sage()
|
|
1531
1537
|
sin(π)
|
|
1532
1538
|
"""
|
|
1533
|
-
if isinstance(R,
|
|
1539
|
+
if isinstance(R, SymbolicRing):
|
|
1540
|
+
from sage.calculus.calculus import symbolic_expression_from_string, SR_parser_giac
|
|
1541
|
+
from sage.symbolic.expression import symbol_table
|
|
1542
|
+
|
|
1534
1543
|
# Try to convert some functions names to the symbolic ring
|
|
1535
1544
|
lsymbols = symbol_table['giac'].copy()
|
|
1536
1545
|
#lsymbols.update(locals)
|
sage_wheels/bin/giac
CHANGED
|
Binary file
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
passagemath_giac-10.4.68.dist-info/RECORD,,
|
|
2
|
-
passagemath_giac-10.4.68.dist-info/WHEEL,sha256=te1-8Xhnu3DodWmHvZ3Kz27BbK0S8AxwLhMPcjS_OmU,110
|
|
3
|
-
passagemath_giac-10.4.68.dist-info/top_level.txt,sha256=Kmzulf9WsphADFQuqgvdy5mvTLDj_V2zkFHU2s3UXos,6
|
|
4
|
-
passagemath_giac-10.4.68.dist-info/METADATA,sha256=nMtrq7VQ9nLYipXw4XY2r8-jyVBZmkjbQkFmG_iOP14,5194
|
|
5
|
-
passagemath_giac.dylibs/libcliquer.1.dylib,sha256=G1hx3A1kARzW-dcRBYogipE7bTQHAdxHS_zTpnYmwVs,122496
|
|
6
|
-
passagemath_giac.dylibs/libgsl.28.dylib,sha256=kHXrkzxJB0HjNaQ_rCaaYWefX7QbOZ5vyUNQdnEqcdo,4013984
|
|
7
|
-
passagemath_giac.dylibs/libreadline.8.1.dylib,sha256=JuVrYb2f73z_uIx15w3gIphm1M1W9szawEG2rmNW-w0,398640
|
|
8
|
-
passagemath_giac.dylibs/libmpfi.0.dylib,sha256=BYx20cWKyO9taaanWyxQ1zKw72LRVrFupUdesnosvbI,167968
|
|
9
|
-
passagemath_giac.dylibs/libglpk.40.dylib,sha256=v4nc5X4z4PLhGinMbmHZPN7EoXdGpEIhybA8e72MO0E,1189344
|
|
10
|
-
passagemath_giac.dylibs/libgiac.0.dylib,sha256=4DLfnxwxe53pUhlnfPeLAkMcan0s4onFlW9df9En3do,26075232
|
|
11
|
-
passagemath_giac.dylibs/libgf2x.3.dylib,sha256=r06f-5CnfrHsKVRlLGHuQUnmhMqzfuXIAog6mNHaAUQ,216272
|
|
12
|
-
passagemath_giac.dylibs/libntl.44.dylib,sha256=J3V_sT6btKH5XNy1es7W9rSgJAKEWSrpWdVZlkfmoBg,3478432
|
|
13
|
-
passagemath_giac.dylibs/libopenblas_sandybridgep-r0.3.28.dylib,sha256=VlqD5YT3toLbjsITjg5HJ9B-_NL71j8kOFDYTkmJJfs,17476880
|
|
14
|
-
passagemath_giac.dylibs/libusb-1.0.0.dylib,sha256=PEyTBWLSmL_snvlCx1UOCYqnU35szUeNgj73ktLCBKQ,178576
|
|
15
|
-
passagemath_giac.dylibs/libgfortran.5.dylib,sha256=ELwy_YDxrPB25hJPxuWxpiXUc0drXWM5JPEwpyBUp2Y,3675456
|
|
16
|
-
passagemath_giac.dylibs/libpari-gmp-tls.dylib,sha256=cNiQjyBwWFPiM9KhUmN6FNo7cUg6jscTCuSh20MqBvY,11687792
|
|
17
|
-
passagemath_giac.dylibs/libquadmath.0.dylib,sha256=jM6iJSw498ZnG7UyDTi3NUVcKZ2vxmsI1ZzpwiKTsjk,379152
|
|
18
|
-
passagemath_giac.dylibs/libgcc_s.1.1.dylib,sha256=3hzL52eA1i-ercULcWhTNIbVADS-NO_4DyTKA5Amzgw,282640
|
|
19
|
-
passagemath_giac.dylibs/libgmp.10.dylib,sha256=CyK2QIlPcl0fBX8ddJFHdwwrttJ5zFIfcBF9nrX50as,724176
|
|
20
|
-
passagemath_giac.dylibs/libmpfr.6.dylib,sha256=0CTZihK1VbdzryoWyjaUxYZtQ8NJyrfLX4luK8gpLvw,598704
|
|
21
|
-
sage_wheels/bin/giac,sha256=EDL0FMPUj5T8DlABWTZhRXWnnpH8Xn2WPB__sMUVThg,204688
|
|
22
|
-
sage/all__sagemath_giac.py,sha256=BXuEI2KgK8sqcL2WLl-U8g3GhMYOoJ6ppSNb03pvuBk,214
|
|
23
|
-
sage/libs/all__sagemath_giac.py,sha256=Ki9seZYz9nDXkjkzVTLXVAIqJdBc09sUzpK9Va8vWkM,154
|
|
24
|
-
sage/libs/giac/giac.pxd,sha256=u5TF3tAucvOa5ypyZyAeB8lLe_dRT1YAxCKEmOxdkng,8238
|
|
25
|
-
sage/libs/giac/misc.h,sha256=gDMJlwTFblzrfnWaoPGgxC1oQas03BP22ecBa5d-JJA,2548
|
|
26
|
-
sage/libs/giac/keywords.pxi,sha256=y_L_dsEE3lIopMt8fsbOhGN8b3iueAwT5Y7BSSUs3O0,25732
|
|
27
|
-
sage/libs/giac/__init__.py,sha256=nfWihbX6t0CcqzOm0ZrkzkrGUDLZF8TKvvUHl6EddvM,12915
|
|
28
|
-
sage/libs/giac/giac.cpython-311-darwin.so,sha256=aKtmoPpe92SycUt39VkfwrS2rgBHMyd9EY_252Yhp0E,4269088
|
|
29
|
-
sage/libs/giac/auto-methods.pxi,sha256=Oh58oDqlbKWeFXY6ArLMROm5iTayfaZZuVAbdWj1ZhI,676345
|
|
30
|
-
sage/libs/giac/giac.pyx,sha256=mTh3q-hsHzSn1Rl3ezi06Ik2Wa_maGd9CRBA6VFGpNY,68691
|
|
31
|
-
sage/interfaces/all__sagemath_giac.py,sha256=kb8e_2ZD2q6tVPakBcnb9ocdKdeowDDYmWkBdNfsp2w,43
|
|
32
|
-
sage/interfaces/giac.py,sha256=EDIv4z_4jCkhgjld2cspLXV9ACg0AIc_Xokm55uJbx4,38219
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|