Ticket #1109 (new enhancement)

Opened 7 months ago

Last modified 7 months ago

Implement complex-order Bessel functions

Reported by: ariel Owned by: pv
Priority: normal Milestone: 0.8.0
Component: scipy.special Version: 0.7.0
Keywords: Cc:

Description

I have noticed that the Bessel function yv does not accept complex arguments, is there a bug or is it meant to be like that? If so, is there a patch or package to compute Bessel functions of second kind with complex arguments?

Thanks in advance

Ariel

Change History

Changed 7 months ago by pv

  • owner changed from somebody to pv
  • component changed from Other to scipy.special
  • summary changed from Bessel functions of second kind do not accept complex arguments to Bessel functions of second kind do not accept complex order

Bessel functions of complex argument work,

>>> import scipy, scipy.special as sc
>>> scipy.__version__
'0.7.1'
>>> sc.yv(3, 1+2j)
(0.29015329423954583-0.21211877047925784j)

There's no implementation of complex-order Bessel functions at the moment, however,

>>> sc.yv(3j, 1+2j)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: function not supported for these types, and can't coerce safely to supported types

Changed 7 months ago by pv

  • type changed from defect to enhancement
  • summary changed from Bessel functions of second kind do not accept complex order to Implement complex-order Bessel functions

The most direct way to complex-order Bessels is probably via adding complex-a or a,b support in hyp0f1 or hyp1f1. Also these currently accept only real a,b (although they do accept complex z).

Note: See TracTickets for help on using tickets.