13 December 2005

1. For $bessel_y, the argument order was changed.  Corrected
call to $bessel_y in  $spherical_bessel_y. Under GCL, all
tests pass.

2. Change to (in-package :maxima)

3. Changed to version 1.0.  The version identifier is now a float.
This allows easier testing.

4. Removed the claim that this is a preliminary version--orthopoly is
better tested and has fewer bugs than does specfun.
 
29 August 2003

1. Replaced kron_delta with the one from nset.

2. Made kron_delta and unit_step functions autoload -- actually
the simplifying routines for these functions autoload.

3. Added test for (consp (car e)) in intervalp; new function is

(defun $intervalp (a)
  (and (consp a) (consp (car a)) (eq (caar a) '$interval)))

4. Added tex support for unit_step; 
(C1) unit_step(x);
(D1) 				 UNIT_STEP(x)
(C2) tex(%);
$$\Theta\left(x\right)$$

4. Made version 0.94 available.

16 July 2003

1. Changed version identifier from 0.93 to 0.94.

2. Fixed bug in summation representation for hypergeo11 -- the
arguments to pochhammer were backwards. This bug wasn't detected
by anything in test_orthopoly.  Yikes. Added some tests for this case
in test_orthopoly.mac.  All 146 tests pass.

3. At least for now, I now allow hypergeo11 and hypergeo21 to 
return summations regardless of the main variable.  Specifically,
I changed use-hypergeo to

(defun use-hypergeo (n x)
  (declare (ignore x))
  (or (and (integerp n) (> n -1))
      ($featurep n '$integer)))
;      (and ($featurep n '$integer) ($ratnump x))))


-------------------------------------------------------------

9 July 2003

1. Announced version 0.93.

-----------------------------------------------------------------
7 July 2003

1.  Added check in orthopoly_weight that checks that all parameters 
(non-main variables) are free of the integration variable.

2. Added an autoload for orthopoly_weight in orthopoly-init.lisp.

3. Now allow the main variable in orthopoly_weight to be a subscripted
variable.

4. Fixed A & S references in documentation.  Fixed some spelling errors
in documentation.

--------------------------------------------------------------------
6 July 2003

1.  Added orthopoly_weight.  And that's it folks! No more new functions
allowed in orthopoly.  Yeah.  Added documentation for orthopoly_weight
and added checks in test_orthopoly.mac.

2.  Changed a (= ...) to a (like ...)  in hypergeo21 and hypergeo11
Specifically

	((and (integerp n) (> n -1))
	 (cond ((and (like a (- n)) (use-float b c x))

Now a call such as hypergeo21(a,b,c,x,inf) works okay; however, orthopoly
never calls hypergeo21 or hypergeo11 with a symbolic first argument.

---------------------------------------------------------------------
30 June 2003

1. Added tests for kron_delta.

2. Added orthopoly_recur function; added tests in test_orthopoly
for the recursion relations; added user documentation for 
orthopoly_recur; added autoload for orthopoly_recur.

3. Added brief documentation about the algorithms used by orthopoly.

4. Changed "laaguerre" to "laguerre" in gradef for laguerre.

--------------------------------------------------------------

27 June 2003

1.  Added note in documentation about loading orthopoly before using
any functions; otherwise, a user can be stuck with needing to use
upper case function identifiers -- yech.  This doesn't apply if the 
initialization file uses the appropriate setup_autoload statements.

2. Added note in documentation about numerical evaluation of pochhammer
for orders exceeding pochhammer_max_index.

3. Added a new function pochhammer-quotient  -- it computes the quotient
of two pochhammer functions with the same order but different arguments. 
The new function is used in a few places to compute normalizations.
This new scheme prevents some overflow and (I suppose) underflows that
could happen for orthogonal polynomials with large order.  

4. Added gradef for pochhammer. I expressed the derivatives in terms
of the psi function  -- when n is a positive integer psi(x+n) - psi(x)
is expressible as a finite sum.  I didn't use a sum representation
because of the trouble of introducing a dummy summation index. The 
downside of this is Maxima doesn't recognize that psi(x+1)-psi(x) = 1/x,
psi(x+2)-psi(x) = ....

5. Bug in pochhammer with negative order; correct relation is
pochhammer(x,-n) = (-1)^n / pochhammer(1-x,n).  Added tests for
pochhammer and its gradient.

6. Extended makegamma1 (in asum.lisp) to be able to convert pochhammer
symbols to gamma form; thus pochhammer(x,n) => gamma(x+n) / gamma(x).

7. Re-did documentation on pochhammer.

-------------------------------------------------------
16 June 2003

1. Changed version identifier from 0.92 to 0.93.

2. Replaced hyphens in file names to underscores.

3. Added note in documentation that orthopoly functions map over lists and
matrices.

4. Added note in documentation about the shifted functions.

5. Fixed bug in pochhammer; the option variable pochhammer_max_index
was being ignored. Added documentation on pochhammer_max_index.

6. Added section in documentation on how to use plot together with
orthopoly.

-------------------------------------------------------------------
7 June 2003

1. Fixed a misplaced absolute value in interval-mult.

------------------------------------------------------------------
14 May 2003

1. New algorithm for spherical bessel functions; they are based on A&S
10.1.8 and 10.1.9.  Much faster than old code; spherical_bessel_j now
traps for a zero argument and no longer gives a divide by zero for that
case. Purloined code from specfun.mac

2. csign doesn't accept CRE arguments; added $ratdisrep to csign in
spherical_bessel_j.  Do I need $ratdisrep on other csign calls?

3. New algorithm for the associated Legendre polynomials of the second
kind. Uses forward degree  recursion plus it special-cases 
asssoc_legendre_q(n,n,x).

4. Changed my generic-autoload function to write the file name to
*standard-output* as it loads; nice when you have multiple versions
and you're not sure which version gets loaded.

---------------------------------------------------------------
11 May 2003

1. Switched to use bessel.lisp to support the spherical bessel functions.
The function $bessel_j has a bug in it; placed a fix in orthopoly-init.lisp.
Before, floating point evaluation for spherical_bessel_j and 
spherical_bessel_y were done via the spherical hankel functions; this 
approach is floating point "hostile."  Now we use slatec code for floating
point evaluation -- downside, we don't get an error estimate. 

For now, I still use my hypergeo21-float function for the 
spherical hankel functions.


----------------------------------------------------------------
9 May 2003

1. Added note to user documentation about how apply float to something 
like assoc_legendre_p(n,2,1/2) is hazardous.

2. Restored the summation representation feature. Added tests for the 
summation representation. Now I demand that the "main" variable be
a constant in order to get a sum representation; this eliminates
the problem with the bug / feature ev(sum(x^k,k,0,n),x=0) => 0.

3. Now I define assoc_legendre_q(n,m,x) only for |m| <= n.  This solves
a problem with the gradef for assoc_legendre_q that gave incorrect values
for |m| > n.  Note the Wronskian of P^m_n and Q^m_n suggests that we
shouldn't allow Q^m_n with  |m| > n.


----------------------------------------------------------------

6 May 2003

1. Replaced code for assoc_legendre_q by a more efficient algorithm.
Added more tests for the associated legendre q functions (A & S 8.5.3).

2. Added gradef for legendre_q and a test for it in test_orthopoly.
The gradef involves a kron_delta. Removed the claim in the documentation
that orthopoly doesn't use kron_delta.

3. Added gradef for assoc_legendre_q and a test for it in test_orthopoly.

----------------------------------------------------------------

1 May 2003

1. Made a few changes to user documentation in (I hope) increase
clarity of installation instructions.

2. Changed file name maxima-init.lisp to orthopoly-init.lisp.

30 April 2003

1. Floating point values returned by assoc_legendre_p have errors
that are too large. Fix: missing factor of machine epsilon 
multiplying dx.

------------------------------------------------------------------

30 April 2003

1. Fixed miscellaneous grammar problems in the user documentation.


