1.2.2 eliminate

Bugs

Modérateur : xcasadmin

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » mar. févr. 16, 2016 2:11 pm

Ok, je pense qu'il faut que je rajoute un fallback vers Buchberger aussi en modulaire. En fait l'ideal serait qu'au cours de l'algo il choisisse entre f4 et modulaire, mais la structure de donnee compressee rend cela difficile actuellement.

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » mer. févr. 17, 2016 12:01 pm

Je crois que j'ai reussi a implementer un choix dynamique entre Buchberger et f4 (cf. le source instable), du coup ton exemple passe mais c'est beaucoup beaucoup plus lent que singular (un peu plus de 7s contre 0.04 sur ma machine). Vois-tu une methode qui permettrait d'etre plus efficace que Groebner quand on a n-1 sur n variables a eliminer?

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.2 eliminate

Message par frederic han » jeu. févr. 18, 2016 7:14 pm

C'est de dim 0 et je constate que giac va tres vite pour trouver une base de groebner pour revlex. Sur cet exemple ca semble aller aussi vite pour la transformer en une base pour lex. As tu fglm dans giac deja? (je crois que oui?)

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » jeu. févr. 18, 2016 7:45 pm

Tu as sans doute trouve! Par contre le FGLM que j'ai implemente est commente comme ne marchant pas en modulaire (et il n'est probablement pas tres optimise). Je vais y reflechir.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.2 eliminate

Message par frederic han » jeu. févr. 18, 2016 8:25 pm

Sous sage (via singular) ca marche bien (mais pas? sur QQ)

Code : Tout sélectionner

sage: from giacpy import *
// Giac share root-directory:/home/fred/dev/sage/develop/sage.develop/local/share/giac/
// Giac share root-directory:/home/fred/dev/sage/develop/sage.develop/local/share/giac/
Help file /home/fred/dev/sage/develop/sage.develop/local/share/giac/doc/fr/aide_cas not found
Added 0 synonyms
sage: R=PolynomialRing(GF(101),4,'x')
sage: R.inject_variables()
Defining x0, x1, x2, x3
sage: L=[2*x0^3 - 15*x0^2*x1 - 24*x0*x1^2 - 23*x1^3 - 14*x0^2*x2 + 29*x1^2*x2 - 24*x0*x2^2 + 14*x0*x1*x3 - 45*x1*x2*x3 - 41*x1*x3^2 + 2*x3^3 - 29*x0*x1 - 27*x1^2 - 15*x0*x2 - 18*x1*x2 + 28*x1*x3 + 44*x0 - 46*x1 - 13*x2 + 48,
 7*x0^3 + 37*x1^3 - 13*x0*x1*x2 - 5*x0*x2^2 + 14*x0^2*x3 - 31*x1^2*x3 - 15*x0*x2*x3 - 31*x2^2*x3 - 26*x0*x3^2 - 19*x1*x3^2 + 47*x3^3 - 49*x0^2 - 7*x0*x1 - 12*x1*x2 - 34*x2^2 - 26*x0 + 5*x1 + 9*x2 - 27*x3 - 14,
 13*x0^3 + 29*x0*x1^2 + 47*x1^3 + 47*x0^2*x2 + 49*x0*x1*x2 - 23*x1^2*x2 + 43*x0^2*x3 - 35*x0*x3^2 - 9*x2*x3^2 + 41*x3^3 - 9*x0^2 + 14*x1^2 + 16*x1*x2 - 13*x2^2 - 35*x1*x3 + 5*x2*x3 - x0 - 10*x1 + 35*x3,
 -48*x0^2*x1 - 28*x1^3 + 36*x1*x2^2 - 47*x0*x1*x3 + 26*x1*x2*x3 - 8*x0*x3^2 + 24*x2*x3^2 - 21*x3^3 - 48*x0*x1 - 6*x1^2 + 34*x0*x2 - 27*x1*x2 + 9*x0*x3 + 18*x1*x3 - 16*x3^2 + 34*x0 - 20*x1 + 18*x2 + 33*x3 - 46]
