mtu12 Subroutine

public subroutine mtu12(kf, kc, m, q, x, f1r, d1r, f2r, d2r)

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

! MTU12 computes modified Mathieu functions of the first and second kind.

Discussion:

This procedure computes modified Mathieu functions of the first and
second kinds, Mcm(1)(2)(x,q) and Msm(1)(2)(x,q),
and their derivatives.

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:

31 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 ) KF, the function code.
1 for computing Mcm(x,q);
2 for computing Msm(x,q).

Input, integer ( kind = 4 ) KC, the function code.
1, for computing the first kind
2, for computing the second kind or Msm(2)(x,q) and Msm(2)'(x,q)
3, for computing both the first and second kinds.

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

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

Input, real ( kind = 8 ) X, the argument of the Mathieu functions.

Output, real ( kind = 8 ) F1R, D1R, F2R, D2R, the values of 
Mcm(1)(x,q) or Msm(1)(x,q), Derivative of Mcm(1)(x,q) or Msm(1)(x,q),
Mcm(2)(x,q) or Msm(2)(x,q), Derivative of Mcm(2)(x,q) or Msm(2)(x,q).

Arguments

Type IntentOptional Attributes Name
integer(kind=4) :: kf
integer(kind=4) :: kc
integer(kind=4) :: m
real(kind=8) :: q
real(kind=8) :: x
real(kind=8) :: f1r
real(kind=8) :: d1r
real(kind=8) :: f2r
real(kind=8) :: d2r

Calls

proc~~mtu12~~CallsGraph proc~mtu12 mtu12 proc~cva2 cva2 proc~mtu12->proc~cva2 proc~fcoef fcoef proc~mtu12->proc~fcoef proc~jynb jynb proc~mtu12->proc~jynb proc~cv0 cv0 proc~cva2->proc~cv0 proc~cvql cvql proc~cva2->proc~cvql proc~cvqm cvqm proc~cva2->proc~cvqm proc~refine refine proc~cva2->proc~refine proc~msta1 msta1 proc~jynb->proc~msta1 proc~msta2 msta2 proc~jynb->proc~msta2 proc~cv0->proc~cvql proc~cv0->proc~cvqm proc~envj envj proc~msta1->proc~envj proc~msta2->proc~envj proc~cvf cvf proc~refine->proc~cvf