computation of eigenvalues using two-point boundary value problem codes

3
1736 SHORT COMMUNICATIONS COMPUTATION OF EIGENVALUES USING TWO-POINT BOUNDARY VALUE PROBLEM CODESt BRUCE EDWARDS Department of Mathematics, University of Florida, Gainesville, Florida, U.S.A. The purpose of this note is to present a practical and easily implemented technique for numerically solving eigenvalue problems in ordinary differential equations. Although the method is not particularly fast, it does offer many advantages, especially the need for little user set-up time. As mentioned in Keller2 (p.47), the idea is to introduce a supplementary differential equation for the eigenvalue parameter as well as an appropriate normalizing equation and boundary conditions. A standard two-point boundary value problem code then integrates the resulting system of nonlinear equations. Quality software for two-point boundary value problems is now readily available; for instance PASVA33 and COLSYS’ were used on a wide variety of eigenvalue problems. To illustrate the technique, consider Mathieu’s equation y”+(A -28 cos 2x)y = 0 y(0) = y(7r) = 0 where A is the eigenvalue parameter. Introduce the trivial differential equation A = 0 and an appropriate normalizing equation to specify the eigenfunction. If we write the original equation as two first-order ordinary differential equations, then the system of two-point boundary value problems becomes yI=y2 y; = -(A -28 COS 2x)y A’=O n(O)=O, n(7r)=1 n’= y:+y2 Y l(0) = Y 1(T) = 0 PASVA3 was used to solve this system, taking 8 = 1 and initial guesses of y1 = sin x, y2 = cos x, A = 10 and n = X/T. The output is tabulated in Table I. Notice that not only is the eigenvalue A = 9.048109 generated, but y1 and y2 as well. As pointed out by the referee, a crucial issue is just how close the initial guess needs to be in order to guarantee convergence to the desired eigenvalue. This is, of course, a difficult question for most nonlinear two-point boundary value problems (see Reference 3, p. 102 and Reference 1, p. 671). For instance, initial profiles of y1 =sin (3x), y2 = cos (3x) and A = 2k (k = 1,2,. . . , 11) were used as an experiment. In all cases, the ‘desired’ eigenvalue of 9.048 was generated. On the other hand, the initial guesses of y1 =sin (x), y2 = cos (x) and A = 2k (k = 1,2,, . . , 11) produced the eigenvalue -0.11023 in all cases except A = 10, which gave 9.048. Although more work is needed in this area, one can say that convergence to the desired eigenvalue is assured only if the initial guesses are close. t Parts of this work were done while the author was a NASA-ASEE Faculty Research Fellow at the Langley Research Center, Hampton, VA during the summer of 1979. 0029-5981/82/111736-03$01.00 @ 1982 by John Wiley & Sons, Ltd. Received 25 November 1981 Revised 2 April 1982

Upload: bruce-edwards

Post on 15-Jun-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Computation of eigenvalues using two-point boundary value problem codes

1736 SHORT COMMUNICATIONS

COMPUTATION OF EIGENVALUES USING TWO-POINT BOUNDARY VALUE PROBLEM CODESt

BRUCE EDWARDS

Department of Mathematics, University of Florida, Gainesville, Florida, U.S.A.

The purpose of this note is to present a practical and easily implemented technique for numerically solving eigenvalue problems in ordinary differential equations. Although the method is not particularly fast, it does offer many advantages, especially the need for little user set-up time. As mentioned in Keller2 (p.47), the idea is to introduce a supplementary differential equation for the eigenvalue parameter as well as an appropriate normalizing equation and boundary conditions. A standard two-point boundary value problem code then integrates the resulting system of nonlinear equations. Quality software for two-point boundary value problems is now readily available; for instance PASVA33 and COLSYS’ were used on a wide variety of eigenvalue problems.

To illustrate the technique, consider Mathieu’s equation

y”+(A -28 cos 2x)y = 0 y(0) = y(7r) = 0

where A is the eigenvalue parameter. Introduce the trivial differential equation A ‘ = 0 and an appropriate normalizing equation to specify the eigenfunction. If we write the original equation as two first-order ordinary differential equations, then the system of two-point boundary value problems becomes

y I = y 2 y; = -(A -28 COS 2x)y A ’ = O n ( O ) = O , n ( 7 r ) = 1 n ’ = y:+y2

Y l(0) = Y 1 ( T ) = 0

