Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code
[maxima.git] / changelogs / ChangeLog-5.47.md
blob0194454d89850e941414cd295f9fbb374617c1f4
1 Maxima 5.47 change log
2 ======================
4 New items in core:
5 ------------------
6  * function powerseries: power series for function lambert_w
7    (thanks to Dimiter Prodanov)
8  * --init option strips any directories and the last extension from the
9    given value.  This value is used as the basename instead of
10    "maxima-init" for the name of the init file.  This is an incompatible
11    change.
12  * --init-mac and --init-lisp are now (deprecated) aliases for --preload.
13    This is an incompatible change.
14  * The variable $maxima_frontend_bugreportinfo allows the frontend to
15    tell bug_report() how to report frontend bugs.
17 New items in share:
18 -------------------
19  * package pslq: PSLQ algorithm for finding integer relations
20    among inexact numbers (thanks to Andrej Vodopivec)
21  * package nelder_mead: Nelder-Mead algorithm for minimization without
22    derivatives (thanks to Mario S. Mommer and Andrej Vodopivec)
23  * package decfp: exact decimal floats (thanks to Richard J. Fateman)
25 Changes in core:
26 ----------------
27  * Maxima/ABCL: Use the option --noinform for ABCL.
28    This suppresses the startup messages from ABCL, so that e.g. the Maxima
29    option --quiet *is* quiet.
30  * Fix command line options for Maxima with ABCL.
31  * Functions that return lambda expressions with free variables are
32    now translated correctly.  Previously many of these lambda expressions
33    would cause internal errors when called.
34  * Array functions and subscripted functions can now be translated.
35    Previously these would fail to translate with no explanation.
36  * configure: If the user doesn't specify a specific lisp maxima is compiled
37    with all suitable lisp compilers.
38  * --no-init now actually inhibits load if the user init files.
39  * Init files that are loaded are now printed on startup
40  * Add functions and variables for inspecting floating point properties
41    * Variables:  `most_positive_float`, `most_negative_float`, `least_positive_float`, `least_positive_normalized_float`, `least_negative_float`
42    * Functions: `float_eps`, `bitfloat_eps`, `float_precision`, `unit_in_last_place`, `is_power_of_two`, `scale_float`, `decode_float`, `integer_decode_float`
43  * Simplify `elliptic_kc((sqrt(3)+2)/4)`
44  * Fix bug in converting `inverse_jacobi_ds` to `elliptic_f`.
45  * bfallroots with integer coefficients was not returning roots with the specified precision.
46  * Add hypergeometric representations for `elliptic_ec`, `elliptic_kc`, `expintegral_chi`, `expintegral_ci`, `expintegral_shi`, `expintegral_si`, `expintegral_li`, `expintegral_ei`, `expintegral_e`
47  * `hgfred` can simplify some 2F2 functions to `expintegral_ci`.
48  * `hgfred` can simplify some 1F2 functions to `expintegral_si`.
49  * Reject invalid values for `debugmode`.
50  * `disp_time` variable removed because it was undocumented and didn't actually do anything.
51  * Floats are displayed readably by default (fpprintprec = 0)
52  * Function `texput`: punt to previously defined TeX output function
53    when `false` is returned
54  * Strings are comparable under "<", "<=", ">=", ">"
55  * Function `plot2d`: new option `gnuplot_svg_background`
57 Changes in share:
58 -----------------
59  * package contrib_ode: Fix name of Clairaut differential equation
60    in code and documentation.  Was misspelled as Clairault.
61  * package tensor: commit code from Toth & Turyshev paper for trace-free
62    decomposition, for time and memory assessments
63  * package namespaces: expunge this package, moved to Github
64  * package ezunits: derive units for diff, integrate, and 'at'
65  * function mnewton: optional argument for the Jacobian
66  * function mnewton: revise mnewton for greater simplicity and speed
67  * Document `harmonic_number` and `harmonic_to_psi` functions from `simplify_sum`.
68  * package draw: allow points(...) to contain nonnumeric (including non-finite floats) data
69  * package draw: honor fill_density in errors, polygon, ellipse, bars, explicit, and region
70  * package descriptive: implementation of skyline (outline) histogram
71  * package descriptive: optional weight argument recognized by mean, var, std, and other functions
72  * package distrib: maximum likelihood estimators (`mle_something`) for several distributions
73  * package graphs: new functions `get_unique_vertex_by_label` and `get_all_vertices_by_label`
76 Changes in Xmaxima:
77 -------------------
79 Changes in the Windows installer:
80 ---------------------------------
81  * Update Gnuplot, SBCL, wxWidgets and TCL/TK.
82  * Compile a recent texinfo for building the installer. Maxima now needs
83    texinfo 6.8, but 6.7 is included in the usual build machines for
84    nightly builds, etc.
86 Bug fixes for numbered bugs:
87 ----------------------------
88  * \#545: multivar taylor gives 1^2
89  * \#608: taylor(x^a,[x],0,1) unsimplified
90  * \#1743: limit of trig expression
91  * \#3026: missing info files not well-handled
92  * \#3071: limit of expressions with signum not very powerful
93  * \#3136: gruntz(atan2(x^2-2,x^3-2*x),x,sqrt(2),minus) => atan2(0,0) undefined 
94  * \#3279: limit incorrect with domain:complex
95  * \#3280: gruntz incorrect limit
96  * \#3415: limit doesn't check for zero coefficients in limit((a*x+1)/(a*x+2),x,inf)
97  * \#3592: Wrong limit
98  * \#3631: gen_laguerre returns 0 to a negative exponent
99  * \#3834: abconvtest undocumented and possibly unused
100  * \#3848: ratsubst error ZEROP: ((MMINUS) 1) is not a number
101  * \#3926: Various limits give UND where they should give IND
102  * \#3953 Pressing q necessary to continue when plot2d output to svg
103  * \#3956 expand(1/((sqrt(2)-1)*(sqrt(2)+1))) => 1/1 (unsimplified)
104  * \#3963 trace doesn't detect calls to functions defined by DEFMFUN in Lisp code
105  * \#3958 plot2d with multiple discrete plots fails
106  * \#3959 plot2d + Gnuplot 4 with `plot title noenhanced`
107  * \#3965 maxima --list-avail fails with GCL, but works with ECL and SBCL
108  * \#3966 li[s](1) should be zeta(s) (with conditions on s)
109  * \#3967 elliptic_e(5*%pi/4,1) inconsistent with numerical evaluation
110  * \#3968 zeta(-r) should use analytic continuation?
111  * \#3970 draw does not do adequate argument checking
112  * \#3972: gcl only: Autocompletion inverts command case
113  * \#3982 tex complains about Unicode character in symbol
114  * \#3984 limit for und + something yields something instead of und
115  * \#3985: integrate(sin(x*cos(x)), x), risch; causes unlimited recursion
116  * \#3992 Add word to Integration.texi
117  * \#3996: parse_string fails to parse string which contains semicolon
118  * \#3998: Lisp error when parser encounters eof in a comment
119  * \#4008: translator and prederror
120  * \#4018: defint(foo,,0,inf) lisp error when denom(foo) contains %i
121  * \#4029 limit(cos(1/x)^2 + sin(1/x)^2 + cos(x),x,0) --> ind
122  * \#4035 Invisible characters should work better
123  * \#4036: prederror affects bigfloat calculations
124  * \#4043: bug in to_poly
125  * \#4045 Different results for integration in Maxima 5.45.1 and 5.46.0
126  * \#4046 plot2d legend option shows the wrong label in the list 
127  * \#4048 An incorrect limit
128  * \#4050: Maxima can't handle limits of Fibonacci expressions
129  * \#4056 Cannot create very large data array
130  * \#4060 Wrong limit of -3*li[3](-%e^x)+3*x*li[2](-%e^x)+x^3 at x -> inf
131  * \#4061 2.0^1024 gives "false" on second try
132  * \#4062 limit(li[3](x), x, inf) gives li[3](inf)
133  * \#4064 Simple limit triggers Lisp error "1 is not of type LIST"
134  * \#4077 Replace opcons with ftake*
135  * \#4084 Error in [lin]solve with orderless called before
136  * \#4088: maxima variable prefer_d undocumented
137  * \#4089 Specvar ans in schatc
138  * \#4090 output formatting: -x-1 has redundant parentheses: (-x)-1
139  * \#4092 Repeated factorial (n!)! displayed the same as double factorial n!!
140  * \#4094 Build warning in share: grep: warning: stray \ before #
141  * \#4029 limit(cos(1/x)^2 + sin(1/x)^2 + cos(x),x,0) --> ind
142  * \#4097 Bad string representation of integers in the first argument of `save`
143  * \#4100 On macOS, building Maxima has some issues
144  * \#4107 least_positive_float doesn't print/read correctly in float/bfloat
145  * \#4109 Limits of polylogarithms
146  * \#4112 Double superscript in tex(conjugate(z))^2
147  * \#4118 facsum + operator(".") + dotdistrib:true + GCL = FAIL
148  * \#4119 ECL fails decode_float(-0.25) test
149  * \#4120 is("foo"<3) gives internal error
151 Unnumbered bugs fixed:
152 ---------------------
153  * commit 7a7114c: avoid call to undefined function expintegral_ei
154  * commit fe1d8cf: avoid clobbering global state when autoloading
155  * commit 70a5f78: expunge calls to 'sign' in share package distrib
156  * commit 7bc968a: in printf, be more consistent about non-numeric argument for ~e, ~f, and ~g
158 Documentation:
159 --------------
160  * Help can use html docs instead of displaying help to the terminal.
161    This is enabled by setting output_format_for_help to 'html; it defaults
162    to 'text.  Use 'frontend to display help using Xmaxima, wxMaxima or
163    other frontends.
164  * Add documentation for trigtools to the manual.
165  * Some reordering of the trig functions in the manual.
166  * Some renaming of sections in the manual to be more explicit.
167  * Add more cross references.
168  * Add more examples for `erf_representation`, `hypergeometric_representation`, `expintrep`, `expintexpand`, `besselexpand`
169  * Add examples for the ggf package.
171 Build system:
172 -------------