3 1. For $bessel_y, the argument order was changed. Corrected
4 call to $bessel_y in $spherical_bessel_y. Under GCL, all
7 2. Change to (in-package :maxima)
9 3. Changed to version 1.0. The version identifier is now a float.
10 This allows easier testing.
12 4. Removed the claim that this is a preliminary version--orthopoly is
13 better tested and has fewer bugs than does specfun.
17 1. Replaced kron_delta with the one from nset.
19 2. Made kron_delta and unit_step functions autoload -- actually
20 the simplifying routines for these functions autoload.
22 3. Added test for (consp (car e)) in intervalp; new function is
25 (and (consp a) (consp (car a)) (eq (caar a) '$interval)))
27 4. Added tex support for unit_step;
31 $$\Theta\left(x\right)$$
33 4. Made version 0.94 available.
37 1. Changed version identifier from 0.93 to 0.94.
39 2. Fixed bug in summation representation for hypergeo11 -- the
40 arguments to pochhammer were backwards. This bug wasn't detected
41 by anything in test_orthopoly. Yikes. Added some tests for this case
42 in test_orthopoly.mac. All 146 tests pass.
44 3. At least for now, I now allow hypergeo11 and hypergeo21 to
45 return summations regardless of the main variable. Specifically,
46 I changed use-hypergeo to
48 (defun use-hypergeo (n x)
50 (or (and (integerp n) (> n -1))
51 ($featurep n '$integer)))
52 ; (and ($featurep n '$integer) ($ratnump x))))
55 -------------------------------------------------------------
59 1. Announced version 0.93.
61 -----------------------------------------------------------------
64 1. Added check in orthopoly_weight that checks that all parameters
65 (non-main variables) are free of the integration variable.
67 2. Added an autoload for orthopoly_weight in orthopoly-init.lisp.
69 3. Now allow the main variable in orthopoly_weight to be a subscripted
72 4. Fixed A & S references in documentation. Fixed some spelling errors
75 --------------------------------------------------------------------
78 1. Added orthopoly_weight. And that's it folks! No more new functions
79 allowed in orthopoly. Yeah. Added documentation for orthopoly_weight
80 and added checks in test_orthopoly.mac.
82 2. Changed a (= ...) to a (like ...) in hypergeo21 and hypergeo11
85 ((and (integerp n) (> n -1))
86 (cond ((and (like a (- n)) (use-float b c x))
88 Now a call such as hypergeo21(a,b,c,x,inf) works okay; however, orthopoly
89 never calls hypergeo21 or hypergeo11 with a symbolic first argument.
91 ---------------------------------------------------------------------
94 1. Added tests for kron_delta.
96 2. Added orthopoly_recur function; added tests in test_orthopoly
97 for the recursion relations; added user documentation for
98 orthopoly_recur; added autoload for orthopoly_recur.
100 3. Added brief documentation about the algorithms used by orthopoly.
102 4. Changed "laaguerre" to "laguerre" in gradef for laguerre.
104 --------------------------------------------------------------
108 1. Added note in documentation about loading orthopoly before using
109 any functions; otherwise, a user can be stuck with needing to use
110 upper case function identifiers -- yech. This doesn't apply if the
111 initialization file uses the appropriate setup_autoload statements.
113 2. Added note in documentation about numerical evaluation of pochhammer
114 for orders exceeding pochhammer_max_index.
116 3. Added a new function pochhammer-quotient -- it computes the quotient
117 of two pochhammer functions with the same order but different arguments.
118 The new function is used in a few places to compute normalizations.
119 This new scheme prevents some overflow and (I suppose) underflows that
120 could happen for orthogonal polynomials with large order.
122 4. Added gradef for pochhammer. I expressed the derivatives in terms
123 of the psi function -- when n is a positive integer psi(x+n) - psi(x)
124 is expressible as a finite sum. I didn't use a sum representation
125 because of the trouble of introducing a dummy summation index. The
126 downside of this is Maxima doesn't recognize that psi(x+1)-psi(x) = 1/x,
127 psi(x+2)-psi(x) = ....
129 5. Bug in pochhammer with negative order; correct relation is
130 pochhammer(x,-n) = (-1)^n / pochhammer(1-x,n). Added tests for
131 pochhammer and its gradient.
133 6. Extended makegamma1 (in asum.lisp) to be able to convert pochhammer
134 symbols to gamma form; thus pochhammer(x,n) => gamma(x+n) / gamma(x).
136 7. Re-did documentation on pochhammer.
138 -------------------------------------------------------
141 1. Changed version identifier from 0.92 to 0.93.
143 2. Replaced hyphens in file names to underscores.
145 3. Added note in documentation that orthopoly functions map over lists and
148 4. Added note in documentation about the shifted functions.
150 5. Fixed bug in pochhammer; the option variable pochhammer_max_index
151 was being ignored. Added documentation on pochhammer_max_index.
153 6. Added section in documentation on how to use plot together with
156 -------------------------------------------------------------------
159 1. Fixed a misplaced absolute value in interval-mult.
161 ------------------------------------------------------------------
164 1. New algorithm for spherical bessel functions; they are based on A&S
165 10.1.8 and 10.1.9. Much faster than old code; spherical_bessel_j now
166 traps for a zero argument and no longer gives a divide by zero for that
167 case. Purloined code from specfun.mac
169 2. csign doesn't accept CRE arguments; added $ratdisrep to csign in
170 spherical_bessel_j. Do I need $ratdisrep on other csign calls?
172 3. New algorithm for the associated Legendre polynomials of the second
173 kind. Uses forward degree recursion plus it special-cases
174 asssoc_legendre_q(n,n,x).
176 4. Changed my generic-autoload function to write the file name to
177 *standard-output* as it loads; nice when you have multiple versions
178 and you're not sure which version gets loaded.
180 ---------------------------------------------------------------
183 1. Switched to use bessel.lisp to support the spherical bessel functions.
184 The function $bessel_j has a bug in it; placed a fix in orthopoly-init.lisp.
185 Before, floating point evaluation for spherical_bessel_j and
186 spherical_bessel_y were done via the spherical hankel functions; this
187 approach is floating point "hostile." Now we use slatec code for floating
188 point evaluation -- downside, we don't get an error estimate.
190 For now, I still use my hypergeo21-float function for the
191 spherical hankel functions.
194 ----------------------------------------------------------------
197 1. Added note to user documentation about how apply float to something
198 like assoc_legendre_p(n,2,1/2) is hazardous.
200 2. Restored the summation representation feature. Added tests for the
201 summation representation. Now I demand that the "main" variable be
202 a constant in order to get a sum representation; this eliminates
203 the problem with the bug / feature ev(sum(x^k,k,0,n),x=0) => 0.
205 3. Now I define assoc_legendre_q(n,m,x) only for |m| <= n. This solves
206 a problem with the gradef for assoc_legendre_q that gave incorrect values
207 for |m| > n. Note the Wronskian of P^m_n and Q^m_n suggests that we
208 shouldn't allow Q^m_n with |m| > n.
211 ----------------------------------------------------------------
215 1. Replaced code for assoc_legendre_q by a more efficient algorithm.
216 Added more tests for the associated legendre q functions (A & S 8.5.3).
218 2. Added gradef for legendre_q and a test for it in test_orthopoly.
219 The gradef involves a kron_delta. Removed the claim in the documentation
220 that orthopoly doesn't use kron_delta.
222 3. Added gradef for assoc_legendre_q and a test for it in test_orthopoly.
224 ----------------------------------------------------------------
228 1. Made a few changes to user documentation in (I hope) increase
229 clarity of installation instructions.
231 2. Changed file name maxima-init.lisp to orthopoly-init.lisp.
235 1. Floating point values returned by assoc_legendre_p have errors
236 that are too large. Fix: missing factor of machine epsilon
239 ------------------------------------------------------------------
243 1. Fixed miscellaneous grammar problems in the user documentation.