PASVA3 was used to solve this system, taking 8 = 1 and initial guesses of y1 = sin x, y 2 = cos x, A = 10 and n = X / T . The output is tabulated in Table I. Notice that not only is the eigenvalue A = 9.048109 generated, but y1 and y 2 as well.

As pointed out by the referee, a crucial issue is just how close the initial guess needs to be in order to guarantee convergence to the desired eigenvalue. This is, of course, a difficult question for most nonlinear two-point boundary value problems (see Reference 3, p. 102 and Reference 1, p. 671). For instance, initial profiles of y 1 =sin (3x), y2 = cos (3x) and A = 2k (k = 1,2, . . . , 11) were used as an experiment. In all cases, the ‘desired’ eigenvalue of 9.048 was generated. On the other hand, the initial guesses of y1 =sin (x), y2 = cos (x) and A = 2k (k = 1,2 , , . . , 11) produced the eigenvalue -0.11023 in all cases except A = 10, which gave 9.048. Although more work is needed in this area, one can say that convergence to the desired eigenvalue is assured only if the initial guesses are close.

t Parts of this work were done while the author was a NASA-ASEE Faculty Research Fellow at the Langley Research Center, Hampton, VA during the summer of 1979.

0029-5981/82/111736-03$01.00 @ 1982 by John Wiley & Sons, Ltd.

Received 25 November 1981 Revised 2 April 1982

Page 2: Computation of eigenvalues using two-point boundary value problem codes

SHORT COMMUNICATIONS 1737

Table I

X Y l YZ Eigenvalue n

0.0 0-6283E - 01 0.1257E 00 0.1885E 00 0.2513E 00 0-3142E 00 0.3770E 00 0.4398E 00 0.5027E 00 0.5655E 00 0.6283E 00 0.6912E 00 0.7540E 00 0.8168E 00 0-8796E 00 0.9425E 00 0.1005E 01 0.1068E 01 0.1131E 01 0.1194E 01 0.1257E 01 0.1319E 01 0.1382E 01 0.1445E 01 0.1508E 01 0.1571E 01 0-1643E 01 0.1696E 01 0.1759E 01 0.1822E 01 0.1885E 01 0.1948E 01 0.2011E 01 0.2073E 01 0.2136E 01 0.2199E 01 0.2262E 01 0.23258 01 0-2388E 01 0.24508 01 0.2513E 01 0.2576E 01 0.2639E 01 0.2702E 01 0.2765E 01 0.2827E 01 0.28908 01 0.29538 01 0.3016E 01 0.3079E 01 0.31428 01

0.0 0~4402453E - 01 0.8682197E-01 0.1271850E 00 0.1639434E 00 0- 1959867E 00 0.2222905E 00 0.24194548 00 0.2541908E 00 0-2584500E 00 0.2543675E 00 0.2418436E 00 0.2210649E 00 0.1925266E 00 0.1570428E 00 0.1157424E 00 0.7004732E- 01 0.2 16324 1E- 01

-0.2763696E- 01 -0.7577729E- 01 -0.1207806E 00 -0.1607128E 00 -0.1938156E 00 -0.2186031E 00 -0.2339468E 00 -0.2391414E 00 -0-233947lE 00 -0.2186038E 00 -0.1938165E 00 -0-160714OE 00 -0.1207819E 00 -0.7577872E-01 -0-2763848E- 01

0*2163012E-01 0.7004583E- 01 0.1157410E 00 0.1570416E 00 0.1925256E 00 0.2210642E 00 0.2418432E 00 0.2543673E 00 0.2584500E 00 0.2541909E 00 0.2419457E 00 0.2222909E 00 0.1959872E 00 0.1639439E 00 0.1271856E 00 0.8682263E- 01 0.4402590E- 01 0.3888033E- 08

0.7039165E 00 0.6941356E 00 0.6649330E 00 0.6167498E 00 0.5503557E 00 0.4668999E 00 0.3679715E 00 0-2556608E 00 0.1326104E 00 0.2044737E - 02

