gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] gcl-2.6.8-pre and maxima


From: Andrey G. Grozin
Subject: [Gcl-devel] gcl-2.6.8-pre and maxima
Date: Tue, 29 Dec 2009 23:44:19 +0600 (NOVT)
User-agent: Alpine 1.10 (LRH 962 2008-03-14)

Hello *,
Happy New Year to everybody!

Recently I compiled maxima-5.20.1 (the latest released version) by as many lisps as I could (on a Gentoo Linux x86 box), and run its testsuits. In particular, I checked out gcl-2.6.8 pre from cvs a few days ago, configured it with --enable-dynsysgmp --disable-xdr --enable-maxpage=131072 and compiled. Only 3 lisps gave no unexpected errors: clisp-2.48, sbcl-1.0.33, and clozurecl-1.4. gcl gave a large number of errors in the testsuit. Real times (in seconds) of running it are:

clisp-2.48     1602
cmucl-20a       663
sbcl-1.0.33     892
gcl-2.6.8 pre   818
clozurecl-1.4  1390
ecl-9.12.3     2191

Unexpected errors in maxima compiled by gcl are:

rtest14:
********************** Problem 151 ***************
Input:
closeto(gamma(%i + 1) - (0.49801566811836 - 0.15494982830181 %i), 1.0E-14)


Result:
gamma: overflow in GAMMA-LANCZOS.
gamma: overflow in GAMMA-LANCZOS.
error-catch

This differed from the expected result:
true

(also problems 152, 153)

rtest15:
********************** Problem 231 ***************
Input:
ev(Y1, numer)


Result:
error-catch

This differed from the expected result:
[0.16010712672873, 0.31821739764818, 0.67928220872456, - 0.25544752010866,
0.45500004582164, 1.513096652187913, 1.631906796078438, 1.153564994895108,
- 1.945910149055313, 0.93543756289255, 6.548062940247834,
1.427448757889531 %i, 0.14384103622589 - 1.570796326794897 %i,
2.644120761058629, 2.633915793849633, 0.1423756431678, 0.14384103622589,
1.010221447322645, 7.047554385466551, 6.976247043798608, 0.98988197355171,
0.14334354757246, 0.14189319376693, 0.37796447300923, 1.427448757889531,
1.428899272190733, 1.570796326794897 - 2.633915793849634 %i,
2.633915793849634 %i, 0.14334756890537, 0.14189705460416, 0.98981326044662,
6.952316038379697, 7.023866335396166, 1.010291577169605, 0.14237172979226,
0.14383695943619, 0.15415067982726, 0.14831179749879, 0.14552316969849,
- 7.363980242224349, 50.3574714369117, - 687.6815220686585]

(similarly 232, 234, 235, 237, 238, 240, 241, 243, 244)

rtest3:
********************** Problem 82 ***************
Input:
ev(%, numer)


Result:
1.0

This differed from the expected result:
3.679093980405881

