amos

package
v0.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2020 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package amos implements functions originally in the Netlib code by Donald Amos.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Zacai

func Zacai(ZR, ZI, FNU float64, KODE, MR, N int, YR, YI []float64, RL, TOL, ELIM, ALIM float64) (
	ZRout, ZIout, FNUout float64, KODEout, MRout, Nout int, YRout, YIout []float64, NZ int, RLout, TOLout, ELIMout, ALIMout float64)

ZACAI APPLIES THE ANALYTIC CONTINUATION FORMULA

K(FNU,ZN*EXP(MP))=K(FNU,ZN)*EXP(-MP*FNU) - MP*I(FNU,ZN)
      MP=PI*MR*CMPLX(0.0,1.0)

TO CONTINUE THE K FUNCTION FROM THE RIGHT HALF TO THE LEFT HALF Z PLANE FOR USE WITH ZAIRY WHERE FNU=1/3 OR 2/3 AND N=1. ZACAI IS THE SAME AS ZACON WITH THE PARTS FOR LARGER ORDERS AND RECURRENCE REMOVED. A RECURSIVE CALL TO ZACON CAN RESULT if ZACON IS CALLED FROM ZAIRY.

func Zairy

func Zairy(ZR, ZI float64, ID, KODE int) (AIR, AII float64, NZ, IERR int)

func Zasyi

func Zasyi(ZR, ZI, FNU float64, KODE, N int, YR, YI []float64, RL, TOL, ELIM, ALIM float64) (
	ZRout, ZIout, FNUout float64, KODEout, Nout int, YRout, YIout []float64, NZ int, RLout, TOLout, ELIMout, ALIMout float64)

ZASYI COMPUTES THE I BESSEL FUNCTION FOR REAL(Z)>=0.0 BY MEANS OF THE ASYMPTOTIC EXPANSION FOR LARGE CABS(Z) IN THE REGION CABS(Z)>MAX(RL,FNU*FNU/2). NZ=0 IS A NORMAL return. NZ<0 INDICATES AN OVERFLOW ON KODE=1.

func Zbknu

func Zbknu(ZR, ZI, FNU float64, KODE, N int, YR, YI []float64, TOL, ELIM, ALIM float64) (ZRout, ZIout, FNUout float64, KODEout, Nout int, YRout, YIout []float64, NZ int, TOLout, ELIMout, ALIMout float64)

sbknu computes the k bessel function in the right half z plane.

func Zkscl

func Zkscl(ZRR, ZRI, FNU float64, N int, YR, YI []float64, RZR, RZI, ASCLE, TOL, ELIM float64) (
	ZRRout, ZRIout, FNUout float64, Nout int, YRout, YIout []float64, NZ int, RZRout, RZIout, ASCLEout, TOLout, ELIMout float64)

SET K FUNCTIONS TO ZERO ON UNDERFLOW, CONTINUE RECURRENCE ON SCALED FUNCTIONS UNTIL TWO MEMBERS COME ON SCALE, THEN return WITH MIN(NZ+2,N) VALUES SCALED BY 1/TOL.

func Zmlri

func Zmlri(ZR, ZI, FNU float64, KODE, N int, YR, YI []float64, TOL float64) (
	ZRout, ZIout, FNUout float64, KODEout, Nout int, YRout, YIout []float64, NZ int, TOLout float64)

ZMLRI COMPUTES THE I BESSEL FUNCTION FOR RE(Z)>=0.0 BY THE MILLER ALGORITHM NORMALIZED BY A NEUMANN SERIES.

func Zs1s2

func Zs1s2(zr, s1, s2 complex128, scale, lim float64, iuf int) (s1o, s2o complex128, nz, iufo int)

Zs1s2 tests for a possible underflow resulting from the addition of the I and K functions in the analytic continuation formula where s1 == K function and s2 == I function.

When kode == 1, the I and K functions are different orders of magnitude.

When kode == 2, they may both be of the same order of magnitude, but the maximum must be at least one precision above the underflow limit.

func Zseri

func Zseri(z complex128, fnu float64, kode, n int, y []complex128, tol, elim, alim float64) (nz int)

Zseri computes the I bessel function for real(z) >= 0 by means of the power series for large |z| in the region |z| <= 2*sqrt(fnu+1).

nz = 0 is a normal return. nz > 0 means that the last nz components were set to zero due to underflow. nz < 0 means that underflow occurred, but the condition |z| <= 2*sqrt(fnu+1) was violated and the computation must be completed in another routine with n -= abs(nz).

func Zuchk

func Zuchk(y complex128, scale, tol float64) int

Zuchk tests whether the magnitude of the real or imaginary part would underflow when y is scaled by tol.

y enters as a scaled quantity whose magnitude is greater than

1e3 + 3*dmach(1)/tol

y is accepted if the underflow is at least one precision below the magnitude of the largest component. Otherwise an underflow is assumed as the phase angle does not have sufficient accuracy.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL