Special functions specfun.f
from SciPy.
The SciPy project rewrote specfun in C/C++ and deleted it
(last commit for specfun.f
),
then further rewrote it as a header-only C++ library (scipy/xsf).
- This project aims to keep the original CoSF
specfun.f
version as a reference for testing purposes. - This project does not accept any modifications for precision, errors, etc.
- This project will add algorithms that are only given in the CoSF book, but not included with
specfun.f
. - For a refactored version using modern fortran, see: jacobwilliams/specfun
C
C -----------------------
C 5. BESSEL FUNCTIONS
C -----------------------
C
C CJY01(Z, CBJ0,CDJ0,CBJ1,CDJ1, CBY0,CDY0,CBY1,CDY1):
C Compute complex Bessel Functions J0(z), J1(z),
C Y0(z), Y1(z), and their derivatives
C CJYNA(N,Z,NM, CBJ,CDJ,CBY,CDY)
C Compute Bessel functions Jn(z) and Yn(z) and
C their derivatives for a complex argument
C
C ------------------------------------
C 8. SPHERICAL BESSEL FUNCTIONS
C ------------------------------------
C
C CSPHJY(N,Z,NM, CSJ,CDJ,CSY,CDY)
C Compute spherical Bessel functions and their
C derivatives with a complex argument
C CSPHIK(N,Z,NM, CSI,CDI,CSK,CDK)
C Compute modified spherical Bessel functions
C and their derivatives with a complex argument
C
C -----------------------
C 11. STRUVE FUNCTIONS
C -----------------------
C
C STVH0(X,SHO): Compute struve function H0(x)
C STVH1(X,SH1): Compute:struve function H1(x)
C STVHV(V,X,HV): Compute struve function Hv(x) with
C arbitrary order v ( -8.0 ≤ v ≤ 12.5 )
C STVL0(X,SL0): Compute modified struve function L0(x)
C STVL1(X,SL1): Compute modified struve function L1(x)
C STVLV(V,X,SLV): Compute modified struve function Lv(x)
C
C SPDX-License-Identifier: BSD-3-Clause
C COMPUTATION OF SPECIAL FUNCTIONS
C
C Shanjie Zhang and Jianming Jin
C
C Copyrighted but permission granted to use code in programs.
C Buy their book "Computation of Special Functions", 1996, John Wiley & Sons, Inc.