refine Subroutine

public subroutine refine(kd, m, q, a, iflag)

************80

! REFINE refines an estimate of the characteristic value of Mathieu functions.

Discussion:

This procedure calculates the accurate characteristic value
by the secant method.

Licensing:

This routine is copyrighted by Shanjie Zhang and Jianming Jin.  However, 
they give permission to incorporate this routine into a user program 
provided that the copyright is acknowledged.

Modified:

20 July 2012

Author:

Shanjie Zhang, Jianming Jin

Reference:

Shanjie Zhang, Jianming Jin,
Computation of Special Functions,
Wiley, 1996,
ISBN: 0-471-11963-6,
LC: QA351.C45.

Parameters:

Input, integer ( kind = 4 ) KD, the case code:
1, for cem(x,q)  ( m = 0,2,4,...)
2, for cem(x,q)  ( m = 1,3,5,...)
3, for sem(x,q)  ( m = 1,3,5,...)
4, for sem(x,q)  ( m = 2,4,6,...)

Input, integer ( kind = 4 ) M, the order of the Mathieu functions.

Input, real ( kind = 8 ) Q, the parameter of the Mathieu functions.

Input/output, real ( kind = 8 ) A, the characteristic value, which
should have been refined on output.

Arguments

Type IntentOptional Attributes Name
integer(kind=4) :: kd
integer(kind=4) :: m
real(kind=8) :: q
real(kind=8) :: a
integer(kind=4) :: iflag

Calls

proc~~refine~~CallsGraph proc~refine refine proc~cvf cvf proc~refine->proc~cvf

Called by

proc~~refine~~CalledByGraph proc~refine refine proc~cva2 cva2 proc~cva2->proc~refine proc~mtu0 mtu0 proc~mtu0->proc~cva2 proc~mtu12 mtu12 proc~mtu12->proc~cva2