Subject: Implementation of the Struve H and L functions
From: Dieter Kaiser
Date: Wed, 28 Oct 2009 17:28:01 +0100
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