Solving a Boundary Value Problem from Chapra

Jsun Yui Wong

The following computer program seeks to solve the system of nonlinear equations of the discrete boundary value problem on pp. 634-635 of Chapra [4, Example 24.7].

0 DEFDBL A-Z

3 DEFINT J, K
4 DIM X(32768), A(32768), P(32768), K(32768)
5 FOR JJJJ = -32000 TO 32000

14 RANDOMIZE JJJJ
16 M = -1D+50
91 FOR KK = 0 TO 5
94 A(KK) = 200 + RND * 200
95 NEXT KK

128 FOR I = 1 TO 100000 STEP 1
129 FOR K = 0 TO 5
131 X(K) = A(K)
132 NEXT K

155 FOR IPP = 1 TO FIX(1 + RND * 3)
181 B = 1 + FIX(RND * 5)

183 R = (1 – RND * 2) * A(B)
188 IF RND < .2 THEN X(B) = A(B) + RND * R ELSE IF RND < .25 THEN X(B) = A(B) + RND ^ 3 * R ELSE IF RND < .333 THEN X(B) = A(B) + RND ^ 5 * R ELSE IF RND < .5 THEN X(B) = A(B) + RND ^ 7 * R ELSE X(B) = A(B) + RND ^ 9 * R
199 NEXT IPP
566 X(0) = 300
577 X(5) = 400
610 X(2) = -X(0) + (2 + .05 * 2 ^ 2) * X(1) – .05 * 2 ^ 2 * 200 – 2.7D-09 * 2 ^ 2 * (200 ^ 4 – X(1) ^ 4)

611 X(3) = -X(1) + (2 + .05 * 2 ^ 2) * X(2) – .05 * 2 ^ 2 * 200 – 2.7D-09 * 2 ^ 2 * (200 ^ 4 – X(2) ^ 4)

612 X(4) = -X(2) + (2 + .05 * 2 ^ 2) * X(3) – .05 * 2 ^ 2 * 200 – 2.7D-09 * 2 ^ 2 * (200 ^ 4 – X(3) ^ 4)

614 PNEW = -X(3) + (2 + .05 * 2 ^ 2) * X(4) – X(5) – .05 * 2 ^ 2 * 200 – 2.7D-09 * 2 ^ 2 * (200 ^ 4 – X(4) ^ 4)
999 P = -ABS(PNEW)
1451 IF P <= M THEN 1670
1657 FOR KEW = 0 TO 5

1658 A(KEW) = X(KEW)
1659 NEXT KEW
1661 M = P
1670 NEXT I
1890 IF M < -.1 THEN 1999
1911 PRINT A(0), A(1), A(2), A(3), A(4), A(5), M, JJJJ

1999 NEXT JJJJ

This computer program was run with qb64v1000-win [19]. Copied by hand from the screen, the computer program’s complete output through JJJJ= -31999 is shown below.

300       250.4827067570462       236.2962268153517
245.759595917703       286.4921146326861       400
-1.274466643330641D-13       -32000

300       69.85433278840068       -203.3433115758984
-556.0248728609266       -44.90399221567408       400
-8.393112593818586D-14       -31999

Above there is no rounding by hand; it is just straight copying by hand from the screen.

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and with qb64v1000-win [19], the wall-clock time for obtaining the output through JJJJ= -31999 was five seconds, not including “Creating .EXEC file…” time.

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] C. G. Broyden, A Class of Methods for Solving Nonlinear Simultaneous Equations, Mathematics of Computation, Vol. 19, Number 92, pp. 577-593, 1965.

[2] R. L. Burden, J. D. Faires, Annette M. Burden. Numerical Analysis, Tenth Edition. Cengage Learning, 2016.

[3] Huiping Cao, Global Convergence of Schubert’s Method for Solving Sparse Nonlinear Equations, Abstract and Applied Analysis, Volume 2014, Article ID 251587, 12 pages. Hindawi Publishing Corporation. http://dx.doi.org/10.1155/2014/251587.

[4] Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, Third Edition. McGraw-Hill, 2012.
http://www.learngroup.org/uploads/2014-10-27/Applied_Num_Methods_with_MATLAB_for_Engineers_3ed1.pdf.

[5] C. A. Floudas, Deterministic Global Optimization. Kluwer Academic Publishers, 2000.

[6] Rendong Ge, Lijun Liu, Yi Xu, Neural Network Approach for Solving Singular Convex Optimization with Bounded Variables, Open Journal of Applied Sciences, 2013, 3, 285-292. Published Online July 2013. http://www.scirp.org/journal/ojapps.

[7] Amos Gilat, Vish Subramaniam, Numerical Methods for Engineers and Scientists: An Introduction with Applications Using MATLAB. Wiley, 2008.

[8] Amos Gilat, Vish Subramaniam, Numerical Methods for Engineers and Scientists: An Introduction with Applications Using MATLAB, 3rd Edition. Wiley, 2014.

[9] Tianmin Han, Yuhuan Han, Solving Large Scale Nonlinear Equations by a New ODE Numerical Integration Method, Applied Mathematics, 2010, 1, 222-229. http://www.SciRP.org/journal/am.

[10] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations: Theory and experiments. Technical Report RT-04-08, July 2004.
http://www.ime.unicamp.br/~martinez/lmrreport.pdf.

[11] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations, Mathematics of Computation, vol. 75, no. 255, pp.1429-1448, 2006.

[12] Guangye Li (1989) Successive column correction algorithms for solving sparse nonlinear systems of equations, Mathematical Programming, 43, pp. 187-207.

[13] Microsoft Corp. BASIC, second edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[14 J. J. More, B. S. Garbow, K. E. Hillstrom (1981) Testing Unconstrained Optimization Software. ACM Transactions on Mathematical Software, Vol. 7, Pages 17-41.

[15] Alexander P. Morgan, A Method for Computing All Solutions to Systems of Polynomial Equations, ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983, Pages 1-17. https://folk.uib.no/ssu029/pdf_file/Morgan83.pdf.

[16] NAG, NAG Fortran Library Routine Document, C05PDF/C05PDA.
http://www.nag.com/numeric/FL/manual/pdf/C05/c05pdf.pdf.

[17] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery. Numerical recipes: the art of scientific computing, third ed. Cambridge University Press, 2007.

[18] J. Rice. Numerical Methods, Software, and Analysis, Second Edition. Academic Press, 1993.

[19] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[20] J. Y. Wong. April 27 2016. The Domino Method of Nonlinear Integer/Continuous/Discrete Programming Seeking To
Solve a 19X19 System of Nonlinear Equations, Fourth Edition.
http://myblogsubstance.typepad.com/substance/2016/04/-the-domino-method-of-nonlinear-integercontinuousdiscrete-programming-seeking-to-solve-a-19×19-syste.html.

[21] M. Ziani, F. Guyomarc’h, An Autoadaptive Limited Memory Broyden’s Method To Solve Systems of Nonlinear Equations, Applied Mathematics and Computation 205 (2008) pp. 202-211. web.info.uvt.ro/~cristiana.drogoescu/MC/broyden.pdf.