[Maxima] Implementation of the Struve H and L functions

Dieter Kaiser drdieterkaiser at web.de
Wed Oct 28 11:28:01 CDT 2009

Am Mittwoch, den 28.10.2009, 17:21 +0100 schrieb Dieter Kaiser:
> Am Mittwoch, den 28.10.2009, 17:08 +0100 schrieb Dieter Kaiser:
>
> > To get the most simple results for the Struve L function it would be
> > nice to implement simplifications like
> >
> >    sinh(x-%i*%pi)   -> -sinh(x)
> >    sinh(x-%i*%pi/2) -> -%i*cosh(x)
> >
> > A more general rule can be obtained with the help of the following
> > formula:
> >
> >   sinh(a+b*%i) -> %i*cosh(a)*sin(b)+cos(b)*sinh(a)
> >
> > This can be done for cosh function too. I will try a general extension
> > to the simplifier of sinh and cosh.
>
> Sorry, we already have this simplification. It is the flag \$trigexpand
> which causes the above simplifications.

These are the more simple and expected results, when we use the flag
\$trigexpand in the routine for the expansion:

(%i53) factor(struve_l(1/2,z)),besselexpand:true;
(%o53) sqrt(2)*(cosh(z)-1)/(sqrt(%pi)*sqrt(z))

(%i54) factor(struve_l(3/2,z)),besselexpand:true;
(%o54) (2*z*sinh(z)-2*cosh(z)-z^2+2)/(sqrt(2)*sqrt(%pi)*z^(3/2))

(%i55) factor(struve_l(-1/2,z)),besselexpand:true;
(%o55) sqrt(2)*sinh(z)/(sqrt(%pi)*sqrt(z))

Dieter Kaiser