NUMAL Section 5.2.1.1.1.3.A
BEGIN SECTION : 5.2.1.1.1.3.A (August, 1974)
AUTHORS: P.J. VAN DER HOUWEN AND P.A.BEENTJES.
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 730616.
BRIEF DESCRIPTION:
MODIFIED TAYLOR SOLVES AN INITIAL ( BOUNDARY ) VALUE PROBLEM, GIVEN
AS A SYSTEM OF FIRST ORDER DIFFERENTIAL EQUATIONS , BY MEANS OF A
ONE-STEP TAYLOR-METHOD.
IN PARTICULAR THIS METHOD IS SUITABLE FOR THE INTEGRATION OF LARGE
SYSTEMS ARISING FROM PARTIAL DIFFERENTIAL EQUATIONS , PROVIDED THAT
HIGHER ORDER DERIVATIVES CAN BE EASILY OBTAINED.
KEYWORDS:
DIFFERENTIAL EQUATIONS,
INITIAL (BOUNDARY) VALUE PROBLEMS,
ONE-STEP TAYLOR-METHOD.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS:
"PROCEDURE" MODIFIED TAYLOR (T,TE,M0,M,U,SIGMA,TAUMIN,I,DERIVATIVE,
K,DATA,ALFA,NORM,AETA,RETA,ETA,RHO,OUT);
"INTEGER" M0,M,I,K,NORM;
"REAL" T,TE,SIGMA,TAUMIN,ALFA,AETA,RETA,ETA,RHO;
"ARRAY" U,DATA;
"PROCEDURE" DERIVATIVE,OUT;
"CODE" 33040;
THE MEANING OF THE FORMAL PARAMETERS IS:
T: <VARIABLE>;
THE INDEPENDENT VARIABLE T;
MAY BE USED IN DERIVATIVE, SIGMA ETC.;
ENTRY: THE INITIAL VALUE T0;
EXIT : THE FINAL VALUE TE;
TE: <ARITHMETIC EXPRESSION>;
THE FINAL VALUE OF T (TE >= T);
M0,M: <ARITHMETIC EXPRESSION>;
INDICES OF THE FIRST AND LAST EQUATION OF THE SYSTEM TO BE
SOLVED;
U: <ARRAY IDENTIFIER>;
"ARRAY" U[M0:M];
THE DEPENDENT VARIABLE;
ENTRY: THE INITIAL VALUES OF THE SOLUTION OF THE SYSTEM OF
DIFFERENTIAL EQUATIONS AT T = T0;
EXIT : THE VALUES OF THE SOLUTION AT T = TE;
SIGMA: <ARITHMETIC EXPRESSION>;
THE SPECTRAL RADIUS OF THE JACOBIAN MATRIX WITH RESPECT
TO THOSE EIGENVALUES WHICH ARE LOCATED IN THE LEFT
HALFPLANE;
IF SIGMA TENDS TO INFINITY , PROCEDURE MODIFIED TAYLOR
TERMINATES;
TAUMIN: <ARITHMETIC EXPRESSION>;
MINIMAL STEP LENGTH BY WHICH THE INTEGRATION IS PERFORMED;
HOWEVER,ACTUAL STEPSIZES WILL ALWAYS BE WITHIN THE INTERVAL
[MIN(HMIN,HSTAB),HSTAB],WHERE HSTAB(= DATA[0]/SIGMA) IS THE
STEPLENGTH PRESCRIBED BY STABILITY CONSIDERATIONS;
I: <VARIABLE>;
A JENSEN PARAMETER FOR PROCEDURE DERIVATIVE;
MAY BE USED IN M0 AND M;
DERIVATIVE: <PROCEDURE IDENTIFIER>;
THE HEADING OF THIS PROCEDURE READS:
"PROCEDURE" DERIVATIVE(I,A); "INTEGER" I; "ARRAY" A;
WHEN THIS PROCEDURE IS CALLED, ARRAY A[M0 : M] CONTAINS THE
COMPONENTS OF THE (I-1)-ST DERIVATIVE OF U AT THE POINT T;
UPON COMPLETION OF DERIVATIVE, ARRAY A SHOULD CONTAIN THE
COMPONENTS OF THE I-TH DERIVATIVE OF U AT THE POINT T;
K: <VARIABLE>;
INDICATES THE NUMBER OF INTEGRATION STEPS PERFORMED;
ENTRY: K = 0;
DATA: <ARRAY IDENTIFIER>;
"ARRAY" DATA[-2 : DATA[-2]];
ENTRY:
DATA[-2]: THE ORDER OF THE HIGHEST DERIVATIVE UPON WHICH
THE TAYLOR METHOD IS BASED;
DATA[-1]: ORDER OF ACCURACY OF THE METHOD;
DATA[0] : STABILITY PARAMETER;
DATA[1] , ... , DATA[DATA[-2]] : POLYNOMIAL COEFFICIENTS;
FOR FURTHER EXPLANATION AND POSSIBLE VALUES OF THE ELEMENTS
OF ARRAY DATA SEE REFERENCES [2] AND [3];
ALFA: <ARITHMETIC EXPRESSION>;
GROWTH FACTOR FOR THE INTEGRATION STEP LENGTH;
NORM: <ARITHMETIC EXPRESSION>;
IF NORM = 1 DISCREPANCY AND TOLERANCE ARE ESTIMATED IN THE
MAXIMUM NORM, OTHERWISE IN THE EUCLIDIAN NORM;
AETA,RETA: <ARITHMETIC EXPRESSION>;
DESIRED ABSOLUTE AND RELATIVE ACCURACY;
IF BOTH AETA AND RETA ARE NEGATIVE , ACCURACY CONDITIONS
WILL BE IGNORED;
ETA,RHO: <VARIABLE>;
COMPUTED TOLERANCE AND DISCREPANCY;
OUT: <PROCEDURE IDENTIFIER>;
THE HEADING OF THIS PROCEDURE READS : "PROCEDURE" OUT;
THROUGH THIS PROCEDURE THE VALUES AFTER EACH INTEGRATION
STEP OF FOR INSTANCE T, U, ETA AND RHO ARE ACCESSIBLE.
DATA AND RESULTS:
FOR FURTHER EXPLANATION OF THE PARAMETERS AETA, RETA, ETA, RHO, M0,
M AND THE ARRAY DATA SEE REFERENCES [2] AND [3].
AS FOR THE INDICES M0 AND M THE FOLLOWING MAY BE REMARKED: WHEN
THE METHOD OF LINES IS APPLIED TO HYPERBOLIC DIFFERENTIAL EQUATIONS
THE NUMBER OF RELEVANT ORDINARY DIFFERENTIAL EQUATIONS DECREASES
DURING THE INTEGRATION PROCESS.
IN PROCEDURE MODIFIED TAYLOR , THIS MAY BE REALIZED BY INTEGER
PROCEDURES M0 AND M WHICH ARE DEFINED AS FUNCTIONS OF I, K AND
DATA[-2].
PROCEDURES USED: VECVEC = CP34010.
REQUIRED CENTRAL MEMORY:
EXECUTION FIELD LENGTH: CIRCA 75 + M - M0.
RUNNING TIME:
DEPENDS STRONGLY ON THE DIFFERENTIAL EQUATION TO BE SOLVED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE: SEE REFERENCES.
REFERENCES:
[1].P.J. VAN DER HOUWEN.
ONE-STEP METHODS FOR LINEAR INITIAL VALUE PROBLEMS I,
POLYNOMIAL METHODS,TW REPORT 119,
MATHEMATICAL CENTRE, AMSTERDAM (1970).
[2].P.J. VAN DER HOUWEN, P.BEENTJES, K.DEKKER AND E.SLAGT
ONE-STEP METHODS FOR LINEAR INITIAL VALUE PROBLEMS III,
NUMERICAL EXAMPLES, TW REPORT 130/71,
MATHEMATICAL CENTRE, AMSTERDAM (1971).
[3].P.J. VAN DER HOUWEN, J.KOK.
NUMERICAL SOLUTION OF A MINIMAX PROBLEM, TW REPORT 123/71,
MATHEMATICAL CENTRE, AMSTERDAM (1971).
EXAMPLE OF USE:
THE SOLUTION AT T=EXP(1) AND T=EXP(2) OF THE DIFFERENTIAL EQUATION
DU/DT=-EXP(T)*(U-LN(T)) + 1/T WITH INITIAL CONDITION U(.01)=LN(.01)
AND ANALYTICAL SOLUTION U(T) = LN(T), MAY BE OBTAINED AS FOLLOWS:
"BEGIN" "INTEGER" I,K;"REAL" T,TE,ETA,RHO,EXPT,LNT,C0,C1,C2,C3;
"ARRAY" U[0:0],DATA[-2:4];
"PROCEDURE" OP;"IF" T=TE "THEN"
OUTPUT(61,"(""("NUMBER OF STEPS:")",3ZD,/,
"("SOLUTION: T= ")",+D.5D,
"(" U(T) = ")",+D.7D,//")",K,T,U[0]);
"PROCEDURE" DER(I,A);"INTEGER" I;"ARRAY" A;
"BEGIN" "IF" I=1 "THEN"
"BEGIN" EXPT:=EXP(T);LNT:=LN(T);C0:=A[0];
C1:=A[0]:=-EXPT*C0+1/T+EXPT*LNT
"END";
"IF" I=2 "THEN" C2:=A[0]:=EXPT*(LNT+1/T-C0-C1)-1/T/T;
"IF" I=3 "THEN" C3:=A[0]:=
EXPT*(LNT+2/T-C0-2*C1-C2-1/T/T)+2/T/T/T;
"IF" I=4 "THEN" A[0]:=C3-2*(1+3/T)/T/T/T+
EXPT*((1-(2-2/T)/T)/T-C1-C2*2-C3)
"END";
I:=-2;"FOR" T:=4,3,6.025,1,.5,1/6,.018455702 "DO"
"BEGIN" DATA[I]:=T;I:=I+1 "END";
T:=U[0]:="-2;K:=0;"FOR" TE:=EXP(1),TE*TE "DO"
MODIFIED TAYLOR(T,TE,0,0,U,EXP(T),"-4,I,DER,K,DATA,1.5,1,"-5,
"-4,ETA,RHO,OP)
"END"
THIS PROGRAM DELIVERS:
NUMBER OF STEPS: 46
SOLUTION: T= +2.71828 U(T) = +1.0000285
NUMBER OF STEPS: 424
SOLUTION: T= +7.38906 U(T) = +1.9999967
SOURCE TEXT(S):
"CODE" 33040;