Implementation of the Struve H and L functions



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