Maxima 5.20 change log Compiled 2009-12-13 Thanks to Dieter Kaiser for most of this text Backwards-incompatible changes: * removed package jtroot3 (superseded by bfallroots) * internal symbols of specint replaced by more descriptive names: %f --> hypergeometric %e --> elliptic_ec %kelliptic --> elliptic_kc %p[a,b,c] --> jacobi_p %p[a,b] --> assoc_legendre_p %p[a] --> legendre_p %q[a,b] --> assoc_legendre_q %q[a] --> legendre_q hstruve --> struve_h lstruve --> struve_l %d --> parabolic_cylinder_d %m --> whittaker_m %w --> whittaker_w %ei --> expintegral_ei %h[n,x] --> hankel_1 and hankel_2 %he --> hermite New items in core: * general mechanism for functions to distribute over operators (distribute_over declaration) Other revisions: * improved Laplace transforms of special functions * assume database: The inferences between the declarations of variables as integer, real, complex, .. have been cut out. The constant %i is declared to be imaginary. The constants %pi, %e, %gamma, %phi are declared to be real. The database handles expressions with constants more completely. Facts like assume(x < %pi/2) are now handled correctly. The sign of sums of constant expressions is determined more correctly. Askinteger take into account more facts from the database. * improvements of special functions: More functionality for the Hankel 1 and 2 functions: Expansion for a half integral order has been implemented. More consistent numerical evaluation of Bessel and Hankel functions. More general integrals for Bessel functions and implementation of integrals for the Airy functions. Gamma function accepts a Taylor expansion as an argument. Implementation of Struve H and L functions: Numerical evaluation for real and complex numbers in float and bigfloat precision. Handling of specific values. Derivatives of the functions and expansion for a half integral order is implemented. Adding mirror symmetry for the Airy functions. Improving the limits of the log and factorial functions. * package fft: revised for greater speed * package to_poly_solver: improvements * regularize error and warning messages, and translate via gettext (ongoing) * bug fixes and other improvements in plotting code * bug fixes in translator Bug fixes: 2906049: integration failure with option integrate_use_rootsof :true 2901855: limit(sqrt(x),x,minf) not fully evaluated 2886564: conjugate(atan2(y,x)) not simplified 2882408: solve_rat_ineq returns false answers 2876387: ode2 asks if sqrt(3) is an integer 2876284: nicedummies of subscripted 2876277: hgfred([3/2,-2],[5/2],-x) not fully simplified 2873057: incorrect version is reported in manual front page 2872605: abs_integrate bug 2872505: Assume database inconsistent after reset() 2847387: hgfred([3/2,-b],[5/2],-1) bogus 2843705: limit of psi[i] 2842198: next_prime speed improvement 2842060: unsimplified result from integrate 2841504: Limit of the factorial function - 4 problems 2840566: defint fails to determine if one of its limit is real 2836339: unsimplified negation 2835634: logcontract broken 2835098: SIGN-PREP strangeness 2834336: ratsimp vs facsum 2824360: missing bug reporting node in manual's detailed menu 2808568: Reserved words that aren't reserved 2802006: integrate(1/(sqrt(x)+1), x, 0, 1); 2770575: rtestsum test 226 2636628: solve_rat_ineq doesnt find all soloutions 2609426: integrate(cos(a)/sqrt((tan(a))^2+1), a,-%pi/2,%pi/2); 2148461: docs for factor refer to "the field of integers" 2018842: unsimplified result from jacobi_p 1977146: radexpand does not work as explained in documentation 1725951: unsimplified boolean 1646397: listofvars includes true 1551310: mod and floor should distribute over matrix and list 1038624: askinteger ignores asksign database 840360: qunit(4) internal errors 831163: part(x) should give warning 816797: limit(%i*log(a),a,0) nounform (%i*und problem) 788892: zeroa handled inconsistently 752067: Can't untrace ?meval 706455: Should powerseries do Laurent expansions? 652470: Pickapart error (due to MEMSIMILAR) 640332: Need to specdisrep more systematically 627759: Ratdisrep of aggregates