sage: I=ideal(L)
sage: time gb=I.groebner_basis('giac')
// Groebner basis computation time 0.004857 Memory 0.14204M
CPU times: user 40.9 ms, sys: 8.81 ms, total: 49.7 ms
Wall time: 46 ms
sage: time gblex=ideal(gb).transformed_basis('fglm')
CPU times: user 97.1 ms, sys: 15.7 ms, total: 113 ms
Wall time: 174 ms
sage: gblex[-1]
x3^80 - 46*x3^79 - 9*x3^78 - 25*x3^77 - 18*x3^76 + 17*x3^75 + 27*x3^74 + 46*x3^73 + 22*x3^72 - 35*x3^71 - 19*x3^69 + 36*x3^68 + 50*x3^67 + 5*x3^66 - 16*x3^65 + 28*x3^64 + 22*x3^63 - 16*x3^62 + 6*x3^61 + 2*x3^60 - 27*x3^59 + 42*x3^58 + 36*x3^57 - 12*x3^56 - 37*x3^55 + 6*x3^54 - 39*x3^53 + 12*x3^52 - 18*x3^51 - 39*x3^50 - 40*x3^49 + 47*x3^48 + 27*x3^47 - 31*x3^46 - 50*x3^45 + 36*x3^44 + 35*x3^43 - 33*x3^42 - 16*x3^41 - 15*x3^40 + 50*x3^39 - 42*x3^38 + 23*x3^37 - 24*x3^36 + 19*x3^35 - 10*x3^34 + 24*x3^33 - 42*x3^32 + 7*x3^31 - 3*x3^30 + 14*x3^29 + 25*x3^28 - 14*x3^27 + 21*x3^26 + 29*x3^25 + 31*x3^24 + 29*x3^23 + 36*x3^22 - 13*x3^21 + 50*x3^20 - 23*x3^19 - 24*x3^18 - 47*x3^17 - 11*x3^16 + 16*x3^15 + 47*x3^14 - 29*x3^13 + 47*x3^12 + 36*x3^11 + 50*x3^10 + 24*x3^9 - 2*x3^8 - 36*x3^7 + 45*x3^6 - 21*x3^5 + 5*x3^4 + 43*x3^3 - 12*x3^2 + 25*x3 + 23
sage: I.elimination_ideal([x0,x1,x2])
Ideal (x3^80 - 46*x3^79 - 9*x3^78 - 25*x3^77 - 18*x3^76 + 17*x3^75 + 27*x3^74 + 46*x3^73 + 22*x3^72 - 35*x3^71 - 19*x3^69 + 36*x3^68 + 50*x3^67 + 5*x3^66 - 16*x3^65 + 28*x3^64 + 22*x3^63 - 16*x3^62 + 6*x3^61 + 2*x3^60 - 27*x3^59 + 42*x3^58 + 36*x3^57 - 12*x3^56 - 37*x3^55 + 6*x3^54 - 39*x3^53 + 12*x3^52 - 18*x3^51 - 39*x3^50 - 40*x3^49 + 47*x3^48 + 27*x3^47 - 31*x3^46 - 50*x3^45 + 36*x3^44 + 35*x3^43 - 33*x3^42 - 16*x3^41 - 15*x3^40 + 50*x3^39 - 42*x3^38 + 23*x3^37 - 24*x3^36 + 19*x3^35 - 10*x3^34 + 24*x3^33 - 42*x3^32 + 7*x3^31 - 3*x3^30 + 14*x3^29 + 25*x3^28 - 14*x3^27 + 21*x3^26 + 29*x3^25 + 31*x3^24 + 29*x3^23 + 36*x3^22 - 13*x3^21 + 50*x3^20 - 23*x3^19 - 24*x3^18 - 47*x3^17 - 11*x3^16 + 16*x3^15 + 47*x3^14 - 29*x3^13 + 47*x3^12 + 36*x3^11 + 50*x3^10 + 24*x3^9 - 2*x3^8 - 36*x3^7 + 45*x3^6 - 21*x3^5 + 5*x3^4 + 43*x3^3 - 12*x3^2 + 25*x3 + 23) of Multivariate Polynomial Ring in x0, x1, x2, x3 over Finite Field of size 101

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » sam. févr. 20, 2016 7:27 pm

