Chapter 12: Mathieu Functions

MATSE

Evaluates a sequence of odd, periodic, integer order, real Mathieu functions.

Required Arguments

X — Argument for which the sequence of Mathieu functions is to be evaluated.   (Input)

Q — Parameter.   (Input)
The parameter Q must be positive.

N — Number of elements in the sequence.   (Input)

SE — Vector of length N containing the values of the function through the
series.   (Output)
SE(I) contains the value of the Mathieu function of order I at X for I = 1 to N.

FORTRAN 90 Interface

Generic:                              CALL MATSE (X, Q, N, SE)

Specific:                             The specific interface names are S_MATSE and D_MATSE.

FORTRAN 77 Interface

Single:                                CALL MATSE (X, Q, N, SE)

Double:                              The double precision function name is DMATSE.

Description

The eigenvalues of Mathieu's equation are computed using MATEE. The function values are then computed using a sum of Bessel functions, see Gradshteyn and Ryzhik (1965), equation 8.661.

Comments

1.         Workspace may be explicitly provided, if desired, by use of M2TSE/DM2TSE. The reference is

CALL M2TSE (X, Q, N, SE, NORDER, NEEDEV, EVAL0, EVAL1, COEF, WORK, BSJ)

The additional arguments are as follows:

NORDER — Order of the matrix used to compute the eigenvalues.   (Input)
It must be greater than N. Routine MATSE computes NORDER by the following call to M3TEE.

CALL M3TEE (Q, N, NORDER)

NEEDEV — Logical variable, if .TRUE., the eigenvalues must be computed.   (Input)

EVAL0 — Real work vector of length NORDER containing the eigenvalues computed by MATEE with ISYM = 1 and IPER = 0.   (Input/Output)
If NEEDEV is .TRUE., then EVAL0 is computed by M2TSE; otherwise, it must be set as an input value.

EVAL1 — Real work vector of length NORDER containing the eigenvalues computed by MATEE with ISYM = 1 and IPER = 1.   (Input/Output)
If NEEDEV is .TRUE., then EVAL1 is computed by M2TSE; otherwise, it must be set as an input value.

COEF — Real work vector of length NORDER + 4.

WORK — Real work vector of length NORDER + 4.

BSI — Real work vector of length 2 * NORDER + 1.

2.         Informational error

Type Code

4         1                  The iteration for the eigenvalues did not converge.

Example

In this example, sen(x = π/4, q = 10), n = 0, …, 9 is computed and printed.

Figure 12- 2  Plot of sen(x, q = 1)

 

      USE CONST_INT

      USE MATSE_INT

      USE UMACH_INT

 

      IMPLICIT    NONE

!                                 Declare variables

      INTEGER    N

      PARAMETER  (N=10)

!

      INTEGER    K, NOUT

      REAL       SE(N), Q, X

!                                 Compute

      Q = 10.0

      X = CONST('PI')

      X = 0.25* X

      CALL MATSE (X, Q, N, SE)

!                                 Print the results

      CALL UMACH (2, NOUT)

      DO 10  K=1, N

         WRITE (NOUT,99999) K-1, X, Q, SE(K)

   10 CONTINUE

99999 FORMAT (' se sub', I2, ' (', F6.3, ',', F6.3, ') = ', F6.3)

      END

Output

 

 se sub 0 ( 0.785,10.000) =  0.250

 se sub 1 ( 0.785,10.000) =  0.692

 se sub 2 ( 0.785,10.000) =  1.082

 se sub 3 ( 0.785,10.000) =  0.960

 se sub 4 ( 0.785,10.000) =  0.230

 se sub 5 ( 0.785,10.000) = -0.634

 se sub 6 ( 0.785,10.000) = -0.981

 se sub 7 ( 0.785,10.000) = -0.588

 se sub 8 ( 0.785,10.000) =  0.219

 se sub 9 ( 0.785,10.000) =  0.871



http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260