Jsun Yui Wong
The following computer program seeks to solve the discrete boundary value problem on pp. 634-635 of Chapra but with 60 subintervals [4, Example 24.7, http://www.learngroup.org/uploads/2014-10-27/Applied_Num_Methods_with_MATLAB_for_Engineers_3ed1.pdf].
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
18 H = 10 / 60
91 FOR KK = 0 TO 60
94 IF RND < .5 THEN A(KK) = 300 - RND ELSE A(KK) = 300 + RND
95 NEXT KK
128 FOR I = 1 TO 1000000 STEP 1
129 FOR K = 0 TO 60
131 X(K) = A(K)
132 NEXT K
155 FOR IPP = 1 TO FIX(1 + RND * 3)
181 B = 1 + FIX(RND * 60)
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(60) = 400
586 FOR J44 = 2 TO 59
611 X(J44) = -X(J44 - 2) + (2 + .05 * H ^ 2) * X(J44 - 1) - .05 * H ^ 2 * 200 - 2.7D-09 * H ^ 2 * (200 ^ 4 - X(J44 - 1) ^ 4)
613 NEXT J44
666 FOR J44 = 0 TO 60
667 IF X(J44) < 0 THEN 1670
668 IF X(J44) > 500 THEN 1670
669 NEXT J44
714 PNEW = -X(58) + (2 + .05 * H ^ 2) * X(59) - 400 - .05 * H ^ 2 * 200 - 2.7D-09 * H ^ 2 * (200 ^ 4 - X(59) ^ 4)
999 P = -ABS(PNEW)
1451 IF P <= M THEN 1670
1657 FOR KEW = 0 TO 60
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(56), A(57), A(58), A(59), A(60), M, JJJJ
1999 NEXT JJJJ
This computer program was run with qb64v1000-win [19]. Copied by hand from the screen, the computer program’s output through JJJJ= -31999 is summarized below.
300 293.3486033099241 287.2622465711943
281.6877987049797 276.5790141872565 344.2675348712304
356.0308712996938 369.0959862087232 383.6678903651541
400 -1.129885627334376D-11 -32000
300 293.3486033099241 287.2622465711943
281.6877987049797 276.5790141872565 344.2675348712304
356.0308712996938 369.0959862087232 383.6678903651541
400 -1.129885627334376D-11 -31999
Above there is no rounding by hand; it is just straight copying by hand from the screen.
Only the ten A's of line 1911 are shown above.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 enty seconds.GHz, 960 MB of RAM and with qb64v1000-win [19], the wall-clock time for obtaining the output through JJJJ= -31999 was seventy seconds.
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-19x19-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.