Opened 12 years ago

Last modified 12 years ago

#256 new bug

two problems with solve.lib

Reported by: seelisch Owned by: keilen@…
Priority: major Milestone: 3-1-2 and higher
Component: singular-libs Version: 3-1-1
Keywords: solve Cc:

Description

1.) nesting of solutions in output:

solve(x-2);

[1]:

2

vs.

solve(x);

[1]:

[1]:

0

2.) woing solution when using lower accuracy (50 digits) vs. correct solutions with higher accuracy (100 digits): Dear Singular,

The attached file has a square polynomial system and commands

Singular to find numerical solutions to 60 digits. When it does so, two solutions that it returns are basically identical:

[

-46.686771865352200850207316445861159158509952929089418809013767, -2075.924751468597522026462120120937847939050032775224225004189756, -465138.080241626296123745394000384720474413626728069566972514190039, -11.858560765525015961123910645133700555925881842738913242784899, -352.744196258839528720833833792881385636171347974514511096047432, -125145.649325074878424509801719952333776811912204281119144546917252, -64.300944573260450199328753059920142478990177981051546190729416, -4694.859893734264152680611088553806377965388570574543560372462586],

[

-46.686771865352200850207316445526827975075497820819905366344, -2075.924751468597522026462120091137501812539137359328522885956439, -465138.080241626296123745393999835308820279518018706885063445694898, -11.858560765525015961123910645125640675803512353562020873926415, -352.744196258839528720833833817110218710134140241516010528128848, -125145.649325074878424509801719940741482362661791910462564796656601, -64.300944573260450199328753059936262239234916959405330928446382, -4694.859893734264152680611088553806377965388570574543560372456781],

However, the ninth returned solution

[

5353034516283988470982.6941134788968619350513492719663774658, 473090576087064901371797.73015260489854442517195074324790904,

8579958906103200911883395.819508351259769628999264616841207259596114531341713599542267,

123273854102523925047.01924628327585301131780326695141729991,

-392711099201678765943433.899401459868837088766055557904827237361129662316471636712474, 152102621987804750872094.728531485506341239398294895226333244938690722915185728416815, -246547708205047850182.056558670862188144212180884090378190662218317450074371628233,

2390.3775935280216492171771883931353976787431981208747486725],

is clearly not a solution.

This problem goes away when we ask for 100 digits of accuracy.

Some warning should be given to this behaviour in your documentation.

