Code : Tout sélectionner
from giacpy import factor
factor("(a1*l1^2*x0^2+a1*l1^2*x3^2-a1*x1^2-a1*x2^2)/(2*l1)")
Edit: I want to also point out that the crash also occurs without the denominator "2l1"
Modérateur : xcasadmin
Code : Tout sélectionner
from giacpy import factor
factor("(a1*l1^2*x0^2+a1*l1^2*x3^2-a1*x1^2-a1*x2^2)/(2*l1)")
How can I know the giacpy version? I cannot remember anymore. I can update with pip and retry (I'll let you know soon). The system is Windows 10, python is 2.7 for 32bit.frederic han a écrit :Hi,
I am not able to reproduce this on linux or win10. What version is it? (system and python...)
May be many other things will also crash?
Code : Tout sélectionner
python.exe -mpip show giacpy
Code : Tout sélectionner
>>> help('giacpy')
Help on package giacpy:
NAME
giacpy - giacpy: Interface to the C++ library giac (Computer Algebra System).
FILE
z:\home\fred\dev\giacpy\build\lib.win32-2.7\giacpy\__init__.py
Code : Tout sélectionner
>>> import giacpy
>>> A=giacpy.table(())
>>> A
table(
)
>>> A[1,1]=1 # in giacpy 0.6 you can change coeff of matrices (sparse or not)
>>> A
table(
(1,1) = 1
)
>>> A-A # this bug in libgiac is only fixed in giac.dll provided with giacpy 0.6.x
table(
)
Code : Tout sélectionner
from giacpy import giac
x,y,z=giac('x,y,z')
f=(x+y+z+1)**30+1
g=(f*(f+1)).normal()
from time import time
t=time()
g.factor().nops()
print(time()-t)
It works with the new dll you gave me to try. Please let us know if there is a stable ntl implementation anytime in the future. How come that you did not get a crash in your other computer (your first post)? Maybe there is clue for that there, does it crash in 64bit? I think I'll take this even if it is slower, stability is more important.frederic han a écrit :I was able to have a crash on one computer. I think it is related to NTL
I have built a new giac.dll for 32bits. could you try if is solves your pb?
(put it in your giacpy dir instead of the old one)
webusers.imj-prg.fr/~frederic.han/giac.dll
Code : Tout sélectionner
from giacpy import giac
x,y,z=giac('x,y,z')
f=(x+y+z+1)**30+1
g=(f*(f+1)).normal()
from time import time
t=time()
g.factor().nops()
print(time()-t)
I'll note those times, it might be useful to know for me in the future.frederic han a écrit : is 17s in 32bits while 4.5s in win64.
These giac.dll are built with mingw (gcc6) so they are very different than bernard version of giac because he uses cygwin.