Rename *ll* and *ul* to ll and ul in in-interval
[maxima.git] / share / orthopoly / changes_0.9_to_0.94.txt
blobbbfa2bf2b4e3d5cda3844874862059b8166f27d4
1 13 December 2005
3 1. For $bessel_y, the argument order was changed.  Corrected
4 call to $bessel_y in  $spherical_bessel_y. Under GCL, all
5 tests pass.
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.
15 29 August 2003
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
24 (defun $intervalp (a)
25   (and (consp a) (consp (car a)) (eq (caar a) '$interval)))
27 4. Added tex support for unit_step; 
28 (C1) unit_step(x);
29 (D1)                             UNIT_STEP(x)
30 (C2) tex(%);
31 $$\Theta\left(x\right)$$
33 4. Made version 0.94 available.
35 16 July 2003
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)
49   (declare (ignore x))
50   (or (and (integerp n) (> n -1))
51       ($featurep n '$integer)))
52 ;      (and ($featurep n '$integer) ($ratnump x))))
55 -------------------------------------------------------------
57 9 July 2003
59 1. Announced version 0.93.
61 -----------------------------------------------------------------
62 7 July 2003
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
70 variable.
72 4. Fixed A & S references in documentation.  Fixed some spelling errors
73 in documentation.
75 --------------------------------------------------------------------
76 6 July 2003
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
83 Specifically
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 ---------------------------------------------------------------------
92 30 June 2003
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 --------------------------------------------------------------
106 27 June 2003
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 -------------------------------------------------------
139 16 June 2003
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
146 matrices.
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
154 orthopoly.
156 -------------------------------------------------------------------
157 7 June 2003
159 1. Fixed a misplaced absolute value in interval-mult.
161 ------------------------------------------------------------------
162 14 May 2003
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 ---------------------------------------------------------------
181 11 May 2003
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 ----------------------------------------------------------------
195 9 May 2003
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 ----------------------------------------------------------------
213 6 May 2003
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 ----------------------------------------------------------------
226 1 May 2003
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.
233 30 April 2003
235 1. Floating point values returned by assoc_legendre_p have errors
236 that are too large. Fix: missing factor of machine epsilon 
237 multiplying dx.
239 ------------------------------------------------------------------
241 30 April 2003
243 1. Fixed miscellaneous grammar problems in the user documentation.