-0.1322339E 00 -0.2658939E 00 -0.3941762E 00 -0.5120510E 00 -0.6144310E 00 -0.6964308E 00 -0.7536600E 00 -0-7825278E 00 -0.7805366E 00 -0.7465308E 00 -0.6808820E 00 -0.5855798E 00 -0.4642130E 00 -0.3218355E 00 -0.1647178E 00 -0.2579774E-05 0.1647127E 00 0.3218307E 00 0-4642088E 00 0-5855763E 00 0.6808794E 00 0.7465291E 00 0,7805359E 00 0.7825283E 00 0.7536613E 00 0.6964328E 00 0-6144336E 00 0.5120541E 00 0~3941796E 00 0.2658974E 00 0.1322373E 00

-0.2041506E-02 -0.1326074E 00 -0.2556581E 00 -0.3679692E 00 -0.4668980E 00 -0.5503542E 00 -0.6167488E 00 -0.6649324E 00 -0.6941351E 00 -0.70391668 00

0-9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0-9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0-9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0-9048109E 01 0-9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 00 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01 0.9048109E 01

0.0 0.3089073E-01 0.6032423E - 01 0.8699507E - 01 0.1098661E 00 0.1282935E 00 0.1421216E 00 0.1517410E 00 0.1580956E 00 0.1626261E 00 0.1671428E 00 0.1736270E 00 0-1839766E 00 0-1997225E 00 0.22175698 00 0.2501253E 00 0.2839298E 00 0.3213826E 00 0-3600256E 00 0.39709218 00 0.4299662E 00 0.4566529E 00 0.4761663E 00 0.48875098 00 0~4958770E 00 0.4999999E 00 0.5041227E 00 0.5112488E 00 0.5238332E 00 0-5433463E 00 0.5700328E 00 0.6029068E 00 0.6399732E 00 0.67861568 00 0.7160690E 00 0.7498737E 00 0.7782423E 00 0.8002770E 00 0.8160230E 00 0.8263727E 00 0.8328570E 00 0.8373737E 00 0.8419043E 00 0-8482588E 00 0.8578781E 00 0.8717061E 00 0.8901334E 00 0.9130044E 00 0.9396753E 00 0.9691083E 00 0*1000000E 01

Page 3: Computation of eigenvalues using two-point boundary value problem codes

1738 SHORT COMMUNICATIONS

Simple continuation4 is a useful technique with which to attack the convergence problem. The eigenvalue problem is imbedded into a one-parameter ( t ) family of eigenvalue problems. At t = 0, the problem should be easy to solve, and at t = 1 the original equation is recovered. The code marches from t = 0 to t = 1 using the result at each step as the initial profile for the next step. PASVA3 and COLSYS both have convenient continuation options built into the codes.

As an elementary example, consider Weber’s equation

y ” + ( A - x 2 ) y = 0

Y (0) = Y (1) = 0 The equation is imbedded into the one-parameter family

y ” + ( A -tX’)y = O

Y(0) = Y ( 1 ) = o Note that at t = 0 the problem is trivial (A = ( K v ) ~ , K = 1,2, . . .), while at t = 1 the original problem is recovered. COLSYS was used to step from t = 0 to t = 1 with the following results (K = 1):

t A

0 0.04 0.16 0.36 0.64 1.0

9.8696044 9.8809095 9.9148035 9.97 1222 1

10.0500586 10.1511640

The technique for sc. ling eigenvalue prot.;ms using software .3r two-point boundary value problems has a number of advantages. First of all, high quality, robust codes are available for boundary value problems and hence there are minimal software development needs and set-up time. The method produces not only the eigenvalue, but the eigenfunction and its derivatives as well. The user can specify the accuracy desired. For example, TOL = 0.001 was used for all the PASVA3 calculations mentioned in this note. Further more, a crude or incomplete solution could be improved upon by the above technique. An important drawback is inefficiency, as these codes are not especially fast. And again, there is always the difficulty of an effective initial guess, so that convergence to the desired eigenvalue is achieved. The continuation option can be used in this regard to generate initial guesses.

REFERENCES

1. Ascher, Christiansen and Russell, ‘ A collocation solver for mixed order systems of boundary value problems’,

2. H. R . Keller, Numerical Methods for Two-Point Boundary- Value Problems, Blaisdell, London, 1968. 3. Pereyra and Lentini, ‘An adaptive finite difference solver for nonlinear two-point boundary problems with mild

4. Wasserstrom, ‘ A new method for solving eigenvalue problems’, J. Comp. Phys., 9, 53-74 (1972).

Math. Comp., 33,659-679 (1979).

boundary layers’, SIAMJ. Num. A n d , 14, 91-111 (1977).