equation_nl.f90 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 * Xt = Y guess initial x1, x2, x3 compute Xt = | 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 sum absolute value A*Xt-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 Xt(1)= 1.00000, Xt(2)= 1.00000, Xt(3)= 1.00000 D(1)= 1.0000, D(2)= 2.0000, D(3)= -1.0000 F(1)=-4.00000, F(2)=-2.33333, F(3)=-0.33333 iteration 1 , total error= 6.66666666666667 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)= 1.00000, JI(1,2)= 4.00000, JI(1,3)=-3.00000 JI(2,1)= 2.00000, JI(2,2)= 2.00000, JI(2,3)=-1.00000 JI(3,1)= 3.00000, JI(3,2)= 2.00000, JI(3,3)=-4.00000 x1= 1.00000, x2= 2.50000, x3= 1.66667 Xt(1)= 1.00000, Xt(2)= 6.25000, Xt(3)= 0.60000 D(1)= 1.0000, D(2)= 5.0000, D(3)= -0.3600 F(1)= 5.30000, F(2)= 2.51667, F(3)= 3.31667 iteration 2 , total error= 11.1333333333333 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)= 1.00000, JI(1,2)=10.00000, JI(1,3)=-1.08000 JI(2,1)= 2.00000, JI(2,2)= 5.00000, JI(2,3)=-0.36000 JI(3,1)= 3.00000, JI(3,2)= 5.00000, JI(3,3)=-1.44000 x1= 1.00000, x2= 2.05000, x3= 2.40741 Xt(1)= 1.00000, Xt(2)= 4.20250, Xt(3)= 0.41538 D(1)= 1.0000, D(2)= 4.1000, D(3)= -0.1725 F(1)= 0.65115, F(2)= 0.28455, F(3)= 0.53071 iteration 3 , total error= 1.46641025641026 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)= 1.00000, JI(1,2)= 8.20000, JI(1,3)=-0.51763 JI(2,1)= 2.00000, JI(2,2)= 4.10000, JI(2,3)=-0.17254 JI(3,1)= 3.00000, JI(3,2)= 4.10000, JI(3,3)=-0.69018 x1= 1.00000, x2= 2.00061, x3= 2.88294 Xt(1)= 1.00000, Xt(2)= 4.00244, Xt(3)= 0.34687 D(1)= 1.0000, D(2)= 4.0012, D(3)= -0.1203 F(1)= 0.04548, F(2)= 0.01597, F(3)= 0.05658 iteration 4 , total error= 0.118031441498432 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)= 1.00000, JI(1,2)= 8.00244, JI(1,3)=-0.36095 JI(2,1)= 2.00000, JI(2,2)= 4.00122, JI(2,3)=-0.12032 JI(3,1)= 3.00000, JI(3,2)= 4.00122, JI(3,3)=-0.48127 x1= 1.00000, x2= 2.00000, x3= 2.99543 Xt(1)= 1.00000, Xt(2)= 4.00000, Xt(3)= 0.33384 D(1)= 1.0000, D(2)= 4.0000, D(3)= -0.1115 F(1)= 0.00153, F(2)= 0.00051, F(3)= 0.00203 iteration 5 , total error= 4.067513942058731E-003 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)= 1.00000, JI(1,2)= 8.00000, JI(1,3)=-0.33435 JI(2,1)= 2.00000, JI(2,2)= 4.00000, JI(2,3)=-0.11145 JI(3,1)= 3.00000, JI(3,2)= 4.00000, JI(3,3)=-0.44580 x1= 1.00000, x2= 2.00000, x3= 2.99999 Xt(1)= 1.00000, Xt(2)= 4.00000, Xt(3)= 0.33333 D(1)= 1.0000, D(2)= 4.0000, D(3)= -0.1111 F(1)= 0.00000, F(2)= 0.00000, F(3)= 0.00000 iteration 6 , total error= 6.180867756278019E-006 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)= 1.00000, JI(1,2)= 8.00000, JI(1,3)=-0.33333 JI(2,1)= 2.00000, JI(2,2)= 4.00000, JI(2,3)=-0.11111 JI(3,1)= 3.00000, JI(3,2)= 4.00000, JI(3,3)=-0.44445 x1= 1.00000, x2= 2.00000, x3= 3.00000 Xt(1)= 1.00000, Xt(2)= 4.00000, Xt(3)= 0.33333 D(1)= 1.0000, D(2)= 4.0000, D(3)= -0.1111 F(1)= 0.00000, F(2)= 0.00000, F(3)= 0.00000 iteration 7 , total error= 1.432542973134332E-011 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)= 1.00000, JI(1,2)= 8.00000, JI(1,3)=-0.33333 JI(2,1)= 2.00000, JI(2,2)= 4.00000, JI(2,3)=-0.11111 JI(3,1)= 3.00000, JI(3,2)= 4.00000, JI(3,3)=-0.44444 final x1= 1.0000, x2= 2.0000, x3= 3.0000 terms Xt(1)= 1.0000, Xt(2)= 4.0000, Xt(3)= 0.3333 final total error= 1.776356839400250E-015 equation_nl.f90 finished