4 November 2023 2:55:26.195 PM pitcon66_test6(): FORTRAN77 version PITCON sample program. Freudenstein-Roth function. This test demonstrates the use of IWORK(1) and RWORK(18) to approximate the jacobian, compare the user jacobian to an approximation, choose forward or centered differences, choose the size of the difference increment, print user, approximate jacobian or difference, print full matrix, or maximum entry. Run 1: standard run for comparison. Don't call jacobian checker. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 3 Continuation 14.2846 -1.72915 0.268744 4 Limit point 14.2831 -1.74138 0.258577 5 Continuation 16.9061 -1.20941 0.546845 Run 2: run with bad jacobian. Call jacobian checker at third step. Use check value IWORK(1)=-1. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7081 -1.94152 0.659666E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -0.50173223232737740 I, J= 2 2 3 Jacobian 14.7081 -1.94152 0.659666E-01 4 Continuation 14.4025 -1.84835 0.161890 5 Continuation 14.2910 -1.76904 0.234917 Run 3: run with bad jacobian. Call jacobian checker at third step. Use check value iwork(1)=-2. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7081 -1.94152 0.659666E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -0.49999987107303845 I, J= 2 2 3 Jacobian 14.7081 -1.94152 0.659666E-01 4 Continuation 14.4025 -1.84835 0.161890 5 Continuation 14.2910 -1.76904 0.234917 Run 4: run with bad jacobian. Call jacobian checker at third step. Use check value iwork(1)=-3. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7081 -1.94152 0.659666E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -0.50173223232737740 I, J= 2 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) -0.12499999999800204 i, j= 1 1 -0.24611333601679775 i, j= 1 2 -1.1105782959930366E-011 i, j= 1 3 1.9979573551154317E-012 i, j= 2 1 -0.50173223232737740 i, j= 2 2 2.3554491690447321E-012 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7081 -1.94152 0.659666E-01 4 Continuation 14.4025 -1.84835 0.161890 5 Continuation 14.2910 -1.76904 0.234917 Run 5: run with bad jacobian. Call jacobian checker at third step. Use check value iwork(1)=-4. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7081 -1.94152 0.659666E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -0.49999987107303845 I, J= 2 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) -0.12499999999985478 i, j= 1 1 -0.25000012892883205 i, j= 1 2 2.5437429940211587E-012 i, j= 1 3 1.4521717162097048E-013 i, j= 2 1 -0.49999987107303845 i, j= 2 2 2.3554491690447321E-012 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7081 -1.94152 0.659666E-01 4 Continuation 14.4025 -1.84835 0.161890 5 Continuation 14.2910 -1.76904 0.234917 Run 6: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-4. Use default value of rwork(18) Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) 1.2898519319293200E-007 I, J= 2 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) 1.3327117187600379E-012 i, j= 1 1 -1.2897783108201111E-007 i, j= 1 2 2.4868995751603507E-013 i, j= 1 3 1.3327117187600379E-012 i, j= 2 1 1.2898519319293200E-007 i, j= 2 2 4.0909498011387768E-012 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 7: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-4. Use finite difference increment rwork(18)=0.1 Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -8.6556821251640770E-002 I, J= 1 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) -5.5511151231257827E-016 i, j= 1 1 -8.6556821251640770E-002 i, j= 1 2 -2.1316282072803006E-014 i, j= 1 3 -5.5511151231257827E-016 i, j= 2 1 8.6556821251631888E-002 i, j= 2 2 1.7763568394002505E-015 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 8: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-4. Use finite difference increment rwork(18)=0.01 Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) 8.6556814799720883E-004 I, J= 2 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) 4.8849813083506888E-015 i, j= 1 1 -8.6556814798655068E-004 i, j= 1 2 -7.1054273576010019E-014 i, j= 1 3 4.8849813083506888E-015 i, j= 2 1 8.6556814799720883E-004 i, j= 2 2 -2.4868995751603507E-014 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 9: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-4. Finite difference increment rwork(18)=0.0001 Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of FP_Approx(I,J)-FP_User(I,J) -8.6559467149527336E-008 I, J= 1 2 DENSLV - Entire difference matrix: FP_Approx(I,J)-FP_User(I,J) 2.5468516184901091E-013 i, j= 1 1 -8.6559467149527336E-008 i, j= 1 2 8.2778228716051672E-012 i, j= 1 3 2.5468516184901091E-013 i, j= 2 1 8.6553157530033786E-008 i, j= 2 2 3.9062086898411508E-012 i, j= 2 3 0.0000000000000000 i, j= 3 1 -0.0000000000000000 i, j= 3 2 -0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 10: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-5. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of finite difference jacobian: 34.000000000000249 I, J= 1 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 11: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-6. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of finite difference jacobian: 34.000000000000249 I, J= 1 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 12: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-7. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of finite difference jacobian: 34.000000000000249 I, J= 1 3 DENSLV - Finite difference jacobian: 1.0000000000031852 i, j= 1 1 -32.731373737499311 i, j= 1 2 34.000000000000249 i, j= 1 3 1.0000000000031852 i, j= 2 1 -6.5711196993741599 i, j= 2 2 10.000000000004091 i, j= 2 3 1.0000000000000000 i, j= 3 1 0.0000000000000000 i, j= 3 2 0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 13: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-8. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of finite difference jacobian: 34.000000000000249 I, J= 1 3 DENSLV - Finite difference jacobian: 1.0000000000013327 i, j= 1 1 -32.735261817798573 i, j= 1 2 34.000000000000249 i, j= 1 3 1.0000000000013327 i, j= 2 1 -6.5693864438229266 i, j= 2 2 10.000000000004091 i, j= 2 3 1.0000000000000000 i, j= 3 1 0.0000000000000000 i, j= 3 2 0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 14: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-9. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of user supplied jacobian: 34.000000000000000 I, J= 1 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Run 15: run with good jacobian. Call jacobian checker at third step. Use check value iwork(1)=-10. Step Type of point X(1) X(2) X(3) 0 Start point 15.0000 -2.00000 0.00000 1 Corrected 15.0000 -2.00000 0.00000 2 Continuation 14.7105 -1.94205 0.653814E-01 Turning on jacobian check option! DENSLV - Maximum value of user supplied jacobian: 34.000000000000000 I, J= 1 3 DENSLV - User supplied jacobian: 1.0000000000000000 i, j= 1 1 -32.735261688820742 i, j= 1 2 34.000000000000000 i, j= 1 3 1.0000000000000000 i, j= 2 1 -6.5693865728081198 i, j= 2 2 10.000000000000000 i, j= 2 3 1.0000000000000000 i, j= 3 1 0.0000000000000000 i, j= 3 2 0.0000000000000000 i, j= 3 3 3 Jacobian 14.7105 -1.94205 0.653814E-01 4 Continuation 14.2846 -1.72915 0.268744 5 Limit point 14.2831 -1.74138 0.258577 Normal conclusion of tests. 4 November 2023 2:55:26.197 PM