I came across a list that seems to expose a bug in "lmin." The list is:
Q: [0, (10*sqrt(3019)-653)/(10*sqrt(3019)-800),
-(1243*sqrt(3019)-65630)/(1600*sqrt(3019)-94190),
(12270806*sqrt(3019)-674213245)/(15070400*sqrt(3019)-830019805),
-(1534218310305203*sqrt(3019)-84298201004276722)/(2001396875083520*sqrt(3019)-109967917387142242),
(877822352489691153078985106965453*sqrt(3019)-48232324401355597222123482321934010)/
(1100447231090345843897339350259200*sqrt(3019)-60464543522069663495052507120510410)]$
lmin(Q); produces a "Division by 0" error message - on the other hand, lmin(float(Q)); or also lmin(Q), numer; both yield - 0.089597918818624. lmax(Q) works properly, but -lmax(-Q) also yields a "Divide by 0" error, not too surprisingly.
A workaround it to set algebraic : true.
A workaround it to set algebraic : true.
I believe the trouble is in computing the sign of:
(%i62) (94648962737729943093436340438935374529647608621614*sqrt(3019)-5200527717336367518913170807682526084100767540599370)/(60506859663968574059067272189736794088560937142400*sqrt(3019)-3324575269180571635805235048597996242355104695758805);
(%o62) (94648962737729943093436340438935374529647608621614*sqrt(3019)-5200527717336367518913170807682526084100767540599370)/(60506859663968574059067272189736794088560937142400*sqrt(3019)-3324575269180571635805235048597996242355104695758805)
(%i63) sign(%);
Division by 0
The number is actually not so complicated:
(%i64) ratsimp(%o62), algebraic : true;
(%o64) -(2*sqrt(3019)-70)/115
(%i65) sign(%);
(%o65) neg
I think the error is not in sign but in $float:
(94648962737729943093436340438935374529647608621614*sqrt(3019)
-5200527717336367518913170807682526084100767540599370)
/(60506859663968574059067272189736794088560937142400*sqrt(3019)
-3324575269180571635805235048597996242355104695758805)
(%i73) float(%);
Division by 0
-- an error. To debug this try: debugmode(true);
Dieter Kaiser