Page 1 sur 1
possible regression in solve
Publié : dim. oct. 31, 2021 9:38 am
par lukamar
Hi Bernard,
"solve" in the source from Oct 30 fails on this command:
The solution is [3,3,3]. I get the error message "Unable to find a separation form for the RUR computation". Maybe it's a regression due to the new functionality?
Re: possible regression in solve
Publié : mer. nov. 03, 2021 9:48 pm
par parisse
I think I have a fix (separation should not be called if the minimal polynomial for one coordinate is not square free), diff below.
BTW, in graphe.h line 562 a const should be added to bool operator()(const std::pair<gen,tree_node*> &a,const std::pair<gen,tree_node*> &b) const {
Code : Tout sélectionner
diff cocoa.cc cocoa.cc~
14535,14555d14534
< bool tryseparate=radical!=-1;
< environment env;
< env.modulo=p;
< env.moduloon=true;
< if (radical==0){
< // additional check for non sqrfree minp,
< // for solve([3*x^2-3*z^2,3*y^2-3*z^2,x*y+y*z+x*z-x*y*z],[x,y,z]);
< for (int i=0;i<d;++i){
< if (minp[i].type!=_VECT)
< continue;
< m=*minp[i]._VECTptr;
< if (m.empty())
< continue;
< vecteur m1=derivative(m,&env);
< m1=gcd(m,m1,&env);
< if (m1.size()>1){
< tryseparate=false;
< break;
< }
< }
< }
14557c14536
< if (tryseparate){
---
> if (radical!=-1){
14590a14570,14572
> environment env;
> env.modulo=p;
> env.moduloon=true;
Re: possible regression in solve
Publié : dim. nov. 07, 2021 1:47 pm
par lukamar
Thanks!
I corrected graphe.h, const was missing in more than one instance.
Re: possible regression in solve
Publié : dim. nov. 07, 2021 2:16 pm
par lukamar
A maybe related problem: solve now crashes with the following command:
Code : Tout sélectionner
solve([-4*y*x^2*z-4*y*z+4*y+3*x^4-2*x^3+2*x^2+4*x*z-2*x-1,-y*x+y+z*x-z,-2*y^2-4*y*x*z+x^3-x^2-x-2*z^2+1],[x,y,z])
Re: possible regression in solve
Publié : dim. nov. 07, 2021 6:22 pm
par parisse
Indeed, now fixed in source.
Re: possible regression in solve
Publié : mar. nov. 09, 2021 3:35 pm
par parisse