(I should admit that I haven't noticed anything too strange before

with Singular's numerical solving, but this is aa bit of a problem.)

Thanks, -Frank and Jon

42.sing

100 digits needed to certify the solutions (none are found to be real) LIB "solve.lib"; int T=timer; link l=":w 42.out"; option(redSB); ring R = 0, (a,b,c,d,e,f,g,h), dp; ideal I; poly x; I = b*f-c*e-13144256/2197*e*h+13144256/2197*f*g-167088/169*b*h+167088/169*c*g-708/13*a*e*h+708/13*a*f*g+708/13*d*b*h-708/13*d*c*g+1382171726348288/4826809*g*d-2196247446528/371293*h*d+10981237232640/371293*g*a-18612266496/28561*h*a+334176/169*c*d+131442560/2197*a*e-334176/169*f*a-131442560/2197*d*b+28868038676510343168/815730721-1727714657935360/4826809*a+46530666240/28561*b-105154048/2197*c-244644395563646976/62748517*d+4392494893056/371293*e-9306133248/28561*f-122322197781823488/62748517*g+172771465793536/4826809*h,

b*f-c*e+2097152/125*e*h-2097152/125*f*g-49152/25*b*h+49152/25*c*g+384/5*a*e*h-384/5*a*f*g-384/5*d*b*h+384/5*d*c*g+35184372088832/15625*g*d+103079215104/3125*h*d-103079215104/625*g*a-1610612736/625*h*a+98304/25*c*d-4194304/25*a*e-98304/25*f*a+4194304/25*d*b+216172782113783808/390625-8796093022208/3125*a+805306368/125*b+16777216/125*c+3377699720527872/78125*d-206158430208/3125*e-805306368/625*f+1688849860263936/78125*g+4398046511104/15625*h, b*f-c*e-300763/64000*e*h+300763/64000*f*g-13467/1600*b*h+13467/1600*c*g-201/40*a*e*h+201/40*a*f*g+201/40*d*b*h-201/40*d*c*g+90458382169/512000000*g*d-4050375321/102400000*h*d+4050375321/20480000*g*a-60453363/1280000*h*a+13467/800*c*d+300763/6400*a*e-13467/800*f*a-300763/6400*d*b+1218203032669923/6553600000000-90458382169/409600000*a+60453363/512000*b-300763/8000*c-18182134815969/81920000000*d+4050375321/51200000*e-60453363/2560000*f-18182134815969/163840000000*g+90458382169/4096000000*h, b*f-c*e+3048625/8*e*h-3048625/8*f*g-63075/4*b*h+63075/4*c*g+435/2*a*e*h-435/2*a*f*g-435/2*d*b*h+435/2*d*c*g+9294114390625/8*g*d+192292021875/32*h*d-961460109375/32*g*a-1326151875/8*h*a+63075/2*c*d-15243125/4*a*e-63075/2*f*a+15243125/4*d*b+586226265188671875/256-46470571953125/32*a+6630759375/16*b+3048625*c+4042939759921875/64*d-192292021875/16*e-1326151875/16*f+4042939759921875/128*g+9294114390625/64*h, b*f-c*e+373248/343*e*h-373248/343*f*g-15552/49*b*h+15552/49*c*g+216/7*a*e*h-216/7*a*f*g-216/7*d*b*h+216/7*d*c*g+1114512556032/117649*g*d+5804752896/16807*h*d-29023764480/16807*g*a-161243136/2401*h*a+31104/49*c*d-3732480/343*a*e-31104/49*f*a+3732480/343*d*b+2166612408926208/5764801-1393140695040/117649*a+403107840/2401*b+2985984/343*c+60183678025728/823543*d-11609505792/16807*e-80621568/2401*f+30091839012864/823543*g+139314069504/117649*h, b*f-c*e-5735339/9261*e*h+5735339/9261*f*g-32041/147*b*h+32041/147*c*g-179/7*a*e*h+179/7*a*f*g+179/7*d*b*h-179/7*d*c*g+263152907559368/85766121*g*d-183765996899/1361367*h*d+918829984495/1361367*g*a-2053251362/64827*h*a+64082/147*c*d+57353390/9261*a*e-64082/147*f*a-57353390/9261*d*b+1053960288888713761/12607619787-328941134449210/85766121*a+5133128405/64827*b-45882712/9261*c-11776092613281718/600362847*d+367531993798/1361367*e-1026625681/64827*f-5888046306640859/600362847*g+32894113444921/85766121*h, b*f-c*e+16194277/24389*e*h-16194277/24389*f*g-192027/841*b*h+192027/841*c*g+759/29*a*e*h-759/29*a*f*g-759/29*d*b*h+759/29*d*c*g+2098036860421832/594823321*g*d+3109738429479/20511149*h*d-15548692147395/20511149*g*a-24582912486/707281*h*a+384054/841*c*d-161942770/24389*a*e-384054/841*f*a+161942770/24389*d*b+50359965524527891683/500246412961-2622546075527290/594823321*a+61457281215/707281*b+129554216/24389*c+398102494265042622/17249876309*d-6219476858958/20511149*e-12291456243/707281*f+199051247132521311/17249876309*g+262254607552729/594823321*h, b*f-c*e-4913/12167*e*h+4913/12167*f*g-867/529*b*h+867/529*c*g-51/23*a*e*h+51/23*a*f*g+51/23*d*b*h-51/23*d*c*g+193100552/148035889*g*d-4259571/6436343*h*d+21297855/6436343*g*a-501126/279841*h*a+1734/529*c*d+49130/12167*a*e-1734/529*f*a-49130/12167*d*b+20927272323/78310985281-241375690/148035889*a+1252815/279841*b-39304/12167*c-2462032038/3404825447*d+8519142/6436343*e-250563/279841*f-1231016019/3404825447*g+24137569/148035889*h;

short=0;

int i,j; / fprintf(l, "Polys:=["); for (i=1; i<=7; i=i+1) {

fprintf(l, " %s,",I[i]);

} fprintf(l, " %s]:",I[8]); / fprintf(l, "Vars:=[a,b,c,d,e,f,g,h]:");

def AC=solve(I,100,0,"nodisplay"); setring AC; size(SOL);

fprintf(l, "Points:=[");

for (i=1; i<=size(SOL); i=i+1) {

fprintf(l, "["); for (j=1; j<=7; j=j+1) {

fprintf(l, " %s,", SOL[i][j]);

}

fprintf(l, " %s],", SOL[i][8]);

} fprintf(l, "NULL]:");

quit;

Change History (1)

comment:1 Changed 12 years ago by seelisch

Owner: changed from somebody to keilen@…
Note: See TracTickets for help on using tickets.