Bon, j'ai implemente l'elimination pour un ideal de dimension 0 lorsqu'on elimine toutes les variables sauf une, en reutilisant du code ecrit pour la representation rationnelle univariee. Ca donne de bons resultats sur ton exemple, 0.03s sur Z/101Z et 0.8s sur Q.
Si on a plusieurs variables restantes, toujours en dimension 0, il faudrait refaire un fglm, mais on peut bien sur utiliser gbasis(...,rur) qui calcule la representation rationnelle univariee, qui est finalement plus utile.
J'ai mis a jour le source unstable, j'ai du faire un certain nombre de changements, il y a donc un risque non negligeable que ca ait introduit des bugs...

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.2 eliminate

Message par frederic han » mar. févr. 23, 2016 9:36 am

Sur les exemples de dim 0 ca donne une tres belle amelioration et j'ai pu pousser plus loin. L'elimination de toutes les variables sauf une devient tres competitive Ex:

Code : Tout sélectionner

sage: L=genintersectioncomplete(5,GF(101))
Defining x0, x1, x2, x3, x4
sage: I=ideal(L)
sage: %time E1=I.elimination_ideal([x0,x1,x2,x3])
CPU times: user 3.79 s, sys: 19 µs, total: 3.79 s
Wall time: 3.79 s
sage: %time E2=giac_elimination(I,[x0,x1,x2,x3])
// Groebner basis computation time 0.152809 Memory 0.270704M
CPU times: user 1.57 s, sys: 4.04 ms, total: 1.57 s
Wall time: 1.57 s
sage: I
Ideal (12*x1^3 - 26*x0*x1*x2 + 12*x1^2*x2 - 17*x0*x2^2 - 15*x0^2*x3 + 37*x0*x3^2 + 39*x2*x3*x4 + 18*x3^2*x4 + 29*x1*x4^2 + 47*x4^3 - 22*x0^2 - 44*x0*x1 - 9*x0*x2 - 43*x2^2 + 19*x2*x3 - 28*x1*x4 - 15*x2*x4 + 38*x3*x4 + x4^2 + 4*x0, -8*x0^2*x1 + 24*x1^3 - 5*x1^2*x2 + 6*x0*x2^2 + 3*x0^2*x3 + 30*x1^2*x3 + 28*x1*x3^2 - 23*x2*x3^2 + 28*x0*x1*x4 - 4*x1*x2*x4 - 4*x0*x4^2 - 18*x1*x4^2 - 28*x2*x4^2 - 2*x3*x4^2 + 12*x0*x3 + 38*x3^2 + 43*x0*x4 + 11*x4^2 - 27*x0 - 34, -21*x1^3 - 19*x0*x1*x2 - 5*x1*x2^2 + 50*x2^2*x3 - 16*x2*x3^2 - 5*x0*x2*x4 + 5*x0*x3*x4 + 33*x1*x3*x4 + 24*x2*x3*x4 + 50*x2*x4^2 + 36*x4^3 + 14*x0^2 + 40*x0*x1 - 21*x1^2 - 49*x0*x2 - 49*x1*x2 - 34*x0*x4 + 2*x3*x4 + 43*x0 - 33*x1, 16*x0^2*x1 + 31*x0^2*x2 - 40*x0*x1*x2 - 13*x0*x2^2 - 45*x2^3 - 9*x0*x1*x3 + 48*x1*x2*x3 - 27*x2^2*x3 + 43*x0^2*x4 + 11*x0*x2*x4 + 20*x1*x2*x4 + 47*x3^2*x4 - 21*x2*x3 + 47*x0*x4 + 45*x1*x4 - 46*x3*x4 - x4^2 + 4*x0 - 39*x2 + 3*x3, 23*x0^2*x1 + 23*x1^3 + 47*x0^2*x2 - 9*x0*x1*x3 + 47*x2^2*x3 + 8*x0*x3^2 + 42*x1*x3^2 + 36*x0*x1*x4 + x1^2*x4 + 36*x0*x2*x4 - 31*x2^2*x4 + 46*x0*x3*x4 + 25*x2*x3*x4 + 34*x3^2*x4 - 41*x2*x4^2 + 13*x1^2 - 50*x0*x3 - 21*x1*x3 + 9*x0 - 24) of Multivariate Polynomial Ring in x0, x1, x2, x3, x4 over Finite Field of size 101
en revanche pour l'elimination de moins de variables en dim 0 singular est plus rapide.

