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.
Files changed (45) hide show
  1. passagemath_giac/.dylibs/libcliquer.1.0.21.dylib +0 -0
  2. passagemath_giac/.dylibs/libcrypto.3.dylib +0 -0
  3. passagemath_giac/.dylibs/libcurl.4.dylib +0 -0
  4. {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libgfortran.5.dylib +0 -0
  5. {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libgiac.0.dylib +0 -0
  6. passagemath_giac/.dylibs/libglpk.40.dylib +0 -0
  7. passagemath_giac/.dylibs/libgmp.10.dylib +0 -0
  8. passagemath_giac/.dylibs/libgmpxx.4.dylib +0 -0
  9. passagemath_giac/.dylibs/libgsl.28.dylib +0 -0
  10. passagemath_giac/.dylibs/libgslcblas.0.dylib +0 -0
  11. passagemath_giac/.dylibs/libintl.8.dylib +0 -0
  12. passagemath_giac/.dylibs/libmpfi.0.dylib +0 -0
  13. passagemath_giac/.dylibs/libmpfr.6.dylib +0 -0
  14. passagemath_giac/.dylibs/libmps.3.dylib +0 -0
  15. passagemath_giac/.dylibs/libopenblasp-r0.3.31.dylib +0 -0
  16. {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libpari-gmp-tls.dylib +0 -0
  17. {passagemath_giac.dylibs → passagemath_giac/.dylibs}/libquadmath.0.dylib +0 -0
  18. passagemath_giac/.dylibs/libreadline.8.2.dylib +0 -0
  19. passagemath_giac/.dylibs/libssl.3.dylib +0 -0
  20. passagemath_giac/.dylibs/libz.1.3.1.dylib +0 -0
  21. passagemath_giac/__init__.py +3 -0
  22. {passagemath_giac-10.4.68.dist-info → passagemath_giac-10.8.1a1.dist-info}/METADATA +57 -30
  23. passagemath_giac-10.8.1a1.dist-info/RECORD +37 -0
  24. {passagemath_giac-10.4.68.dist-info → passagemath_giac-10.8.1a1.dist-info}/WHEEL +2 -1
  25. passagemath_giac-10.8.1a1.dist-info/top_level.txt +3 -0
  26. sage/all__sagemath_giac.py +1 -0
  27. sage/interfaces/giac.py +14 -6
  28. sage/libs/giac/__init__.py +3 -3
  29. sage/libs/giac/giac.cpython-311-darwin.so +0 -0
  30. sage/libs/giac/giac.pyx +30 -21
  31. sage_wheels/bin/giac +0 -0
  32. passagemath_giac-10.4.68.dist-info/RECORD +0 -32
  33. passagemath_giac-10.4.68.dist-info/top_level.txt +0 -2
  34. passagemath_giac.dylibs/libcliquer.1.dylib +0 -0
  35. passagemath_giac.dylibs/libgcc_s.1.1.dylib +0 -0
  36. passagemath_giac.dylibs/libgf2x.3.dylib +0 -0
  37. passagemath_giac.dylibs/libglpk.40.dylib +0 -0
  38. passagemath_giac.dylibs/libgmp.10.dylib +0 -0
  39. passagemath_giac.dylibs/libgsl.28.dylib +0 -0
  40. passagemath_giac.dylibs/libmpfi.0.dylib +0 -0
  41. passagemath_giac.dylibs/libmpfr.6.dylib +0 -0
  42. passagemath_giac.dylibs/libntl.44.dylib +0 -0
  43. passagemath_giac.dylibs/libopenblas_sandybridgep-r0.3.28.dylib +0 -0
  44. passagemath_giac.dylibs/libreadline.8.1.dylib +0 -0
  45. 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
@@ -0,0 +1,3 @@
1
+ # sage_setup: distribution = sagemath-giac
2
+
3
+ from sage.all__sagemath_giac import *
@@ -1,14 +1,14 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: passagemath-giac
3
- Version: 10.4.68
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: GNU General Public License (GPL) v2 or later
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://doc.sagemath.org
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.13,>=3.9
29
+ Requires-Python: <3.15,>=3.11
30
30
  Description-Content-Type: text/x-rst
31
- Requires-Dist: passagemath-categories~=10.4.68.0
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
- About SageMath
41
- --------------
42
-
43
- "Creating a Viable Open Source Alternative to
44
- Magma, Maple, Mathematica, and MATLAB"
45
-
46
- Copyright (C) 2005-2024 The Sage Development Team
47
-
48
- https://www.sagemath.org
49
-
50
- SageMath fully supports all major Linux distributions, recent versions of
51
- macOS, and Windows (Windows Subsystem for Linux).
52
-
53
- See https://doc.sagemath.org/html/en/installation/index.html
54
- for general installation instructions.
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://doc.sagemath.org/html/en/reference/libs/sage/libs/giac.html>`_
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 `merged into the Sage library <https://github.com/sagemath/sage/issues/29171>`_
78
- in 2020.
105
+ It was merged into the Sage library in 2020.
79
106
 
80
- - `Pexpect interface to GIAC <https://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/giac.html>`_
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 sage.all__sagemath_giac import *
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 sage.all__sagemath_giac import *
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
@@ -1,5 +1,6 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-macosx_13_0_x86_64
5
+ Generator: delocate 0.13.1.dev42+ga0af70b54
5
6
 
@@ -0,0 +1,3 @@
1
+
2
+ passagemath_giac
3
+ sage
@@ -1,4 +1,5 @@
1
1
  # sage_setup: distribution = sagemath-giac
2
+ # delvewheel: patch
2
3
 
3
4
  from sage.all__sagemath_categories import *
4
5
 
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.misc.pager import pager
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 pexepect interface for giac has a very poor support of keyboard interruptions.
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 = {}
@@ -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'] # NB e^k is expanded to exp(k)
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
- "%s is not a supported term order in "
348
- "Giac Groebner bases." % P.term_order())
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
- SRexpressiontoGiac = InterfaceInit(giac)
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('sin(3*x)>2*sin(x)',x)
380
- Traceback (most recent call last):
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,1,context_ptr)
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, 1, context_ptr)
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, SR.__class__):
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
@@ -1,2 +0,0 @@
1
-
2
- sage
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file