equation4_nl.c running solve x1 + 2 x2^2 + 3 x3 = 18 2 x1 + x2^2 + 1 x3 = 9 3 x1 + x2^2 + 4 x3 = 19 | 1 2 3 | | x1 | = | 18 | | 2 1 1 | * | x2^2 | = | 9 | | 3 1 4 | | x3 | = | 19 | A * X = Y guess initial x1, x2, x3 compute X = | x1 x2^2 x3 | compute derivative D = | 1 2*x2 1 | compute the Jacobian J = A * D and invert iterate X_next = X - (A*X-Y)*J^-1 no guarentee of solution or unique solution A*X-Y should go to zero | 1.0000 2.0000 3.0000 | | x1 | | 18.0000 | | 2.0000 1.0000 1.0000 | * |x2*x2 | = | 9.0000 | | 3.0000 1.0000 4.0000 | | x3 | | 19.0000 | x1= 3.00000, x2= 0.50000, x3= 1.00000 X[0]= 3.00000 X[1]= 0.25000 X[2]= 1.00000 D[0]= 1.00000 D[1]= 1.00000 D[2]= 1.00000 zero F[0]=-11.50000 F[1]= -1.75000 F[2]= -5.75000 iteration 0, total error=19 J[0][0]= 1.00000 J[0][1]= 2.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 1.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 1.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.50000 JI[1][1]= 0.50000 JI[1][2]= -0.50000 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 4.25000, x3= 3.00000 X[0]= 1.00000 X[1]= 18.06250 X[2]= 3.00000 D[0]= 1.00000 D[1]= 8.50000 D[2]= 1.00000 zero F[0]= 28.12500 F[1]= 14.06250 F[2]= 14.06250 iteration 1, total error=56.25 J[0][0]= 1.00000 J[0][1]= 17.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 8.50000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 8.50000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.05882 JI[1][1]= 0.05882 JI[1][2]= -0.05882 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.59559, x3= 3.00000 X[0]= 1.00000 X[1]= 6.73708 X[2]= 3.00000 D[0]= 1.00000 D[1]= 5.19118 D[2]= 1.00000 zero F[0]= 5.47416 F[1]= 2.73708 F[2]= 2.73708 iteration 2, total error=10.9483 J[0][0]= 1.00000 J[0][1]= 10.38235 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 5.19118 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 5.19118 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.09632 JI[1][1]= 0.09632 JI[1][2]= -0.09632 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.06833, x3= 3.00000 X[0]= 1.00000 X[1]= 4.27800 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.13666 D[2]= 1.00000 zero F[0]= 0.55600 F[1]= 0.27800 F[2]= 0.27800 iteration 3, total error=1.112 J[0][0]= 1.00000 J[0][1]= 8.27333 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.13666 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.13666 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12087 JI[1][1]= 0.12087 JI[1][2]= -0.12087 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00113, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00452 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00226 D[2]= 1.00000 zero F[0]= 0.00903 F[1]= 0.00452 F[2]= 0.00452 iteration 4, total error=0.0180653 J[0][0]= 1.00000 J[0][1]= 8.00452 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00226 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00226 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12493 JI[1][1]= 0.12493 JI[1][2]= -0.12493 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00000, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00000 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00000 D[2]= 1.00000 zero F[0]= 0.00000 F[1]= 0.00000 F[2]= 0.00000 iteration 5, total error=5.09354e-06 J[0][0]= 1.00000 J[0][1]= 8.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12500 JI[1][1]= 0.12500 JI[1][2]= -0.12500 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00000, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00000 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00000 D[2]= 1.00000 zero F[0]= 0.00000 F[1]= 0.00000 F[2]= 0.00000 iteration 6, total error=4.08562e-13 J[0][0]= 1.00000 J[0][1]= 8.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12500 JI[1][1]= 0.12500 JI[1][2]= -0.12500 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00000, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00000 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00000 D[2]= 1.00000 zero F[0]= 0.00000 F[1]= 0.00000 F[2]= 0.00000 iteration 7, total error=0 J[0][0]= 1.00000 J[0][1]= 8.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12500 JI[1][1]= 0.12500 JI[1][2]= -0.12500 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00000, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00000 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00000 D[2]= 1.00000 zero F[0]= 0.00000 F[1]= 0.00000 F[2]= 0.00000 iteration 8, total error=0 J[0][0]= 1.00000 J[0][1]= 8.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12500 JI[1][1]= 0.12500 JI[1][2]= -0.12500 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 x1= 1.00000, x2= 2.00000, x3= 3.00000 X[0]= 1.00000 X[1]= 4.00000 X[2]= 3.00000 D[0]= 1.00000 D[1]= 4.00000 D[2]= 1.00000 zero F[0]= 0.00000 F[1]= 0.00000 F[2]= 0.00000 iteration 9, total error=0 J[0][0]= 1.00000 J[0][1]= 8.00000 J[0][2]= 3.00000 J[1][0]= 2.00000 J[1][1]= 4.00000 J[1][2]= 1.00000 J[2][0]= 3.00000 J[2][1]= 4.00000 J[2][2]= 4.00000 JI[0][0]= -0.30000 JI[0][1]= 0.50000 JI[0][2]= 0.10000 JI[1][0]= 0.12500 JI[1][1]= 0.12500 JI[1][2]= -0.12500 JI[2][0]= 0.10000 JI[2][1]= -0.50000 JI[2][2]= 0.30000 final x1= 1.00000, x2= 2.00000, x3= 3.00000 terms X1= 1.00000, X2= 4.00000, X3= 3.00000 final total error=0 equation4_nl.c finished