approach used in special function iti0k0
I am searching for the approach/algorithm used to compute the special function iti0k0. The docs only state that the integrals \int_0^x I_0(t) dt and \int_0^x K_0(t) dt are computed, but I couldn't find a link/reference to the algorithm/approach used to compute these. Even iti0k0?? doesn't help. Anybody know? Thanks, Mark
Hi Mark, The relevant reference is *Computation of Special Functions, Shanjie Zhang and Jianming Jin, 1996, John Wiley & Sons, Inc.* See section 6.2., pages 207-212 of the original edition. It seems like it would be a good idea to add this reference to the docstring. Best, Albert On Sun, Jun 5, 2022 at 10:08 AM Mark Bakker <markbak@gmail.com> wrote:
I am searching for the approach/algorithm used to compute the special function iti0k0. The docs only state that the integrals \int_0^x I_0(t) dt and \int_0^x K_0(t) dt are computed, but I couldn't find a link/reference to the algorithm/approach used to compute these.
Even iti0k0?? doesn't help.
Anybody know?
Thanks,
Mark
_______________________________________________ SciPy-User mailing list -- scipy-user@python.org To unsubscribe send an email to scipy-user-leave@python.org https://mail.python.org/mailman3/lists/scipy-user.python.org/ Member address: albert.steppi@gmail.com
On Sun, Jun 5, 2022 at 10:08 AM Mark Bakker <markbak@gmail.com> wrote:
I am searching for the approach/algorithm used to compute the special function iti0k0. The docs only state that the integrals \int_0^x I_0(t) dt and \int_0^x K_0(t) dt are computed, but I couldn't find a link/reference to the algorithm/approach used to compute these.
Even iti0k0?? doesn't help.
Anybody know?
It's implemented in FORTRAN. scipy.special ufunc wrappers are generated "in bulk" from a JSON configuration file. Searching the Github repo for iti0k0 shows you the entry for iti0k0: https://github.com/scipy/scipy/search?q=iti0k0 https://github.com/scipy/scipy/blob/fdc31f3d2bfa90a2c214a398668f0e153632d2bb... So looking for the it1i0k0_wrap C function that's mentioned will show you which FORTRAN subroutine that it's calling: https://github.com/scipy/scipy/blob/fdc31f3d2bfa90a2c214a398668f0e153632d2bb... So now you can find the FORTRAN subroutine named ITIKA that actually implements the algorithm: https://github.com/scipy/scipy/blob/fdc31f3d2bfa90a2c214a398668f0e153632d2bb... At the top of the file, you can see that all of these functions come from the book *Computation of Special Functions* which you can try to find a copy of to get more information about it. -- Robert Kern
participants (3)
-
Albert Steppi
-
Mark Bakker
-
Robert Kern