Documentation ¶
Overview ¶
Package amos implements functions originally in the Netlib code by Donald Amos.
Index ¶
- func Zacai(ZR, ZI, FNU float64, KODE, MR, N int, YR, YI []float64, ...) (ZRout, ZIout, FNUout float64, KODEout, MRout, Nout int, YRout, YIout []float64, ...)
- func Zairy(ZR, ZI float64, ID, KODE int) (AIR, AII float64, NZ, IERR int)
- func Zasyi(ZR, ZI, FNU float64, KODE, N int, YR, YI []float64, ...) (ZRout, ZIout, FNUout float64, KODEout, Nout int, YRout, YIout []float64, ...)
- 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, ...)
- func Zkscl(ZRR, ZRI, FNU float64, N int, YR, YI []float64, ...) (ZRRout, ZRIout, FNUout float64, Nout int, YRout, YIout []float64, NZ int, ...)
- func Zmlri(ZR, ZI, FNU float64, KODE, N int, YR, YI []float64, TOL float64) (ZRout, ZIout, FNUout float64, KODEout, Nout int, YRout, YIout []float64, ...)
- func Zs1s2(zr, s1, s2 complex128, scale, lim float64, iuf int) (s1o, s2o complex128, nz, iufo int)
- func Zseri(z complex128, fnu float64, kode, n int, y []complex128, ...) (nz int)
- func Zuchk(y complex128, scale, tol float64) int
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 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.