equation2_nl.adb running solve system of nonlinear equations | 5.0000 4.0000 3.0000 2.0000 1.0000| | x1 | | 205.1488| | 4.0000 5.0000 3.0000 2.0000 1.0000| | x2^2 | | 217.6888| | 3.0000 3.0000 3.0000 2.0000 1.0000| | x3^3 | | 177.3088| | 1.0000 2.0000 2.0000 2.0000 1.0000| | 1/x4 | | 113.5318| | 2.0000 3.0000 1.0000 1.0000 2.0000| |1/x5^2| | 100.3626| A * Xt = Y guess initial X(1..5) compute Xt = | x1 x2^2 x3^3 1/x4 1/x5^2 | compute derivative D = | 1 2*x2 3*x3^2 -1/x4^2 -2/x5^3 | compute the Jacobian Ja = A * D and invert into Jb iterate X_next = X - fctr*(A*Xt-Y)*Ja^-1 inverse transpose no guarantee of solution or unique solution sum absolute value A*Xt-Y should go to zero initial fctr, for stability = 5.00000000000000E-01 Cx( 1)=-1.66666666666667E-01 Cx( 2)= 1.50000000000000E+00 Cx( 3)=-7.50000000000000E+00 Cx( 4)=-0.00000000000000E+00 Cx( 5)= 7.50000000000000E+00 Cx( 6)=-1.50000000000000E+00 Cx( 7)= 1.66666666666667E-01 Hx( 1)=-3.00000000000000E-01 Hx( 2)=-2.00000000000000E-01 Hx( 3)=-1.00000000000000E-01 Hx( 4)=-2.77555756156289E-17 Hx( 5)= 1.00000000000000E-01 Hx( 6)= 2.00000000000000E-01 Hx( 7)= 3.00000000000000E-01 X( 1)= 1.0000000 -Xd= -0.0000000 X( 2)= 1.0000000 -Xd= -0.0000000 X( 3)= 1.0000000 -Xd= -0.0000000 X( 4)= 1.0000000 -Xd= -0.0000000 X( 5)= 1.0000000 -Xd= -0.0000000 Xt( 1)= 1.00000 Xt( 2)= 1.00000 Xt( 3)= 1.00000 Xt( 4)= 1.00000 Xt( 5)= 1.00000 D( 1)= 1.00000 D( 2)= 2.00000 D( 3)= 3.00000 D( 4)= -1.00000 D( 5)= -2.00000 F( 1)=-190.14878 F( 2)=-202.68878 F( 3)=-165.30878 F( 4)=-105.53178 F( 5)=-91.36256 iteration 1, total error= 7.55040666666667E+02 Ja( 1, 1)= 5.00000 Jb= 5.00000 Ja( 1, 2)= 8.00000 Jb= 8.00000 Ja( 1, 3)= 9.00000 Jb= 9.00000 Ja( 1, 4)= -2.00000 Jb= -2.00008 Ja( 1, 5)= -2.00000 Jb= -2.00035 Ja( 2, 1)= 4.00000 Jb= 4.00000 Ja( 2, 2)= 10.00000 Jb= 10.00000 Ja( 2, 3)= 9.00000 Jb= 9.00000 Ja( 2, 4)= -2.00000 Jb= -2.00008 Ja( 2, 5)= -2.00000 Jb= -2.00035 Ja( 3, 1)= 3.00000 Jb= 3.00000 Ja( 3, 2)= 6.00000 Jb= 6.00000 Ja( 3, 3)= 9.00000 Jb= 9.00000 Ja( 3, 4)= -2.00000 Jb= -2.00008 Ja( 3, 5)= -2.00000 Jb= -2.00035 Ja( 4, 1)= 1.00000 Jb= 1.00000 Ja( 4, 2)= 4.00000 Jb= 4.00000 Ja( 4, 3)= 6.00000 Jb= 6.00000 Ja( 4, 4)= -2.00000 Jb= -2.00008 Ja( 4, 5)= -2.00000 Jb= -2.00035 Ja( 5, 1)= 2.00000 Jb= 2.00000 Ja( 5, 2)= 6.00000 Jb= 6.00000 Ja( 5, 3)= 3.00000 Jb= 3.00000 Ja( 5, 4)= -1.00000 Jb= -1.00004 Ja( 5, 5)= -4.00000 Jb= -4.00069 JI( 1, 1)= 0.66667 JI( 1, 2)= -0.33333 JI( 1, 3)= -0.33333 JI( 1, 4)= 0.00000 JI( 1, 5)= 0.00000 JI( 2, 1)= -0.16667 JI( 2, 2)= 0.33333 JI( 2, 3)= -0.16667 JI( 2, 4)= -0.00000 JI( 2, 5)= 0.00000 JI( 3, 1)= -0.33333 JI( 3, 2)= -0.00000 JI( 3, 3)= 0.66667 JI( 3, 4)= -0.33333 JI( 3, 5)= 0.00000 JI( 4, 1)= -1.11111 JI( 4, 2)= 0.22222 JI( 4, 3)= 1.88889 JI( 4, 4)= -1.66667 JI( 4, 5)= 0.33333 JI( 5, 1)= 0.11111 JI( 5, 2)= 0.27778 JI( 5, 3)= -0.38889 JI( 5, 4)= 0.16667 JI( 5, 5)= -0.33333 inversion error= 5.55111512312578E-15 Xd( 1)= -2.05000 Xd( 2)= -4.16000 Xd( 3)= -5.82283 Xd( 4)= -0.29167 Xd( 5)= -0.13889 X( 1)= 3.0500000 -Xd= 2.0500000 X( 2)= 5.1600000 -Xd= 4.1600000 X( 3)= 6.8228333 -Xd= 5.8228333 X( 4)= 1.2916667 -Xd= 0.2916667 X( 5)= 1.1388889 -Xd= 0.1388889 Terror Fctr reduced= 4.50000000000000E-01 iteration 2, total error= 3.50725914528727E+03 X( 1)= 3.9725000 -Xd= 0.9225000 X( 2)= 4.7681860 -Xd= -0.3918140 X( 3)= 5.9152070 -Xd= -0.9076263 X( 4)= 1.5600911 -Xd= 0.2684245 X( 5)= 1.2474173 -Xd= 0.1085284 Terror Fctr reduced= 4.05000000000000E-01 iteration 3, total error= 2.12533077628546E+03 X( 1)= 4.4291375 -Xd= 0.4566375 X( 2)= 4.5517812 -Xd= -0.2164049 X( 3)= 5.2553091 -Xd= -0.6598979 X( 4)= 1.7812101 -Xd= 0.2211189 X( 5)= 1.3253254 -Xd= 0.0779081 Terror Fctr reduced= 3.64500000000000E-01 iteration 4, total error= 1.35479394084275E+03 X( 1)= 4.6736669 -Xd= 0.2445294 X( 2)= 4.4285118 -Xd= -0.1232694 X( 3)= 4.7748853 -Xd= -0.4804238 X( 4)= 1.9486059 -Xd= 0.1673958 X( 5)= 1.3783046 -Xd= 0.0529793 Terror Fctr reduced= 3.28050000000000E-01 iteration 5, total error= 9.03622227491094E+02 X( 1)= 4.8135255 -Xd= 0.1398586 X( 2)= 4.3554826 -Xd= -0.0730292 X( 3)= 4.4251109 -Xd= -0.3497744 X( 4)= 2.0688348 -Xd= 0.1202288 X( 5)= 1.4134998 -Xd= 0.0351952 Fctr improved= 3.60855000000000E-01 iteration 6, total error= 6.27818758936756E+02 X( 1)= 4.9169012 -Xd= 0.1033758 X( 2)= 4.3003774 -Xd= -0.0551052 X( 3)= 4.1135886 -Xd= -0.3115223 X( 4)= 2.1718478 -Xd= 0.1030130 X( 5)= 1.4420657 -Xd= 0.0285659 Fctr improved= 3.96940500000000E-01 iteration 7, total error= 4.16429752769594E+02 X( 1)= 4.9895805 -Xd= 0.0726793 X( 2)= 4.2609985 -Xd= -0.0393788 X( 3)= 3.8503040 -Xd= -0.2632846 X( 4)= 2.2538014 -Xd= 0.0819536 X( 5)= 1.4637471 -Xd= 0.0216813 Fctr improved= 4.36634550000000E-01 iteration 8, total error= 2.61212242010889E+02 X( 1)= 5.0377935 -Xd= 0.0482129 X( 2)= 4.2345551 -Xd= -0.0264434 X( 3)= 3.6427283 -Xd= -0.2075756 X( 4)= 2.3137482 -Xd= 0.0599468 X( 5)= 1.4790071 -Xd= 0.0152601 Fctr improved= 4.80298005000000E-01 iteration 9, total error= 1.53038582906769E+02 X( 1)= 5.0676712 -Xd= 0.0298777 X( 2)= 4.2180261 -Xd= -0.0165290 X( 3)= 3.4931185 -Xd= -0.1496099 X( 4)= 2.3536859 -Xd= 0.0399378 X( 5)= 1.4888793 -Xd= 0.0098722 Fctr improved= 5.28327805500000E-01 iteration 10, total error= 8.24357005308748E+01 X( 1)= 5.0847514 -Xd= 0.0170802 X( 2)= 4.2085227 -Xd= -0.0095033 X( 3)= 3.3966254 -Xd= -0.0964931 X( 4)= 2.3776828 -Xd= 0.0239968 X( 5)= 1.4946895 -Xd= 0.0058102 Fctr improved= 5.81160586050000E-01 iteration 11, total error= 4.00447661809229E+01 X( 1)= 5.0936133 -Xd= 0.0088619 X( 2)= 4.2035747 -Xd= -0.0049481 X( 3)= 3.3420529 -Xd= -0.0545726 X( 4)= 2.3905321 -Xd= 0.0128493 X( 5)= 1.4977594 -Xd= 0.0030699 Fctr improved= 6.39276644655001E-01 iteration 12, total error= 1.71351018386298E+01 X( 1)= 5.0976962 -Xd= 0.0040829 X( 2)= 4.2012904 -Xd= -0.0022842 X( 3)= 3.3155063 -Xd= -0.0265466 X( 4)= 2.3965608 -Xd= 0.0060288 X( 5)= 1.4991885 -Xd= 0.0014292 Fctr improved= 7.03204309120501E-01 iteration 13, total error= 6.26571437768285E+00 X( 1)= 5.0993162 -Xd= 0.0016201 X( 2)= 4.2003831 -Xd= -0.0009073 X( 3)= 3.3046531 -Xd= -0.0108532 X( 4)= 2.3989758 -Xd= 0.0024150 X( 5)= 1.4997587 -Xd= 0.0005702 Fctr improved= 7.73524740032551E-01 iteration 14, total error= 1.87370003324857E+00 X( 1)= 5.0998451 -Xd= 0.0005289 X( 2)= 4.2000868 -Xd= -0.0002964 X( 3)= 3.3010589 -Xd= -0.0035942 X( 4)= 2.3997677 -Xd= 0.0007919 X( 5)= 1.4999453 -Xd= 0.0001866 Fctr improved= 8.50877214035806E-01 iteration 15, total error= 4.25885058412604E-01 X( 1)= 5.0999769 -Xd= 0.0001318 X( 2)= 4.2000129 -Xd= -0.0000738 X( 3)= 3.3001582 -Xd= -0.0009007 X( 4)= 2.3999653 -Xd= 0.0001976 X( 5)= 1.4999918 -Xd= 0.0000465 Fctr improved= 9.35964935439387E-01 iteration 16, total error= 6.36056899937500E-02 X( 1)= 5.0999985 -Xd= 0.0000216 X( 2)= 4.2000008 -Xd= -0.0000121 X( 3)= 3.3000101 -Xd= -0.0001481 X( 4)= 2.3999978 -Xd= 0.0000324 X( 5)= 1.4999995 -Xd= 0.0000076 Fctr improved= 1.00000000000000E+00 iteration 17, total error= 4.07560208545021E-03 X( 1)= 5.1000000 -Xd= 0.0000015 X( 2)= 4.2000000 -Xd= -0.0000008 X( 3)= 3.3000000 -Xd= -0.0000101 X( 4)= 2.4000000 -Xd= 0.0000022 X( 5)= 1.5000000 -Xd= 0.0000005 Fctr improved= 1.00000000000000E+00 iteration 18, total error= 1.22234808941357E-08 X( 1)= 5.1000000 -Xd= 0.0000000 X( 2)= 4.2000000 -Xd= -0.0000000 X( 3)= 3.3000000 -Xd= -0.0000000 X( 4)= 2.4000000 -Xd= 0.0000000 X( 5)= 1.5000000 -Xd= 0.0000000 Fctr improved= 1.00000000000000E+00 iteration 19, total error= 4.26325641456060E-14 X( 1)= 5.1000000 -Xd= -0.0000000 X( 2)= 4.2000000 -Xd= 0.0000000 X( 3)= 3.3000000 -Xd= 0.0000000 X( 4)= 2.4000000 -Xd= 0.0000000 X( 5)= 1.5000000 -Xd= -0.0000000 Terror Fctr reduced= 9.00000000000000E-01 iteration 20, total error= 7.10542735760100E-14 final results should be X( 1)= 5.1000000 5.1000000 X( 2)= 4.2000000 4.2000000 X( 3)= 3.3000000 3.3000000 X( 4)= 2.4000000 2.4000000 X( 5)= 1.5000000 1.5000000 increased error reduced Fctr 5 times Fctr increased due to reduced error 14 times final fctr= 9.00000000000000E-01 final total error= 7.10542735760100E-14 equation2_nl.adb finished