The following computer program seeks to solve the following nonlinear system of 7500 Diophantine equations:
7500
x(i) + sigma x(j) - (7500+1) = 0, for i = 1, 2, 3,..., 7499,
j=1
7500
pi x(j) -1 = 0.
j=1
The present system is based on Brown's almost linear function in La Cruz, Marinez, and Raydan [2, p. 25]; http://www.ime.unicamp.br/~martinez/lmrreport.pdf.
The starting vectors are given in line 42, which is 42 A(J44) = -3 + FIX(RND * 7).
While line 441 of the older edition is 441 P(4500) = -ABS(PR - 1),
here line 441 is 441 P(7500) = -ABS(PR - 1).
0 REM DEFDBL A-Z
2 DEFINT I, J, X
3 DIM B(9999), N(9999), A(9999), H(9999), L(9999), U(9999), X(9999), D(9999), P(9999), PS(9999), J(9999)
12 FOR JJJJ = -32000 TO 32000
15 RANDOMIZE JJJJ
16 M = -1D+37
41 FOR J44 = 1 TO 7500
42 A(J44) = -3 + FIX(RND * 7)
43 NEXT J44
128 FOR I = 1 TO 30000
129 FOR KKQQ = 1 TO 7500
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
181 J = 1 + FIX(RND * 7500)
183 REM R = (1 - RND * 2) * A(J)
187 IF RND < .5 THEN X(J) = A(J) - 1 ELSE X(J) = A(J) + 1
189 REM X(J) = A(J) + (RND ^ 3) * R
192 NEXT IPP
251 SU = 0
254 FOR J44 = 1 TO 7499
258 SU = SU + X(J44)
266 NEXT J44
311 X(7500) = -X(1) - SU + (7500 + 1)
351 PR = 1
353 FOR J45 = 1 TO 7500
355 PR = PR * X(J45)
359 NEXT J45
422 FOR J41 = 2 TO 7499
439 P(J41) = -ABS(X(J41) + SU + X(7500) - (7500 + 1))
427 NEXT J41
441 P(7500) = -ABS(PR - 1)
451 FOR J77 = 2 TO 7500
452 IF P(J77) < 0 THEN P(J77) = P(J77) ELSE P(J77) = 0
454 NEXT J77
577 SP = 0
578 FOR J99 = 2 TO 7500
579 SP = SP + P(J99)
580 NEXT J99
595 P = SP
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 7500
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 REM IF M < -99 THEN 1999
1947 PRINT A(1), A(2), A(3), A(4), A(7497), A(7498), A(7499), A(7500), M, JJJJ
1999 NEXT JJJJ
This computer program was run with qb64v1000-win [6]. Copied by hand from the screen, the computer program’s complete output through JJJJ=-31996 is shown below:
0 0 0 0 0
0 0 7502 -2 -32000
1 1 1 1 1
1 1 11 -11 -31999
1 1 1 1 1
1 1 2 -2 -31998
0 0 0 0 0
0 0 7503 -3 -31997
1 1 1 1 1
1 1 1 0 -31996
Above there is no rounding by hand; it is just straight copying by hand from the screen.
Above at JJJJ=-31996, M=0. Of the 7500 A's, only the eight A’s of line 1947 are shown above.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and with qb64v1000-win [6], the wall-clock time for obtaining the output through JJJJ= -31996 was fifty minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Jean-Marie de Konnick, Armel Mercier, 1001 Problems in Classical Number Theory. American Mathematical Society, Providence, Rhode Island, 2007.
[2] 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.
[3] 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.
[4] 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.
[5] O. Perez, I. Amaya, R. Correa (2013), Numerical Solution of Certain Exponential and Non-linear Diophantine Systems of Equations by Using a Discrete Particles Swarm Optimization Algorithm. Applied Mathematics and Computation, Volume 225, 1 December 2013, Pages 737-746.
[6] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[7] Jsun Yui Wong (2013, November 11). Solving Nonlinear Systems of Equations with the Domino Method, Second Edition. http://myblogsubstance.typepad.com/substance/2013/11/solving-nonlinear-systems-of-equations-with-the-domino-method-second-edition.html.
No comments:
Post a Comment