Sur cet exemple de dim 2 singular est bien plus rapide:
(idem giac + transformed_basis (qui utlise je pense groebner walk) est plus rapide)

Code : Tout sélectionner

L2:=[-19*y0^3 - 45*y0^2*y1 - 24*y0*y1^2 + 13*y1^3 - 9*y0^2 - 48*y0*y1 - 8*y1^2 + z0 + 33*y0 - 47*y1 - 12, -49*y0^3 + 10*y0^2*y1 + 12*y0*y1^2 + 5*y1^3 + 9*y0^2 - 20*y0*y1 - 35*y1^2 + z1 + 9*y0 + 34*y1 - 48, 12*y0^3 + 50*y0^2*y1 - 16*y0*y1^2 + 45*y1^3 + 13*y0^2 - 14*y0*y1 - 47*y1^2 + z2 - 34*y0 + 29*y1 - 1, 41*y0^3 - 50*y0^2*y1 + 47*y0*y1^2 - 16*y1^3 + 38*y0^2 - y0*y1 - 9*y1^2 + z3 - 8*y0 - 45*y1 + 27, -38*y0^3 + 38*y0^2*y1 + 22*y0*y1^2 + 15*y1^3 - 34*y0^2 - 10*y0*y1 + 35*y1^2 + z4 - 42*y0 + 9*y1 + 17, 13*y0^3 + 36*y0^2*y1 + 26*y0*y1^2 + 24*y1^3 + 30*y0^2 - 26*y0*y1 - 49*y1^2 + z5 + 29*y0 + 5*y1 - 24, 49*y0^3 - 44*y0^2*y1 + 32*y0*y1^2 - 12*y1^3 - 6*y0^2 + 21*y0*y1 + 29*y1^2 + z6 - 31*y0 + 16*y1 + 21, 8*y0^3 + 22*y0^2*y1 + 49*y0*y1^2 - 38*y1^3 - y0^2 + 14*y0*y1 + 6*y1^2 + z7 - 44*y0 + 22*y1 + 44, -15*y0^3 - 28*y0^2*y1 + 46*y0*y1^2 + 6*y1^3 + y0^2 + 49*y0*y1 - 6*y1^2 + z8 - 50*y0 + 24*y1 - 11, 29*y0^3 - 30*y0^2*y1 + 44*y0*y1^2 + 27*y1^3 + 5*y0^2 + 16*y0*y1 + 40*y1^2 + z9 - 2*y0 - 32*y1 + 28] % 101;
eliminate(L2,[y0, y1, z0, z1, z2, z3]);// dim2, singular mets 0.016s, giac 23s?
:!: Dans ce exemple de dim 2 j'ai un probleme de corruption (il passe de temps en temps mais a force j'arrive a voir une erreur):

Code : Tout sélectionner