rtest_trig:
********************** Problem 58 ***************
Input:
block([buggy : []], for f in invhtrig do (triginverses : true,
xtrig : subst(f, x, htrig), triginverses : false,
xtrig : xtrig - subst(f, x, htrig), xtrig :
buildq([L : map(nounify(cabs), xtrig)], lambda([], L)),
                             i
for i thru 9 do block([xi : ----, xtrigi],
                            10.0
xtrigi : apply(buildq, [[funmake(:, ['x, xi])], xtrig]),
if apply('max, ev(xtrigi(), nouns)) >= 9.9999999999999998E-13
 then buggy : cons(xtrigi, buggy))), buggy)


Result:
[lambda([], [abs(0.9 - cosh(acosh(0.9))),
abs(sqrt(0.9 - 1) sqrt(0.9 + 1) - sinh(acosh(0.9))),
!sqrt(0.9 - 1) sqrt(0.9 + 1)                   !
!--------------------------- - tanh(acosh(0.9))!, 0, 0, 0]),
!            0.9                               !
lambda([], [abs(0.8 - cosh(acosh(0.8))),
abs(sqrt(0.8 - 1) sqrt(0.8 + 1) - sinh(acosh(0.8))),
!sqrt(0.8 - 1) sqrt(0.8 + 1)                   !
!--------------------------- - tanh(acosh(0.8))!, 0, 0, 0]),
!            0.8                               !
lambda([], [abs(0.7 - cosh(acosh(0.7))),
abs(sqrt(0.7 - 1) sqrt(0.7 + 1) - sinh(acosh(0.7))),
!sqrt(0.7 - 1) sqrt(0.7 + 1)                   !
!--------------------------- - tanh(acosh(0.7))!, 0, 0, 0]),
!            0.7                               !
lambda([], [abs(0.6 - cosh(acosh(0.6))),
abs(sqrt(0.6 - 1) sqrt(0.6 + 1) - sinh(acosh(0.6))),
!sqrt(0.6 - 1) sqrt(0.6 + 1)                   !
!--------------------------- - tanh(acosh(0.6))!, 0, 0, 0]),
!            0.6                               !
lambda([], [abs(0.5 - cosh(acosh(0.5))),
abs(sqrt(0.5 - 1) sqrt(0.5 + 1) - sinh(acosh(0.5))),
!sqrt(0.5 - 1) sqrt(0.5 + 1)                   !
!--------------------------- - tanh(acosh(0.5))!, 0, 0, 0]),
!            0.5                               !
lambda([], [abs(0.4 - cosh(acosh(0.4))),
abs(sqrt(0.4 - 1) sqrt(0.4 + 1) - sinh(acosh(0.4))),
!sqrt(0.4 - 1) sqrt(0.4 + 1)                   !
!--------------------------- - tanh(acosh(0.4))!, 0, 0, 0]),
!            0.4                               !
lambda([], [abs(0.3 - cosh(acosh(0.3))),
abs(sqrt(0.3 - 1) sqrt(0.3 + 1) - sinh(acosh(0.3))),
!sqrt(0.3 - 1) sqrt(0.3 + 1)                   !
!--------------------------- - tanh(acosh(0.3))!, 0, 0, 0]),
!            0.3                               !
lambda([], [abs(0.2 - cosh(acosh(0.2))),
abs(sqrt(0.2 - 1) sqrt(0.2 + 1) - sinh(acosh(0.2))),
!sqrt(0.2 - 1) sqrt(0.2 + 1)                   !
!--------------------------- - tanh(acosh(0.2))!, 0, 0, 0]),
!            0.2                               !
lambda([], [abs(0.1 - cosh(acosh(0.1))),
abs(sqrt(0.1 - 1) sqrt(0.1 + 1) - sinh(acosh(0.1))),
!sqrt(0.1 - 1) sqrt(0.1 + 1)                   !
!--------------------------- - tanh(acosh(0.1))!, 0, 0, 0])]
!            0.1                               !

This differed from the expected result:
[]

********************** Problem 61 ***************
Input:
block([buggy : []], for f in alltrig do for p in pts do block([e,
fop : op(f)], e : buildq([p, fop], lambda([],
cabs(float(rectform(fop(p))) - fop(float(p))))),
if e() > 1.0E-13 then buggy : cons(e, buggy)), buggy)


Result:
error-catch

This differed from the expected result:
[]

rtest_gamma:
********************** Problem 57 ***************
Input:
closeto((%i + 1.3)!,
5.406144679098492753783510221774150545811250310680842509749769021b-1 %i
 + 7.191409365372817791473038599462048083254863806205029128993808432b-1,
1.0E-14)


Result:
gamma: overflow in GAMMA-LANCZOS.
error-catch

This differed from the expected result:
true

(similarly 58, 59, 121, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 150, 152, 153, 155, 183, 208, 209, 210, 211, 212, 329, 331, 333, 335, 337, 339, 343, 345, 347, 349, 360, 362, 364, 366, 368, 371, 373, 385, 387, 397, 405, 433, 465, 467)

********************** Problem 271 ***************
Input:
closeto(gamma_incomplete(0, 5.0b-1), 5.5977359477616081174679593931509b-1,

1.0b-30)


Result:
fplog: argument must be positive; found: 0
error-catch

This differed from the expected result:
true

(similarly 272, 273, 274, 279, 280, 281, 282)

********************** Problem 513 ***************
Input:
closeto(erf(%i - 0.75),
5.39788632227100129936591912063260716699852732091113612337142798b-1 %i
 - 1.372897192365736489613456241111589390954675856186764729607156305b0,
5.0E-15)


Result:
1.475201161973283433571521529724093004245407004777100353139451755b0

This differed from the expected result:
true

(similarly 514, 515, 516, 543, 544, 649, 650, 651, 652, 653, 654, 659, 660, 661)

********************** Problem 600 ***************
Input:
relerror(fresnel_s(%i + 2.0),
- 3.672546488399143842838787627677917885752587065976755449373500438b1 %i
 - 1.55877511044045873274827879779788164319873037890410184689856261b1,
4.0000000000000001E-13)


Result:
1.0b0

This differed from the expected result:
true

(similarly 602, 622, 624, 674, 675, 676, 677, 678, 679, 680)

********************** Problem 643 ***************
Input:
                        1
beta_incomplete(1.0, 2, -)
                        2


Result:
0.875

This differed from the expected result:
0.375

********************** Problem 646 ***************
Input:
                             1
beta_incomplete(1.0, 2, %i + -)
                             2


Result:
0.5 %i + 1.375

This differed from the expected result:
0.5 %i + 0.875

********************** Problem 658 ***************
Input:
                                    3
closeto(float(beta_incomplete(1, 2, -)) - beta_incomplete(1.0, 2.0, 1.5), 0.0,
                                    2

1.0000000000000001E-15)


Result:
0.5

This differed from the expected result:
true

********************** Problem 662 ***************
Input:
                                 5       3
closeto(float(beta_incomplete(2, -, %i + -))
                                 2       2
- beta_incomplete(2.0, 2.5, %i + 1.5), 0.0, 1.0000000000000001E-15)


Result:
      0.5069651361378                    2
sqrt((--------------- - 0.97533390711133)
            5/2
           2

4.558539125134461 2
+ (0.80584348192169 - -----------------) )
                                                                  5/2
                                                                 2

This differed from the expected result:
true

rtest_expintegral:
********************** Problem 106 ***************
Input:
test_value(expintegral_e(%i - 0.25, 0.5),
0.70296755533484 - 1.085458385940826 %i, 15)


Result:
gamma: overflow in GAMMA-LANCZOS.
error-catch

This differed from the expected result:
true

(similarly 107)

As you can see, there are a lot of test failures, mainly in numerics (though in 1 case gcl-maxima produced a result which is not numeric at all). Many of them are related to overflows in GAMMA-LANCZOS, but there are a lot of others.

I remember that a few years ago gcl-maxima passed all tests. True, a lot of tests are new, and test new code in maxima (in particular, gamma-related stuff).

Is there any hope that gcl will improve and gcl-maxima will pass all tests (like clisp, sbcl, clozurecl)? gcl maxima is still fast. I don't know if the testsuit can serve as a reasonable benchmark or not, but according to it, only cmucl is faster. cmucl maxima also has some test failures, though not as many as gcl (some of them coinside).

By the way, gcl was "masked" in Gentoo (meaning that Gentoo users cannot install it without some extra special efforts), and gcl-based maxima too. The recommended common lisp for running maxima in Gentoo is sbcl.

best wishes to everybody in the new year,

Andrey




reply via email to

[Prev in Thread] Current Thread [Next in Thread]