equation_nl.adb running solve x1 + 2 x2^2 + 3/x3 = 10 2 x1 + x2^2 + 1/x3 = 6.333 3 x1 + x2^2 + 4/x3 = 8.333 | 1 2 3 | | x1 | = | 10.000 | | 2 1 1 | * | x2^2 | = | 6.333 | | 3 1 4 | | 1/x3 | = | 8.333 | A * X = Y guess initial x1, x2, x3 compute X = | x1 x2^2 1/x3 | compute derivative D = | 1 2*x2 -1/x3^2 | compute the Jacobian Ja = A * D and invert iterate X_next = X - fctr*(A*Xt-Y)*Ja^-1 no guarantee of solution or unique solution A*X-Y should go to zero | 1.0000 2.0000 3.0000| | x1 | | 10.0000| | 2.0000 1.0000 1.0000| |x2*x2 | | 6.3333| | 3.0000 1.0000 4.0000| | 1/x3 | | 8.3333| x1= 1.00000, x2= 1.00000, x3= 1.00000 X(1)= 1.00000, X(2)= 1.00000, X(3)= 1.00000 D(1)= 1.00000, D(2)= 2.00000, D(3)= -1.00000 F(1)= -4.00000, F(2)= -2.33333, F(3)= -0.33333 iteration 1, total error= 6.66666666666667E+00 Ja( 1,1)= 1.00000, Ja( 1,2)= 4.00000, Ja( 1,3)= -3.00000 Ja( 2,1)= 2.00000, Ja( 2,2)= 2.00000, Ja( 2,3)= -1.00000 Ja( 3,1)= 3.00000, Ja( 3,2)= 2.00000, Ja( 3,3)= -4.00000 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.25000, JI( 2,2)= 0.25000, JI( 2,3)= -0.25000 JI( 3,1)= -0.10000, JI( 3,2)= 0.50000, JI( 3,3)= -0.30000 x1= 1.00000, x2= 2.50000, x3= 1.66667 X(1)= 1.00000, X(2)= 6.25000, X(3)= 0.60000 D(1)= 1.00000, D(2)= 5.00000, D(3)= -0.36000 F(1)= 5.30000, F(2)= 2.51667, F(3)= 3.31667 iteration 2, total error= 1.11333333333333E+01 Ja( 1,1)= 1.00000, Ja( 1,2)= 10.00000, Ja( 1,3)= -1.08000 Ja( 2,1)= 2.00000, Ja( 2,2)= 5.00000, Ja( 2,3)= -0.36000 Ja( 3,1)= 3.00000, Ja( 3,2)= 5.00000, Ja( 3,3)= -1.44000 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.10000, JI( 2,2)= 0.10000, JI( 2,3)= -0.10000 JI( 3,1)= -0.27778, JI( 3,2)= 1.38889, JI( 3,3)= -0.83333 x1= 1.00000, x2= 2.05000, x3= 2.40741 X(1)= 1.00000, X(2)= 4.20250, X(3)= 0.41538 D(1)= 1.00000, D(2)= 4.10000, D(3)= -0.17254 F(1)= 0.65115, F(2)= 0.28455, F(3)= 0.53071 iteration 3, total error= 1.46641025641026E+00 Ja( 1,1)= 1.00000, Ja( 1,2)= 8.20000, Ja( 1,3)= -0.51763 Ja( 2,1)= 2.00000, Ja( 2,2)= 4.10000, Ja( 2,3)= -0.17254 Ja( 3,1)= 3.00000, Ja( 3,2)= 4.10000, Ja( 3,3)= -0.69018 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.12195, JI( 2,2)= 0.12195, JI( 2,3)= -0.12195 JI( 3,1)= -0.57956, JI( 3,2)= 2.89781, JI( 3,3)= -1.73868 x1= 1.00000, x2= 2.00061, x3= 2.88294 X(1)= 1.00000, X(2)= 4.00244, X(3)= 0.34687 D(1)= 1.00000, D(2)= 4.00122, D(3)= -0.12032 F(1)= 0.04548, F(2)= 0.01597, F(3)= 0.05658 iteration 4, total error= 1.18031441498426E-01 Ja( 1,1)= 1.00000, Ja( 1,2)= 8.00244, Ja( 1,3)= -0.36095 Ja( 2,1)= 2.00000, Ja( 2,2)= 4.00122, Ja( 2,3)= -0.12032 Ja( 3,1)= 3.00000, Ja( 3,2)= 4.00122, Ja( 3,3)= -0.48127 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.12496, JI( 2,2)= 0.12496, JI( 2,3)= -0.12496 JI( 3,1)= -0.83114, JI( 3,2)= 4.15568, JI( 3,3)= -2.49341 x1= 1.00000, x2= 2.00000, x3= 2.99543 X(1)= 1.00000, X(2)= 4.00000, X(3)= 0.33384 D(1)= 1.00000, D(2)= 4.00000, D(3)= -0.11145 F(1)= 0.00153, F(2)= 0.00051, F(3)= 0.00203 iteration 5, total error= 4.06751394205340E-03 Ja( 1,1)= 1.00000, Ja( 1,2)= 8.00000, Ja( 1,3)= -0.33435 Ja( 2,1)= 2.00000, Ja( 2,2)= 4.00000, Ja( 2,3)= -0.11145 Ja( 3,1)= 3.00000, Ja( 3,2)= 4.00000, Ja( 3,3)= -0.44580 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.12500, JI( 2,2)= 0.12500, JI( 2,3)= -0.12500 JI( 3,1)= -0.89726, JI( 3,2)= 4.48631, JI( 3,3)= -2.69179 x1= 1.00000, x2= 2.00000, x3= 2.99999 X(1)= 1.00000, X(2)= 4.00000, X(3)= 0.33333 D(1)= 1.00000, D(2)= 4.00000, D(3)= -0.11111 F(1)= 0.00000, F(2)= 0.00000, F(3)= 0.00000 iteration 6, total error= 6.18086775450166E-06 Ja( 1,1)= 1.00000, Ja( 1,2)= 8.00000, Ja( 1,3)= -0.33333 Ja( 2,1)= 2.00000, Ja( 2,2)= 4.00000, Ja( 2,3)= -0.11111 Ja( 3,1)= 3.00000, Ja( 3,2)= 4.00000, Ja( 3,3)= -0.44445 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.12500, JI( 2,2)= 0.12500, JI( 2,3)= -0.12500 JI( 3,1)= -0.90000, JI( 3,2)= 4.49998, JI( 3,3)= -2.69999 x1= 1.00000, x2= 2.00000, x3= 3.00000 X(1)= 1.00000, X(2)= 4.00000, X(3)= 0.33333 D(1)= 1.00000, D(2)= 4.00000, D(3)= -0.11111 F(1)= 0.00000, F(2)= 0.00000, F(3)= 0.00000 iteration 7, total error= 1.43289824450221E-11 Ja( 1,1)= 1.00000, Ja( 1,2)= 8.00000, Ja( 1,3)= -0.33333 Ja( 2,1)= 2.00000, Ja( 2,2)= 4.00000, Ja( 2,3)= -0.11111 Ja( 3,1)= 3.00000, Ja( 3,2)= 4.00000, Ja( 3,3)= -0.44444 JI( 1,1)= -0.30000, JI( 1,2)= 0.50000, JI( 1,3)= 0.10000 JI( 2,1)= 0.12500, JI( 2,2)= 0.12500, JI( 2,3)= -0.12500 JI( 3,1)= -0.90000, JI( 3,2)= 4.50000, JI( 3,3)= -2.70000 final x1= 1.00000, x2= 2.00000, x3= 3.00000 terms X(1)= 1.00000, X(2)= 4.00000, X(3)= 0.33333 final total error= 1.77635683940025E-15 equation_nl.adb finished