Documentation for module minimax_exp_k15

Routines to calculate the minimax coefficients in order to approximate 1/x as a sum over exponential functions 1/x ~ SUM_{i}^{K} w_i EXP(-a_i * x) for x belonging to [1:Rc]. This module contains coefficients for minimax approximations with 1 <= k <= 15.

source: minimax_exp_k15.F
Loading...

public Subroutines/Functions:

SUBROUTINE
check_range_k15 (k, rc, ierr)
Check that the range for the minimax approximation is not too small for the chosen number of integration point, or that the number of integration point is not exceeding the maximum allowed by the actual implementation.
Get minimax coefficients: k15 implementation (coefficients up to k=15 terms). All a_i and w_i have been fitted with a 12th order polynomial as a function of Rc for each value of K.
FUNCTION
REAL(dp)
get_minimax_numerical_error (rc, aw)
Sample numerical error and return its maximum.

SUBROUTINEcheck_range_k15(k, rc, ierr)

Check that the range for the minimax approximation is not too small for the chosen number of integration point, or that the number of integration point is not exceeding the maximum allowed by the actual implementation.

Arguments:
INTEGER,
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: rc ...
INTEGER
:: ierr ...

SUBROUTINEget_minimax_coeff_k15(k, rc, aw, mm_error)

Get minimax coefficients: k15 implementation (coefficients up to k=15 terms). All a_i and w_i have been fitted with a 12th order polynomial as a function of Rc for each value of K.

Arguments:
INTEGER,
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: rc ...
REAL(dp),
INTENT(inout)
:: aw(2*k) ...
REAL(dp),
INTENT(out),
OPTIONAL
:: mm_error ...

FUNCTIONget_minimax_numerical_error(rc, aw)

Sample numerical error and return its maximum.

Return Value ::
REAL(dp)
Arguments:
REAL(dp),
INTENT(in)
:: rc ...
REAL(dp),
INTENT(in)
:: aw(:) ...