Lbugfree:=[-9*y1^2 + z0 - 25*y0 - 1/5, -2*y0^2 + 3*y0*y1 + z1 + 2*y0 + 2, -1/4*y0^2 - 2/5*y0*y1 - 2*y1^2 + z2 - 3*y0 + 7/2*y1 - 4, 2*y0^2 - y0*y1 + z3 + 33*y0 - 1/2*y1 - 1, 5*y0^2 - 3/2*y0*y1 + z4 + 8*y0 + y1 - 1/6, 8*y0^2 + 15*y1^2 + z5 - 4/3*y0 - 1/27*y1 + 2];
[-9*y1^2+z0-25*y0-1/5,-2*y0^2+3*y0*y1+z1+2*y0+2,-1/4*y0^2-2/5*y0*y1-2*y1^2+z2-3*y0+7/2*y1-4,2*y0^2-y0*y1+z3+33*y0-1/2*y1-1,5*y0^2-3/2*y0*y1+z4+8*y0+y1-1/6,8*y0^2+15*y1^2+z5-4/3*y0-1/27*y1+2];
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
donne souvent:

Code : Tout sélectionner

// Time 0
// Groebner basis computation time 0.004876 Memory 0.0124M
[],
// Time 0.01
// Groebner basis computation time 0.001689 Memory 0.012416M
[],
// Time 0
// Groebner basis computation time 0.001695 Memory 0.012468M
[],
// Time 0.01
*** Error in `icas': free(): invalid next size (fast): 0x00007f70f800c4e0 ***

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » mar. févr. 23, 2016 10:26 am

Il n'y a pas de groebner_walk dans giac, et je ne sais pas comment fonctionne l'algorithme donc pour le moment je ne risque pas de l'implementer!
J'ai teste ton exemple avec valgrind sous linux, il ne detecte pas de corruption. Peut-etre que tu peux essayer de ton cote?

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.2 eliminate

Message par frederic han » mar. févr. 23, 2016 11:40 am

En fait j'y arrive aussi avec le binaire 1.2.2-31

Code : Tout sélectionner

Lbugfree:=[-9*y1^2 + z0 - 25*y0 - 1/5, -2*y0^2 + 3*y0*y1 + z1 + 2*y0 + 2, -1/4*y0^2 - 2/5*y0*y1 - 2*y1^2 + z2 - 3*y0 + 7/2*y1 - 4, 2*y0^2 - y0*y1 + z3 + 33*y0 - 1/2*y1 - 1, 5*y0^2 - 3/2*y0*y1 + z4 + 8*y0 + y1 - 1/6, 8*y0^2 + 15*y1^2 + z5 - 4/3*y0 - 1/27*y1 + 2];
[-9*y1^2+z0-25*y0-1/5,-2*y0^2+3*y0*y1+z1+2*y0+2,-1/4*y0^2-2/5*y0*y1-2*y1^2+z2-3*y0+7/2*y1-4,2*y0^2-y0*y1+z3+33*y0-1/2*y1-1,5*y0^2-3/2*y0*y1+z4+8*y0+y1-1/6,8*y0^2+15*y1^2+z5-4/3*y0-1/27*y1+2];
for(j:=0;j<50;j++){
eliminate(Lbugfree,[y0,y1,z0,z1,z2,z3]);
}
avec: gdb --args fichier.cas

le premier essai de run sous gdb passe souvent, mais au bout de 4 ou 5 fois r ou en augmentant le nombre de repetitions comme dans le programme precedent je fini par avoir le plantage.

Code : Tout sélectionner

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe3fff700 (LWP 6546)]
__GI___libc_free (mem=0x7f0100000005) at malloc.c:2929
2929	malloc.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __GI___libc_free (mem=0x7f0100000005) at malloc.c:2929
#1  0x00007ffff726e0a7 in bool giac::in_zgbasis<giac::tdeg_t15>(giac::vectpolymod<giac::tdeg_t15>&, unsigned int, std::vector<unsigned int, std::allocator<unsigned int> >&, int, bool, std::vector<giac::paire, std::allocator<giac::paire> >*, std::vector<giac::zinfo_t<giac::tdeg_t15>, std::allocator<giac::zinfo_t<giac::tdeg_t15> > >&, bool, bool, bool) () from /usr/lib/libgiac.so.0
#2  0x00007ffff7272e0d in bool giac::zgbasis<giac::tdeg_t15>(giac::vectpoly8<giac::tdeg_t15>&, giac::vectpolymod<giac::tdeg_t15>&, std::vector<unsigned int, std::allocator<unsigned int> >&, int, bool, std::vector<giac::paire, std::allocator<giac::paire> >*, std::vector<giac::zinfo_t<giac::tdeg_t15>, std::allocator<giac::zinfo_t<giac::tdeg_t15> > >&, bool, bool, bool, bool) () from /usr/lib/libgiac.so.0
#3  0x00007ffff72b1d48 in void* giac::thread_gbasis<giac::tdeg_t15>(void*) () from /usr/lib/libgiac.so.0
#4  0x00007ffff4551182 in start_thread (arg=0x7fffe3fff700) at pthread_create.c:312
#5  0x00007ffff277947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
ou bien

Code : Tout sélectionner

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe9688700 (LWP 6600)]
_int_free (av=0x7fffdc000020, p=0x7fffdc0009e0, have_lock=0) at malloc.c:3966
3966	malloc.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  _int_free (av=0x7fffdc000020, p=0x7fffdc0009e0, have_lock=0) at malloc.c:3966
#1  0x00007ffff72b819c in bool giac::mod_gbasis<giac::tdeg_t15>(giac::vectpoly8<giac::tdeg_t15>&, bool, bool, bool&, giac::context const*, bool) () from /usr/lib/libgiac.so.0
#2  0x00007ffff7193960 in giac::gbasis8(giac::vectpoly const&, giac::order_t&, giac::vectpoly&, giac::environment*, bool, bool, bool&, giac::context const*, bool) () from /usr/lib/libgiac.so.0
#3  0x00007ffff6c99024 in ?? () from /usr/lib/libgiac.so.0
#4  0x00007ffff6c9a1f3 in giac::gbasis(giac::vectpoly const&, giac::gen const&, bool, int, giac::environment*, bool&, giac::context const*, bool) () from /usr/lib/libgiac.so.0
#5  0x00007ffff6ca33c5 in giac::_eliminate(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#6  0x00007ffff6ca0a8b in giac::_eliminate(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#7  0x00007ffff6ca0a8b in giac::_eliminate(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#8  0x00007ffff6ca0a8b in giac::_eliminate(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#9  0x00007ffff6ca0a8b in giac::_eliminate(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#10 0x00007ffff72e8570 in giac::unary_function_eval::operator()(giac::gen const&, giac::context const*) const ()
   from /usr/lib/libgiac.so.0
#11 0x00007ffff6c0ec3c in giac::symbolic::eval(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#12 0x00007ffff73cc552 in giac::gen::in_eval(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#13 0x00007ffff73ccb6d in giac::gen::eval(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#14 0x00007ffff71500e0 in giac::_for(giac::gen const&, giac::context const*) () from /usr/lib/libgiac.so.0
#15 0x00007ffff72e8570 in giac::unary_function_eval::operator()(giac::gen const&, giac::context const*) const ()
   from /usr/lib/libgiac.so.0
#16 0x00007ffff72e25b0 in giac::unary_function_ptr::operator()(giac::gen const&, giac::context const*) const ()
   from /usr/lib/libgiac.so.0
#17 0x00007ffff6c0eaa0 in giac::symbolic::eval(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#18 0x00007ffff73cc552 in giac::gen::in_eval(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#19 0x00007ffff73ccb6d in giac::gen::eval(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#20 0x00007ffff714ad1d in giac::protecteval(giac::gen const&, int, giac::context const*) () from /usr/lib/libgiac.so.0
#21 0x00007ffff6f170fc in ?? () from /usr/lib/libgiac.so.0
#22 0x00007ffff4551182 in start_thread (arg=0x7fffe9688700) at pthread_create.c:312
#23 0x00007ffff277947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.2 eliminate

Message par parisse » mar. févr. 23, 2016 11:49 am

Je ne detecte rien meme avec 50 executions. Peux-tu essayer de ton cote avec valgrind?

Code : Tout sélectionner

/usr/bin/valgrind --leak-check=yes icas fichier

Répondre