|\^/| Maple 12 (IBM INTEL LINUX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2008 \ MAPLE / All rights reserved. Maple is a trademark of <____ ____> Waterloo Maple Inc. | Type ? for help. > #BEGIN OUTFILE1 > > # Begin Function number 3 > display_alot := proc(iter) > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local abserr, analytic_val_y, ind_var, numeric_val, relerr, term_no; > #TOP DISPLAY ALOT > if (iter >= 0) then # if number 1 > ind_var := array_x[1]; > omniout_float(ALWAYS,"x[1] ",33,ind_var,20," "); > analytic_val_y := exact_soln_y(ind_var); > omniout_float(ALWAYS,"y[1] (analytic) ",33,analytic_val_y,20," "); > term_no := 1; > numeric_val := array_y[term_no]; > abserr := abs(numeric_val - analytic_val_y); > omniout_float(ALWAYS,"y[1] (numeric) ",33,numeric_val,20," "); > if (abs(analytic_val_y) <> 0.0) then # if number 2 > relerr := abserr*100.0/abs(analytic_val_y); > else > relerr := -1.0 ; > fi;# end if 2 > ; > if glob_iter = 1 then # if number 2 > array_1st_rel_error[1] := relerr; > else > array_last_rel_error[1] := relerr; > fi;# end if 2 > ; > omniout_float(ALWAYS,"absolute error ",4,abserr,20," "); > omniout_float(ALWAYS,"relative error ",4,relerr,20,"%"); > omniout_float(ALWAYS,"h ",4,glob_h,20," "); > #BOTTOM DISPLAY ALOT > fi;# end if 1 > ; > # End Function number 3 > end; display_alot := proc(iter) local abserr, analytic_val_y, ind_var, numeric_val, relerr, term_no; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; if 0 <= iter then ind_var := array_x[1]; omniout_float(ALWAYS, "x[1] ", 33, ind_var, 20, " "); analytic_val_y := exact_soln_y(ind_var); omniout_float(ALWAYS, "y[1] (analytic) ", 33, analytic_val_y, 20, " "); term_no := 1; numeric_val := array_y[term_no]; abserr := abs(numeric_val - analytic_val_y); omniout_float(ALWAYS, "y[1] (numeric) ", 33, numeric_val, 20, " "); if abs(analytic_val_y) <> 0. then relerr := abserr*100.0/abs(analytic_val_y) else relerr := -1.0 end if; if glob_iter = 1 then array_1st_rel_error[1] := relerr else array_last_rel_error[1] := relerr end if; omniout_float(ALWAYS, "absolute error ", 4, abserr, 20, " "); omniout_float(ALWAYS, "relative error ", 4, relerr, 20, "%"); omniout_float(ALWAYS, "h ", 4, glob_h, 20, " ") end if end proc > # Begin Function number 4 > adjust_for_pole := proc(h_param) > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local hnew, sz2, tmp; > #TOP ADJUST FOR POLE > > hnew := h_param; > glob_normmax := glob_small_float; > if (abs(array_y_higher[1,1]) > glob_small_float) then # if number 1 > tmp := abs(array_y_higher[1,1]); > if (tmp < glob_normmax) then # if number 2 > glob_normmax := tmp; > fi;# end if 2 > fi;# end if 1 > ; > if (glob_look_poles and (abs(array_pole[1]) > glob_small_float) and (array_pole[1] <> glob_large_float)) then # if number 1 > sz2 := array_pole[1]/10.0; > if (sz2 < hnew) then # if number 2 > omniout_float(INFO,"glob_h adjusted to ",20,h_param,12,"due to singularity."); > omniout_str(INFO,"Reached Optimal"); > newline(); > return(hnew); > fi;# end if 2 > fi;# end if 1 > ; > if (not glob_reached_optimal_h) then # if number 1 > glob_reached_optimal_h := true; > glob_curr_iter_when_opt := glob_current_iter; > glob_optimal_clock_start_sec := elapsed_time_seconds(); > glob_optimal_start := array_x[1]; > fi;# end if 1 > ; > hnew := sz2; > #END block > #BOTTOM ADJUST FOR POLE > # End Function number 4 > end; adjust_for_pole := proc(h_param) local hnew, sz2, tmp; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; hnew := h_param; glob_normmax := glob_small_float; if glob_small_float < abs(array_y_higher[1, 1]) then tmp := abs(array_y_higher[1, 1]); if tmp < glob_normmax then glob_normmax := tmp end if end if; if glob_look_poles and glob_small_float < abs(array_pole[1]) and array_pole[1] <> glob_large_float then sz2 := array_pole[1]/10.0; if sz2 < hnew then omniout_float(INFO, "glob_h adjusted to ", 20, h_param, 12, "due to singularity."); omniout_str(INFO, "Reached Optimal"); newline(); return hnew end if end if; if not glob_reached_optimal_h then glob_reached_optimal_h := true; glob_curr_iter_when_opt := glob_current_iter; glob_optimal_clock_start_sec := elapsed_time_seconds(); glob_optimal_start := array_x[1] end if; hnew := sz2 end proc > # Begin Function number 5 > prog_report := proc(x_start,x_end) > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local clock_sec, opt_clock_sec, clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec; > #TOP PROGRESS REPORT > clock_sec1 := elapsed_time_seconds(); > total_clock_sec := convfloat(clock_sec1) - convfloat(glob_orig_start_sec); > glob_clock_sec := convfloat(clock_sec1) - convfloat(glob_clock_start_sec); > left_sec := convfloat(glob_max_sec) + convfloat(glob_orig_start_sec) - convfloat(clock_sec1); > expect_sec := comp_expect_sec(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) + convfloat(glob_h) ,convfloat( clock_sec1) - convfloat(glob_orig_start_sec)); > opt_clock_sec := convfloat( clock_sec1) - convfloat(glob_optimal_clock_start_sec); > glob_optimal_expect_sec := comp_expect_sec(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) +convfloat( glob_h) ,convfloat( opt_clock_sec)); > percent_done := comp_percent(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) + convfloat(glob_h)); > glob_percent_done := percent_done; > omniout_str_noeol(INFO,"Total Elapsed Time "); > omniout_timestr(convfloat(total_clock_sec)); > omniout_str_noeol(INFO,"Elapsed Time(since restart) "); > omniout_timestr(convfloat(glob_clock_sec)); > if convfloat(percent_done) < convfloat(100.0) then # if number 1 > omniout_str_noeol(INFO,"Expected Time Remaining "); > omniout_timestr(convfloat(expect_sec)); > omniout_str_noeol(INFO,"Optimized Time Remaining "); > omniout_timestr(convfloat(glob_optimal_expect_sec)); > fi;# end if 1 > ; > omniout_str_noeol(INFO,"Time to Timeout "); > omniout_timestr(convfloat(left_sec)); > omniout_float(INFO, "Percent Done ",33,percent_done,4,"%"); > #BOTTOM PROGRESS REPORT > # End Function number 5 > end; prog_report := proc(x_start, x_end) local clock_sec, opt_clock_sec, clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; clock_sec1 := elapsed_time_seconds(); total_clock_sec := convfloat(clock_sec1) - convfloat(glob_orig_start_sec); glob_clock_sec := convfloat(clock_sec1) - convfloat(glob_clock_start_sec); left_sec := convfloat(glob_max_sec) + convfloat(glob_orig_start_sec) - convfloat(clock_sec1); expect_sec := comp_expect_sec(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h), convfloat(clock_sec1) - convfloat(glob_orig_start_sec)); opt_clock_sec := convfloat(clock_sec1) - convfloat(glob_optimal_clock_start_sec); glob_optimal_expect_sec := comp_expect_sec(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h), convfloat(opt_clock_sec)); percent_done := comp_percent(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h)); glob_percent_done := percent_done; omniout_str_noeol(INFO, "Total Elapsed Time "); omniout_timestr(convfloat(total_clock_sec)); omniout_str_noeol(INFO, "Elapsed Time(since restart) "); omniout_timestr(convfloat(glob_clock_sec)); if convfloat(percent_done) < convfloat(100.0) then omniout_str_noeol(INFO, "Expected Time Remaining "); omniout_timestr(convfloat(expect_sec)); omniout_str_noeol(INFO, "Optimized Time Remaining "); omniout_timestr(convfloat(glob_optimal_expect_sec)) end if; omniout_str_noeol(INFO, "Time to Timeout "); omniout_timestr(convfloat(left_sec)); omniout_float(INFO, "Percent Done ", 33, percent_done, 4, "%") end proc > # Begin Function number 6 > check_for_pole := proc() > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found; > #TOP CHECK FOR POLE > #IN RADII REAL EQ = 1 > #Computes radius of convergence and r_order of pole from 3 adjacent Taylor series terms. EQUATUON NUMBER 1 > #Applies to pole of arbitrary r_order on the real axis, > #Due to Prof. George Corliss. > n := glob_max_terms; > m := n - 1 - 1; > while ((m >= 10) and ((abs(array_y_higher[1,m]) < glob_small_float) or (abs(array_y_higher[1,m-1]) < glob_small_float) or (abs(array_y_higher[1,m-2]) < glob_small_float ))) do # do number 2 > m := m - 1; > od;# end do number 2 > ; > if (m > 10) then # if number 1 > rm0 := array_y_higher[1,m]/array_y_higher[1,m-1]; > rm1 := array_y_higher[1,m-1]/array_y_higher[1,m-2]; > hdrc := convfloat(m-1)*rm0-convfloat(m-2)*rm1; > if (abs(hdrc) > glob_small_float) then # if number 2 > rcs := glob_h/hdrc; > ord_no := convfloat(m-1)*rm0/hdrc - convfloat(m) + 2.0; > array_real_pole[1,1] := rcs; > array_real_pole[1,2] := ord_no; > else > array_real_pole[1,1] := glob_large_float; > array_real_pole[1,2] := glob_large_float; > fi;# end if 2 > else > array_real_pole[1,1] := glob_large_float; > array_real_pole[1,2] := glob_large_float; > fi;# end if 1 > ; > #BOTTOM RADII REAL EQ = 1 > #TOP RADII COMPLEX EQ = 1 > #Computes radius of convergence for complex conjugate pair of poles. > #from 6 adjacent Taylor series terms > #Also computes r_order of poles. > #Due to Manuel Prieto. > #With a correction by Dennis J. Darland > n := glob_max_terms - 1 - 1; > cnt := 0; > while ((cnt < 5) and (n >= 10)) do # do number 2 > if (abs(array_y_higher[1,n]) > glob_small_float) then # if number 1 > cnt := cnt + 1; > else > cnt := 0; > fi;# end if 1 > ; > n := n - 1; > od;# end do number 2 > ; > m := n + cnt; > if (m <= 10) then # if number 1 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > elif (abs(array_y_higher[1,m]) >= (glob_large_float)) or (abs(array_y_higher[1,m-1]) >=(glob_large_float)) or (abs(array_y_higher[1,m-2]) >= (glob_large_float)) or (abs(array_y_higher[1,m-3]) >= (glob_large_float)) or (abs(array_y_higher[1,m-4]) >= (glob_large_float)) or (abs(array_y_higher[1,m-5]) >= (glob_large_float)) then # if number 2 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > else > rm0 := (array_y_higher[1,m])/(array_y_higher[1,m-1]); > rm1 := (array_y_higher[1,m-1])/(array_y_higher[1,m-2]); > rm2 := (array_y_higher[1,m-2])/(array_y_higher[1,m-3]); > rm3 := (array_y_higher[1,m-3])/(array_y_higher[1,m-4]); > rm4 := (array_y_higher[1,m-4])/(array_y_higher[1,m-5]); > nr1 := convfloat(m-1)*rm0 - 2.0*convfloat(m-2)*rm1 + convfloat(m-3)*rm2; > nr2 := convfloat(m-2)*rm1 - 2.0*convfloat(m-3)*rm2 + convfloat(m-4)*rm3; > dr1 := (-1.0)/rm1 + 2.0/rm2 - 1.0/rm3; > dr2 := (-1.0)/rm2 + 2.0/rm3 - 1.0/rm4; > ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; > ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; > if ((abs(nr1 * dr2 - nr2 * dr1) <= glob_small_float) or (abs(dr1) <= glob_small_float)) then # if number 3 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > else > if (abs(nr1*dr2 - nr2 * dr1) > glob_small_float) then # if number 4 > rcs := ((ds1*dr2 - ds2*dr1 +dr1*dr2)/(nr1*dr2 - nr2 * dr1)); > #(Manuels) rcs := (ds1*dr2 - ds2*dr1)/(nr1*dr2 - nr2 * dr1) > ord_no := (rcs*nr1 - ds1)/(2.0*dr1) -convfloat(m)/2.0; > if (abs(rcs) > glob_small_float) then # if number 5 > if (rcs > 0.0) then # if number 6 > rad_c := sqrt(rcs) * glob_h; > else > rad_c := glob_large_float; > fi;# end if 6 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 5 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 4 > fi;# end if 3 > ; > array_complex_pole[1,1] := rad_c; > array_complex_pole[1,2] := ord_no; > fi;# end if 2 > ; > #BOTTOM RADII COMPLEX EQ = 1 > found := false; > #TOP WHICH RADII EQ = 1 > if not found and ((array_real_pole[1,1] = glob_large_float) or (array_real_pole[1,2] = glob_large_float)) and ((array_complex_pole[1,1] <> glob_large_float) and (array_complex_pole[1,2] <> glob_large_float)) and ((array_complex_pole[1,1] > 0.0) and (array_complex_pole[1,2] > 0.0)) then # if number 2 > array_poles[1,1] := array_complex_pole[1,1]; > array_poles[1,2] := array_complex_pole[1,2]; > found := true; > array_type_pole[1] := 2; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 3 > ; > fi;# end if 2 > ; > if not found and ((array_real_pole[1,1] <> glob_large_float) and (array_real_pole[1,2] <> glob_large_float) and (array_real_pole[1,1] > 0.0) and (array_real_pole[1,2] > 0.0) and ((array_complex_pole[1,1] = glob_large_float) or (array_complex_pole[1,2] = glob_large_float) or (array_complex_pole[1,1] <= 0.0 ) or (array_complex_pole[1,2] <= 0.0))) then # if number 2 > array_poles[1,1] := array_real_pole[1,1]; > array_poles[1,2] := array_real_pole[1,2]; > found := true; > array_type_pole[1] := 1; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 3 > ; > fi;# end if 2 > ; > if not found and (((array_real_pole[1,1] = glob_large_float) or (array_real_pole[1,2] = glob_large_float)) and ((array_complex_pole[1,1] = glob_large_float) or (array_complex_pole[1,2] = glob_large_float))) then # if number 2 > array_poles[1,1] := glob_large_float; > array_poles[1,2] := glob_large_float; > found := true; > array_type_pole[1] := 3; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 3 > ; > fi;# end if 2 > ; > if not found and ((array_real_pole[1,1] < array_complex_pole[1,1]) and (array_real_pole[1,1] > 0.0) and (array_real_pole[1,2] > 0.0)) then # if number 2 > array_poles[1,1] := array_real_pole[1,1]; > array_poles[1,2] := array_real_pole[1,2]; > found := true; > array_type_pole[1] := 1; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 3 > ; > fi;# end if 2 > ; > if not found and ((array_complex_pole[1,1] <> glob_large_float) and (array_complex_pole[1,2] <> glob_large_float) and (array_complex_pole[1,1] > 0.0) and (array_complex_pole[1,2] > 0.0)) then # if number 2 > array_poles[1,1] := array_complex_pole[1,1]; > array_poles[1,2] := array_complex_pole[1,2]; > array_type_pole[1] := 2; > found := true; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 3 > ; > fi;# end if 2 > ; > if not found then # if number 2 > array_poles[1,1] := glob_large_float; > array_poles[1,2] := glob_large_float; > array_type_pole[1] := 3; > if (glob_display_flag) then # if number 3 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 3 > ; > fi;# end if 2 > ; > #BOTTOM WHICH RADII EQ = 1 > array_pole[1] := glob_large_float; > array_pole[2] := glob_large_float; > #TOP WHICH RADIUS EQ = 1 > if array_pole[1] > array_poles[1,1] then # if number 2 > array_pole[1] := array_poles[1,1]; > array_pole[2] := array_poles[1,2]; > fi;# end if 2 > ; > #BOTTOM WHICH RADIUS EQ = 1 > #BOTTOM CHECK FOR POLE > display_pole(); > # End Function number 6 > end; check_for_pole := proc() local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; n := glob_max_terms; m := n - 2; while 10 <= m and (abs(array_y_higher[1, m]) < glob_small_float or abs(array_y_higher[1, m - 1]) < glob_small_float or abs(array_y_higher[1, m - 2]) < glob_small_float) do m := m - 1 end do; if 10 < m then rm0 := array_y_higher[1, m]/array_y_higher[1, m - 1]; rm1 := array_y_higher[1, m - 1]/array_y_higher[1, m - 2]; hdrc := convfloat(m - 1)*rm0 - convfloat(m - 2)*rm1; if glob_small_float < abs(hdrc) then rcs := glob_h/hdrc; ord_no := convfloat(m - 1)*rm0/hdrc - convfloat(m) + 2.0; array_real_pole[1, 1] := rcs; array_real_pole[1, 2] := ord_no else array_real_pole[1, 1] := glob_large_float; array_real_pole[1, 2] := glob_large_float end if else array_real_pole[1, 1] := glob_large_float; array_real_pole[1, 2] := glob_large_float end if; n := glob_max_terms - 2; cnt := 0; while cnt < 5 and 10 <= n do if glob_small_float < abs(array_y_higher[1, n]) then cnt := cnt + 1 else cnt := 0 end if; n := n - 1 end do; m := n + cnt; if m <= 10 then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float elif glob_large_float <= abs(array_y_higher[1, m]) or glob_large_float <= abs(array_y_higher[1, m - 1]) or glob_large_float <= abs(array_y_higher[1, m - 2]) or glob_large_float <= abs(array_y_higher[1, m - 3]) or glob_large_float <= abs(array_y_higher[1, m - 4]) or glob_large_float <= abs(array_y_higher[1, m - 5]) then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float else rm0 := array_y_higher[1, m]/array_y_higher[1, m - 1]; rm1 := array_y_higher[1, m - 1]/array_y_higher[1, m - 2]; rm2 := array_y_higher[1, m - 2]/array_y_higher[1, m - 3]; rm3 := array_y_higher[1, m - 3]/array_y_higher[1, m - 4]; rm4 := array_y_higher[1, m - 4]/array_y_higher[1, m - 5]; nr1 := convfloat(m - 1)*rm0 - 2.0*convfloat(m - 2)*rm1 + convfloat(m - 3)*rm2; nr2 := convfloat(m - 2)*rm1 - 2.0*convfloat(m - 3)*rm2 + convfloat(m - 4)*rm3; dr1 := (-1)*(1.0)/rm1 + 2.0/rm2 - 1.0/rm3; dr2 := (-1)*(1.0)/rm2 + 2.0/rm3 - 1.0/rm4; ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; if abs(nr1*dr2 - nr2*dr1) <= glob_small_float or abs(dr1) <= glob_small_float then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float else if glob_small_float < abs(nr1*dr2 - nr2*dr1) then rcs := (ds1*dr2 - ds2*dr1 + dr1*dr2)/(nr1*dr2 - nr2*dr1); ord_no := (rcs*nr1 - ds1)/(2.0*dr1) - convfloat(m)/2.0; if glob_small_float < abs(rcs) then if 0. < rcs then rad_c := sqrt(rcs)*glob_h else rad_c := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if end if; array_complex_pole[1, 1] := rad_c; array_complex_pole[1, 2] := ord_no end if; found := false; if not found and (array_real_pole[1, 1] = glob_large_float or array_real_pole[1, 2] = glob_large_float) and array_complex_pole[1, 1] <> glob_large_float and array_complex_pole[1, 2] <> glob_large_float and 0. < array_complex_pole[1, 1] and 0. < array_complex_pole[1, 2] then array_poles[1, 1] := array_complex_pole[1, 1]; array_poles[1, 2] := array_complex_pole[1, 2]; found := true; array_type_pole[1] := 2; if glob_display_flag then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if; if not found and array_real_pole[1, 1] <> glob_large_float and array_real_pole[1, 2] <> glob_large_float and 0. < array_real_pole[1, 1] and 0. < array_real_pole[1, 2] and ( array_complex_pole[1, 1] = glob_large_float or array_complex_pole[1, 2] = glob_large_float or array_complex_pole[1, 1] <= 0. or array_complex_pole[1, 2] <= 0.) then array_poles[1, 1] := array_real_pole[1, 1]; array_poles[1, 2] := array_real_pole[1, 2]; found := true; array_type_pole[1] := 1; if glob_display_flag then omniout_str(ALWAYS, "Real estimate of pole used") end if end if; if not found and (array_real_pole[1, 1] = glob_large_float or array_real_pole[1, 2] = glob_large_float) and ( array_complex_pole[1, 1] = glob_large_float or array_complex_pole[1, 2] = glob_large_float) then array_poles[1, 1] := glob_large_float; array_poles[1, 2] := glob_large_float; found := true; array_type_pole[1] := 3; if glob_display_flag then omniout_str(ALWAYS, "NO POLE") end if end if; if not found and array_real_pole[1, 1] < array_complex_pole[1, 1] and 0. < array_real_pole[1, 1] and 0. < array_real_pole[1, 2] then array_poles[1, 1] := array_real_pole[1, 1]; array_poles[1, 2] := array_real_pole[1, 2]; found := true; array_type_pole[1] := 1; if glob_display_flag then omniout_str(ALWAYS, "Real estimate of pole used") end if end if; if not found and array_complex_pole[1, 1] <> glob_large_float and array_complex_pole[1, 2] <> glob_large_float and 0. < array_complex_pole[1, 1] and 0. < array_complex_pole[1, 2] then array_poles[1, 1] := array_complex_pole[1, 1]; array_poles[1, 2] := array_complex_pole[1, 2]; array_type_pole[1] := 2; found := true; if glob_display_flag then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if; if not found then array_poles[1, 1] := glob_large_float; array_poles[1, 2] := glob_large_float; array_type_pole[1] := 3; if glob_display_flag then omniout_str(ALWAYS, "NO POLE") end if end if; array_pole[1] := glob_large_float; array_pole[2] := glob_large_float; if array_poles[1, 1] < array_pole[1] then array_pole[1] := array_poles[1, 1]; array_pole[2] := array_poles[1, 2] end if; display_pole() end proc > # Begin Function number 7 > get_norms := proc() > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local iii; > if (not glob_initial_pass) then # if number 2 > set_z(array_norms,glob_max_terms+1); > #TOP GET NORMS > iii := 1; > while (iii <= glob_max_terms) do # do number 2 > if (abs(array_y[iii]) > array_norms[iii]) then # if number 3 > array_norms[iii] := abs(array_y[iii]); > fi;# end if 3 > ; > iii := iii + 1; > od;# end do number 2 > #GET NORMS > ; > fi;# end if 2 > ; > # End Function number 7 > end; get_norms := proc() local iii; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; if not glob_initial_pass then set_z(array_norms, glob_max_terms + 1); iii := 1; while iii <= glob_max_terms do if array_norms[iii] < abs(array_y[iii]) then array_norms[iii] := abs(array_y[iii]) end if; iii := iii + 1 end do end if end proc > # Begin Function number 8 > atomall := proc() > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > > local kkk, order_d, adj2, temporary, term; > #TOP ATOMALL > #END OUTFILE1 > #BEGIN ATOMHDR1 > # emit pre mult $eq_no = 1 i = 1 > array_tmp1[1] := (array_m1[1] * (array_const_2D0[1])); > #emit pre div $eq_no = 1 i = 1 > array_tmp2[1] := (array_tmp1[1] / (array_x[1])); > #emit pre div $eq_no = 1 i = 1 > array_tmp3[1] := (array_tmp2[1] / (array_x[1])); > #emit pre div $eq_no = 1 i = 1 > array_tmp4[1] := (array_tmp3[1] / (array_x[1])); > #emit pre add $eq_no = 1 i = 1 > array_tmp5[1] := array_const_0D0[1] + array_tmp4[1]; > #emit pre assign xxx $eq_no = 1 i = 1 $min_hdrs = 5 > if not array_y_set_initial[1,2] then # if number 1 > if (1 <= glob_max_terms) then # if number 2 > temporary := array_tmp5[1] * (glob_h ^ (1)) * factorial_3(0,1); > array_y[2] := temporary; > array_y_higher[1,2] := temporary; > temporary := temporary / glob_h * (2.0); > array_y_higher[2,1] := temporary > ; > fi;# end if 2 > ; > fi;# end if 1 > ; > kkk := 2; > #END ATOMHDR1 > #BEGIN ATOMHDR2 > # emit pre mult $eq_no = 1 i = 2 > array_tmp1[2] := ats(2,array_m1,array_const_2D0,1); > #emit pre div $eq_no = 1 i = 2 > array_tmp2[2] := ((array_tmp1[2] - ats(2,array_x,array_tmp2,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 2 > array_tmp3[2] := ((array_tmp2[2] - ats(2,array_x,array_tmp3,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 2 > array_tmp4[2] := ((array_tmp3[2] - ats(2,array_x,array_tmp4,2))/array_x[1]); > #emit pre add $eq_no = 1 i = 2 > array_tmp5[2] := array_const_0D0[2] + array_tmp4[2]; > #emit pre assign xxx $eq_no = 1 i = 2 $min_hdrs = 5 > if not array_y_set_initial[1,3] then # if number 1 > if (2 <= glob_max_terms) then # if number 2 > temporary := array_tmp5[2] * (glob_h ^ (1)) * factorial_3(1,2); > array_y[3] := temporary; > array_y_higher[1,3] := temporary; > temporary := temporary / glob_h * (2.0); > array_y_higher[2,2] := temporary > ; > fi;# end if 2 > ; > fi;# end if 1 > ; > kkk := 3; > #END ATOMHDR2 > #BEGIN ATOMHDR3 > # emit pre mult $eq_no = 1 i = 3 > array_tmp1[3] := ats(3,array_m1,array_const_2D0,1); > #emit pre div $eq_no = 1 i = 3 > array_tmp2[3] := ((array_tmp1[3] - ats(3,array_x,array_tmp2,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 3 > array_tmp3[3] := ((array_tmp2[3] - ats(3,array_x,array_tmp3,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 3 > array_tmp4[3] := ((array_tmp3[3] - ats(3,array_x,array_tmp4,2))/array_x[1]); > #emit pre add $eq_no = 1 i = 3 > array_tmp5[3] := array_const_0D0[3] + array_tmp4[3]; > #emit pre assign xxx $eq_no = 1 i = 3 $min_hdrs = 5 > if not array_y_set_initial[1,4] then # if number 1 > if (3 <= glob_max_terms) then # if number 2 > temporary := array_tmp5[3] * (glob_h ^ (1)) * factorial_3(2,3); > array_y[4] := temporary; > array_y_higher[1,4] := temporary; > temporary := temporary / glob_h * (2.0); > array_y_higher[2,3] := temporary > ; > fi;# end if 2 > ; > fi;# end if 1 > ; > kkk := 4; > #END ATOMHDR3 > #BEGIN ATOMHDR4 > # emit pre mult $eq_no = 1 i = 4 > array_tmp1[4] := ats(4,array_m1,array_const_2D0,1); > #emit pre div $eq_no = 1 i = 4 > array_tmp2[4] := ((array_tmp1[4] - ats(4,array_x,array_tmp2,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 4 > array_tmp3[4] := ((array_tmp2[4] - ats(4,array_x,array_tmp3,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 4 > array_tmp4[4] := ((array_tmp3[4] - ats(4,array_x,array_tmp4,2))/array_x[1]); > #emit pre add $eq_no = 1 i = 4 > array_tmp5[4] := array_const_0D0[4] + array_tmp4[4]; > #emit pre assign xxx $eq_no = 1 i = 4 $min_hdrs = 5 > if not array_y_set_initial[1,5] then # if number 1 > if (4 <= glob_max_terms) then # if number 2 > temporary := array_tmp5[4] * (glob_h ^ (1)) * factorial_3(3,4); > array_y[5] := temporary; > array_y_higher[1,5] := temporary; > temporary := temporary / glob_h * (2.0); > array_y_higher[2,4] := temporary > ; > fi;# end if 2 > ; > fi;# end if 1 > ; > kkk := 5; > #END ATOMHDR4 > #BEGIN ATOMHDR5 > # emit pre mult $eq_no = 1 i = 5 > array_tmp1[5] := ats(5,array_m1,array_const_2D0,1); > #emit pre div $eq_no = 1 i = 5 > array_tmp2[5] := ((array_tmp1[5] - ats(5,array_x,array_tmp2,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 5 > array_tmp3[5] := ((array_tmp2[5] - ats(5,array_x,array_tmp3,2))/array_x[1]); > #emit pre div $eq_no = 1 i = 5 > array_tmp4[5] := ((array_tmp3[5] - ats(5,array_x,array_tmp4,2))/array_x[1]); > #emit pre add $eq_no = 1 i = 5 > array_tmp5[5] := array_const_0D0[5] + array_tmp4[5]; > #emit pre assign xxx $eq_no = 1 i = 5 $min_hdrs = 5 > if not array_y_set_initial[1,6] then # if number 1 > if (5 <= glob_max_terms) then # if number 2 > temporary := array_tmp5[5] * (glob_h ^ (1)) * factorial_3(4,5); > array_y[6] := temporary; > array_y_higher[1,6] := temporary; > temporary := temporary / glob_h * (2.0); > array_y_higher[2,5] := temporary > ; > fi;# end if 2 > ; > fi;# end if 1 > ; > kkk := 6; > #END ATOMHDR5 > #BEGIN OUTFILE3 > #Top Atomall While Loop-- outfile3 > while (kkk <= glob_max_terms) do # do number 1 > #END OUTFILE3 > #BEGIN OUTFILE4 > #emit mult $eq_no = 1 > array_tmp1[kkk] := ats(kkk,array_m1,array_const_2D0,1); > #emit div $eq_no = 1 > array_tmp2[kkk] := ((array_tmp1[kkk] - ats(kkk,array_x,array_tmp2,2))/array_x[1]); > #emit div $eq_no = 1 > array_tmp3[kkk] := ((array_tmp2[kkk] - ats(kkk,array_x,array_tmp3,2))/array_x[1]); > #emit div $eq_no = 1 > array_tmp4[kkk] := ((array_tmp3[kkk] - ats(kkk,array_x,array_tmp4,2))/array_x[1]); > #emit add $eq_no = 1 > array_tmp5[kkk] := array_const_0D0[kkk] + array_tmp4[kkk]; > #emit assign $eq_no = 1 > order_d := 1; > if (kkk + order_d + 1 <= glob_max_terms) then # if number 1 > if not array_y_set_initial[1,kkk + order_d] then # if number 2 > temporary := array_tmp5[kkk] * (glob_h ^ (order_d)) / factorial_3((kkk - 1),(kkk + order_d - 1)); > array_y[kkk + order_d] := temporary; > array_y_higher[1,kkk + order_d] := temporary; > term := kkk + order_d - 1; > adj2 := 2; > while (adj2 <= order_d + 1) and (term >= 1) do # do number 2 > temporary := temporary / glob_h * convfp(adj2); > array_y_higher[adj2,term] := temporary; > adj2 := adj2 + 1; > term := term - 1; > od;# end do number 2 > fi;# end if 2 > fi;# end if 1 > ; > kkk := kkk + 1; > od;# end do number 1 > ; > #BOTTOM ATOMALL > #END OUTFILE4 > #BEGIN OUTFILE5 > # End Function number 8 > end; atomall := proc() local kkk, order_d, adj2, temporary, term; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; array_tmp1[1] := array_m1[1]*array_const_2D0[1]; array_tmp2[1] := array_tmp1[1]/array_x[1]; array_tmp3[1] := array_tmp2[1]/array_x[1]; array_tmp4[1] := array_tmp3[1]/array_x[1]; array_tmp5[1] := array_const_0D0[1] + array_tmp4[1]; if not array_y_set_initial[1, 2] then if 1 <= glob_max_terms then temporary := array_tmp5[1]*glob_h*factorial_3(0, 1); array_y[2] := temporary; array_y_higher[1, 2] := temporary; temporary := temporary*2.0/glob_h; array_y_higher[2, 1] := temporary end if end if; kkk := 2; array_tmp1[2] := ats(2, array_m1, array_const_2D0, 1); array_tmp2[2] := (array_tmp1[2] - ats(2, array_x, array_tmp2, 2))/array_x[1]; array_tmp3[2] := (array_tmp2[2] - ats(2, array_x, array_tmp3, 2))/array_x[1]; array_tmp4[2] := (array_tmp3[2] - ats(2, array_x, array_tmp4, 2))/array_x[1]; array_tmp5[2] := array_const_0D0[2] + array_tmp4[2]; if not array_y_set_initial[1, 3] then if 2 <= glob_max_terms then temporary := array_tmp5[2]*glob_h*factorial_3(1, 2); array_y[3] := temporary; array_y_higher[1, 3] := temporary; temporary := temporary*2.0/glob_h; array_y_higher[2, 2] := temporary end if end if; kkk := 3; array_tmp1[3] := ats(3, array_m1, array_const_2D0, 1); array_tmp2[3] := (array_tmp1[3] - ats(3, array_x, array_tmp2, 2))/array_x[1]; array_tmp3[3] := (array_tmp2[3] - ats(3, array_x, array_tmp3, 2))/array_x[1]; array_tmp4[3] := (array_tmp3[3] - ats(3, array_x, array_tmp4, 2))/array_x[1]; array_tmp5[3] := array_const_0D0[3] + array_tmp4[3]; if not array_y_set_initial[1, 4] then if 3 <= glob_max_terms then temporary := array_tmp5[3]*glob_h*factorial_3(2, 3); array_y[4] := temporary; array_y_higher[1, 4] := temporary; temporary := temporary*2.0/glob_h; array_y_higher[2, 3] := temporary end if end if; kkk := 4; array_tmp1[4] := ats(4, array_m1, array_const_2D0, 1); array_tmp2[4] := (array_tmp1[4] - ats(4, array_x, array_tmp2, 2))/array_x[1]; array_tmp3[4] := (array_tmp2[4] - ats(4, array_x, array_tmp3, 2))/array_x[1]; array_tmp4[4] := (array_tmp3[4] - ats(4, array_x, array_tmp4, 2))/array_x[1]; array_tmp5[4] := array_const_0D0[4] + array_tmp4[4]; if not array_y_set_initial[1, 5] then if 4 <= glob_max_terms then temporary := array_tmp5[4]*glob_h*factorial_3(3, 4); array_y[5] := temporary; array_y_higher[1, 5] := temporary; temporary := temporary*2.0/glob_h; array_y_higher[2, 4] := temporary end if end if; kkk := 5; array_tmp1[5] := ats(5, array_m1, array_const_2D0, 1); array_tmp2[5] := (array_tmp1[5] - ats(5, array_x, array_tmp2, 2))/array_x[1]; array_tmp3[5] := (array_tmp2[5] - ats(5, array_x, array_tmp3, 2))/array_x[1]; array_tmp4[5] := (array_tmp3[5] - ats(5, array_x, array_tmp4, 2))/array_x[1]; array_tmp5[5] := array_const_0D0[5] + array_tmp4[5]; if not array_y_set_initial[1, 6] then if 5 <= glob_max_terms then temporary := array_tmp5[5]*glob_h*factorial_3(4, 5); array_y[6] := temporary; array_y_higher[1, 6] := temporary; temporary := temporary*2.0/glob_h; array_y_higher[2, 5] := temporary end if end if; kkk := 6; while kkk <= glob_max_terms do array_tmp1[kkk] := ats(kkk, array_m1, array_const_2D0, 1); array_tmp2[kkk] := (array_tmp1[kkk] - ats(kkk, array_x, array_tmp2, 2))/array_x[1] ; array_tmp3[kkk] := (array_tmp2[kkk] - ats(kkk, array_x, array_tmp3, 2))/array_x[1] ; array_tmp4[kkk] := (array_tmp3[kkk] - ats(kkk, array_x, array_tmp4, 2))/array_x[1] ; array_tmp5[kkk] := array_const_0D0[kkk] + array_tmp4[kkk]; order_d := 1; if kkk + order_d + 1 <= glob_max_terms then if not array_y_set_initial[1, kkk + order_d] then temporary := array_tmp5[kkk]*glob_h^order_d/ factorial_3(kkk - 1, kkk + order_d - 1); array_y[kkk + order_d] := temporary; array_y_higher[1, kkk + order_d] := temporary; term := kkk + order_d - 1; adj2 := 2; while adj2 <= order_d + 1 and 1 <= term do temporary := temporary*convfp(adj2)/glob_h; array_y_higher[adj2, term] := temporary; adj2 := adj2 + 1; term := term - 1 end do end if end if; kkk := kkk + 1 end do end proc > #BEGIN ATS LIBRARY BLOCK > omniout_str := proc(iolevel,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > printf("%s\n",str); > fi; > # End Function number 1 > end; omniout_str := proc(iolevel, str) global glob_iolevel; if iolevel <= glob_iolevel then printf("%s\n", str) end if end proc > omniout_str_noeol := proc(iolevel,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > printf("%s",str); > fi; > # End Function number 1 > end; omniout_str_noeol := proc(iolevel, str) global glob_iolevel; if iolevel <= glob_iolevel then printf("%s", str) end if end proc > omniout_labstr := proc(iolevel,label,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > print(label,str); > fi; > # End Function number 1 > end; omniout_labstr := proc(iolevel, label, str) global glob_iolevel; if iolevel <= glob_iolevel then print(label, str) end if end proc > omniout_float := proc(iolevel,prelabel,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > if vallen = 4 then > printf("%-30s = %-42.4g %s \n",prelabel,value, postlabel); > else > printf("%-30s = %-42.32g %s \n",prelabel,value, postlabel); > fi; > fi; > # End Function number 1 > end; omniout_float := proc(iolevel, prelabel, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then if vallen = 4 then printf("%-30s = %-42.4g %s \n", prelabel, value, postlabel) else printf("%-30s = %-42.32g %s \n", prelabel, value, postlabel) end if end if end proc > omniout_int := proc(iolevel,prelabel,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > if vallen = 5 then > printf("%-30s = %-32d %s\n",prelabel,value, postlabel); > else > printf("%-30s = %-32d %s \n",prelabel,value, postlabel); > fi; > fi; > # End Function number 1 > end; omniout_int := proc(iolevel, prelabel, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then if vallen = 5 then printf("%-30s = %-32d %s\n", prelabel, value, postlabel) else printf("%-30s = %-32d %s \n", prelabel, value, postlabel) end if end if end proc > omniout_float_arr := proc(iolevel,prelabel,elemnt,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then > print(prelabel,"[",elemnt,"]",value, postlabel); > fi; > # End Function number 1 > end; omniout_float_arr := proc( iolevel, prelabel, elemnt, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then print(prelabel, "[", elemnt, "]", value, postlabel) end if end proc > dump_series := proc(iolevel,dump_label,series_name, > array_series,numb) > global glob_iolevel; > local i; > if (glob_iolevel >= iolevel) then > i := 1; > while (i <= numb) do > print(dump_label,series_name > ,i,array_series[i]); > i := i + 1; > od; > fi; > # End Function number 1 > end; dump_series := proc(iolevel, dump_label, series_name, array_series, numb) local i; global glob_iolevel; if iolevel <= glob_iolevel then i := 1; while i <= numb do print(dump_label, series_name, i, array_series[i]); i := i + 1 end do end if end proc > dump_series_2 := proc(iolevel,dump_label,series_name2, > array_series2,numb,subnum,array_x) > global glob_iolevel; > local i,sub,ts_term; > if (glob_iolevel >= iolevel) then > sub := 1; > while (sub <= subnum) do > i := 1; > while (i <= numb) do > print(dump_label,series_name2,sub,i,array_series2[sub,i]); > od; > sub := sub + 1; > od; > fi; > # End Function number 1 > end; dump_series_2 := proc( iolevel, dump_label, series_name2, array_series2, numb, subnum, array_x) local i, sub, ts_term; global glob_iolevel; if iolevel <= glob_iolevel then sub := 1; while sub <= subnum do i := 1; while i <= numb do print(dump_label, series_name2, sub, i, array_series2[sub, i]) end do; sub := sub + 1 end do end if end proc > cs_info := proc(iolevel,str) > global glob_iolevel,glob_correct_start_flag,glob_h,glob_reached_optimal_h; > if (glob_iolevel >= iolevel) then > print("cs_info " , str , " glob_correct_start_flag = " , glob_correct_start_flag , "glob_h := " , glob_h , "glob_reached_optimal_h := " , glob_reached_optimal_h) > fi; > # End Function number 1 > end; cs_info := proc(iolevel, str) global glob_iolevel, glob_correct_start_flag, glob_h, glob_reached_optimal_h; if iolevel <= glob_iolevel then print("cs_info ", str, " glob_correct_start_flag = ", glob_correct_start_flag, "glob_h := ", glob_h, "glob_reached_optimal_h := ", glob_reached_optimal_h) end if end proc > # Begin Function number 2 > logitem_time := proc(fd,secs_in) > global centuries_in_millinium, days_in_year, hours_in_day, min_in_hour, sec_in_min, years_in_century; > local cent_int, centuries, days, days_int, hours, hours_int, millinium_int, milliniums, minutes, minutes_int, sec_in_millinium, sec_int, seconds, secs, years, years_int; > secs := (secs_in); > if (secs > 0.0) then # if number 1 > sec_in_millinium := convfloat(sec_in_min * min_in_hour * hours_in_day * days_in_year * years_in_century * centuries_in_millinium); > milliniums := convfloat(secs / sec_in_millinium); > millinium_int := floor(milliniums); > centuries := (milliniums - millinium_int)*centuries_in_millinium; > cent_int := floor(centuries); > years := (centuries - cent_int) * years_in_century; > years_int := floor(years); > days := (years - years_int) * days_in_year; > days_int := floor(days); > hours := (days - days_int) * hours_in_day; > hours_int := floor(hours); > minutes := (hours - hours_int) * min_in_hour; > minutes_int := floor(minutes); > seconds := (minutes - minutes_int) * sec_in_min; > sec_int := floor(seconds); > fprintf(fd,""); > if (millinium_int > 0) then # if number 2 > fprintf(fd,"%d Millinia %d Centuries %d Years %d Days %d Hours %d Minutes %d Seconds",millinium_int,cent_int,years_int,days_int,hours_int,minutes_int,sec_int); > elif (cent_int > 0) then # if number 3 > fprintf(fd,"%d Centuries %d Years %d Days %d Hours %d Minutes %d Seconds",cent_int,years_int,days_int,hours_int,minutes_int,sec_int); > elif (years_int > 0) then # if number 4 > fprintf(fd,"%d Years %d Days %d Hours %d Minutes %d Seconds",years_int,days_int,hours_int,minutes_int,sec_int); > elif (days_int > 0) then # if number 5 > fprintf(fd,"%d Days %d Hours %d Minutes %d Seconds",days_int,hours_int,minutes_int,sec_int); > elif (hours_int > 0) then # if number 6 > fprintf(fd,"%d Hours %d Minutes %d Seconds",hours_int,minutes_int,sec_int); > elif (minutes_int > 0) then # if number 7 > fprintf(fd,"%d Minutes %d Seconds",minutes_int,sec_int); > else > fprintf(fd,"%d Seconds",sec_int); > fi;# end if 7 > else > fprintf(fd,"Unknown"); > fi;# end if 6 > fprintf(fd,""); > # End Function number 2 > end; logitem_time := proc(fd, secs_in) local cent_int, centuries, days, days_int, hours, hours_int, millinium_int, milliniums, minutes, minutes_int, sec_in_millinium, sec_int, seconds, secs, years, years_int; global centuries_in_millinium, days_in_year, hours_in_day, min_in_hour, sec_in_min, years_in_century; secs := secs_in; if 0. < secs then sec_in_millinium := convfloat(sec_in_min*min_in_hour*hours_in_day* days_in_year*years_in_century*centuries_in_millinium); milliniums := convfloat(secs/sec_in_millinium); millinium_int := floor(milliniums); centuries := (milliniums - millinium_int)*centuries_in_millinium; cent_int := floor(centuries); years := (centuries - cent_int)*years_in_century; years_int := floor(years); days := (years - years_int)*days_in_year; days_int := floor(days); hours := (days - days_int)*hours_in_day; hours_int := floor(hours); minutes := (hours - hours_int)*min_in_hour; minutes_int := floor(minutes); seconds := (minutes - minutes_int)*sec_in_min; sec_int := floor(seconds); fprintf(fd, ""); if 0 < millinium_int then fprintf(fd, "%d Millinia %d Centuries %\ d Years %d Days %d Hours %d Minutes %d Seconds", millinium_int, cent_int, years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < cent_int then fprintf(fd, "%d Centuries %d Years %d Days %d Hours %d Minutes %d Seconds", cent_int, years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < years_int then fprintf(fd, "%d Years %d Days %d Hours %d Minutes %d Seconds", years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < days_int then fprintf(fd, "%d Days %d Hours %d Minutes %d Seconds", days_int, hours_int, minutes_int, sec_int) elif 0 < hours_int then fprintf(fd, "%d Hours %d Minutes %d Seconds", hours_int, minutes_int, sec_int) elif 0 < minutes_int then fprintf(fd, "%d Minutes %d Seconds", minutes_int, sec_int) else fprintf(fd, "%d Seconds", sec_int) end if else fprintf(fd, "Unknown") end if; fprintf(fd, "") end proc > omniout_timestr := proc (secs_in) > global centuries_in_millinium, days_in_year, hours_in_day, min_in_hour, sec_in_min, years_in_century; > local cent_int, centuries, days, days_int, hours, hours_int, millinium_int, milliniums, minutes, minutes_int, sec_in_millinium, sec_int, seconds, secs, years, years_int; > secs := convfloat(secs_in); > if (secs > 0.0) then # if number 6 > sec_in_millinium := convfloat(sec_in_min * min_in_hour * hours_in_day * days_in_year * years_in_century * centuries_in_millinium); > milliniums := convfloat(secs / sec_in_millinium); > millinium_int := floor(milliniums); > centuries := (milliniums - millinium_int)*centuries_in_millinium; > cent_int := floor(centuries); > years := (centuries - cent_int) * years_in_century; > years_int := floor(years); > days := (years - years_int) * days_in_year; > days_int := floor(days); > hours := (days - days_int) * hours_in_day; > hours_int := floor(hours); > minutes := (hours - hours_int) * min_in_hour; > minutes_int := floor(minutes); > seconds := (minutes - minutes_int) * sec_in_min; > sec_int := floor(seconds); > > if (millinium_int > 0) then # if number 7 > printf(" = %d Millinia %d Centuries %d Years %d Days %d Hours %d Minutes %d Seconds\n",millinium_int,cent_int,years_int,days_int,hours_int,minutes_int,sec_int); > elif (cent_int > 0) then # if number 8 > printf(" = %d Centuries %d Years %d Days %d Hours %d Minutes %d Seconds\n",cent_int,years_int,days_int,hours_int,minutes_int,sec_int); > elif (years_int > 0) then # if number 9 > printf(" = %d Years %d Days %d Hours %d Minutes %d Seconds\n",years_int,days_int,hours_int,minutes_int,sec_int); > elif (days_int > 0) then # if number 10 > printf(" = %d Days %d Hours %d Minutes %d Seconds\n",days_int,hours_int,minutes_int,sec_int); > elif (hours_int > 0) then # if number 11 > printf(" = %d Hours %d Minutes %d Seconds\n",hours_int,minutes_int,sec_int); > elif (minutes_int > 0) then # if number 12 > printf(" = %d Minutes %d Seconds\n",minutes_int,sec_int); > else > printf(" = %d Seconds\n",sec_int); > fi;# end if 12 > else > printf(" Unknown\n"); > fi;# end if 11 > # End Function number 2 > end; omniout_timestr := proc(secs_in) local cent_int, centuries, days, days_int, hours, hours_int, millinium_int, milliniums, minutes, minutes_int, sec_in_millinium, sec_int, seconds, secs, years, years_int; global centuries_in_millinium, days_in_year, hours_in_day, min_in_hour, sec_in_min, years_in_century; secs := convfloat(secs_in); if 0. < secs then sec_in_millinium := convfloat(sec_in_min*min_in_hour*hours_in_day* days_in_year*years_in_century*centuries_in_millinium); milliniums := convfloat(secs/sec_in_millinium); millinium_int := floor(milliniums); centuries := (milliniums - millinium_int)*centuries_in_millinium; cent_int := floor(centuries); years := (centuries - cent_int)*years_in_century; years_int := floor(years); days := (years - years_int)*days_in_year; days_int := floor(days); hours := (days - days_int)*hours_in_day; hours_int := floor(hours); minutes := (hours - hours_int)*min_in_hour; minutes_int := floor(minutes); seconds := (minutes - minutes_int)*sec_in_min; sec_int := floor(seconds); if 0 < millinium_int then printf(" = %d Millinia %d Centuries %d\ Years %d Days %d Hours %d Minutes %d Seconds\n", millinium_int, cent_int, years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < cent_int then printf(" = %d Centuries %d Years %d Days \ %d Hours %d Minutes %d Seconds\n", cent_int, years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < years_int then printf( " = %d Years %d Days %d Hours %d Minutes %d Seconds\n", years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < days_int then printf( " = %d Days %d Hours %d Minutes %d Seconds\n", days_int, hours_int, minutes_int, sec_int) elif 0 < hours_int then printf( " = %d Hours %d Minutes %d Seconds\n", hours_int, minutes_int, sec_int) elif 0 < minutes_int then printf(" = %d Minutes %d Seconds\n", minutes_int, sec_int) else printf(" = %d Seconds\n", sec_int) end if else printf(" Unknown\n") end if end proc > > # Begin Function number 3 > ats := proc( > mmm_ats,array_a,array_b,jjj_ats) > local iii_ats, lll_ats,ma_ats, ret_ats; > ret_ats := 0.0; > if (jjj_ats <= mmm_ats) then # if number 11 > ma_ats := mmm_ats + 1; > iii_ats := jjj_ats; > while (iii_ats <= mmm_ats) do # do number 1 > lll_ats := ma_ats - iii_ats; > ret_ats := ret_ats + array_a[iii_ats]*array_b[lll_ats]; > iii_ats := iii_ats + 1; > od;# end do number 1 > fi;# end if 11 > ; > ret_ats > # End Function number 3 > end; ats := proc(mmm_ats, array_a, array_b, jjj_ats) local iii_ats, lll_ats, ma_ats, ret_ats; ret_ats := 0.; if jjj_ats <= mmm_ats then ma_ats := mmm_ats + 1; iii_ats := jjj_ats; while iii_ats <= mmm_ats do lll_ats := ma_ats - iii_ats; ret_ats := ret_ats + array_a[iii_ats]*array_b[lll_ats]; iii_ats := iii_ats + 1 end do end if; ret_ats end proc > > # Begin Function number 4 > att := proc( > mmm_att,array_aa,array_bb,jjj_att) > global glob_max_terms; > local al_att, iii_att,lll_att, ma_att, ret_att; > ret_att := 0.0; > if (jjj_att <= mmm_att) then # if number 11 > ma_att := mmm_att + 2; > iii_att := jjj_att; > while (iii_att <= mmm_att) do # do number 1 > lll_att := ma_att - iii_att; > al_att := (lll_att - 1); > if (lll_att <= glob_max_terms) then # if number 12 > ret_att := ret_att + array_aa[iii_att]*array_bb[lll_att]* convfp(al_att); > fi;# end if 12 > ; > iii_att := iii_att + 1; > od;# end do number 1 > ; > ret_att := ret_att / convfp(mmm_att) ; > fi;# end if 11 > ; > ret_att; > # End Function number 4 > end; att := proc(mmm_att, array_aa, array_bb, jjj_att) local al_att, iii_att, lll_att, ma_att, ret_att; global glob_max_terms; ret_att := 0.; if jjj_att <= mmm_att then ma_att := mmm_att + 2; iii_att := jjj_att; while iii_att <= mmm_att do lll_att := ma_att - iii_att; al_att := lll_att - 1; if lll_att <= glob_max_terms then ret_att := ret_att + array_aa[iii_att]*array_bb[lll_att]*convfp(al_att) end if; iii_att := iii_att + 1 end do; ret_att := ret_att/convfp(mmm_att) end if; ret_att end proc > # Begin Function number 5 > display_pole := proc() > global ALWAYS,glob_display_flag, glob_large_float, array_pole; > if ((array_pole[1] <> glob_large_float) and (array_pole[1] > 0.0) and (array_pole[2] <> glob_large_float) and (array_pole[2]> 0.0) and glob_display_flag) then # if number 11 > omniout_float(ALWAYS,"Radius of convergence ",4, array_pole[1],4," "); > omniout_float(ALWAYS,"Order of pole ",4, array_pole[2],4," "); > fi;# end if 11 > # End Function number 5 > end; display_pole := proc() global ALWAYS, glob_display_flag, glob_large_float, array_pole; if array_pole[1] <> glob_large_float and 0. < array_pole[1] and array_pole[2] <> glob_large_float and 0. < array_pole[2] and glob_display_flag then omniout_float(ALWAYS, "Radius of convergence ", 4, array_pole[1], 4, " "); omniout_float(ALWAYS, "Order of pole ", 4, array_pole[2], 4, " ") end if end proc > # Begin Function number 6 > logditto := proc(file) > fprintf(file,""); > fprintf(file,"ditto"); > fprintf(file,""); > # End Function number 6 > end; logditto := proc(file) fprintf(file, ""); fprintf(file, "ditto"); fprintf(file, "") end proc > # Begin Function number 7 > logitem_integer := proc(file,n) > fprintf(file,""); > fprintf(file,"%d",n); > fprintf(file,""); > # End Function number 7 > end; logitem_integer := proc(file, n) fprintf(file, ""); fprintf(file, "%d", n); fprintf(file, "") end proc > # Begin Function number 8 > logitem_str := proc(file,str) > fprintf(file,""); > fprintf(file,str); > fprintf(file,""); > # End Function number 8 > end; logitem_str := proc(file, str) fprintf(file, ""); fprintf(file, str); fprintf(file, "") end proc > # Begin Function number 9 > log_revs := proc(file,revs) > fprintf(file,revs); > # End Function number 9 > end; log_revs := proc(file, revs) fprintf(file, revs) end proc > # Begin Function number 10 > logitem_float := proc(file,x) > fprintf(file,""); > fprintf(file,"%g",x); > fprintf(file,""); > # End Function number 10 > end; logitem_float := proc(file, x) fprintf(file, ""); fprintf(file, "%g", x); fprintf(file, "") end proc > # Begin Function number 11 > logitem_pole := proc(file,pole) > fprintf(file,""); > if pole = 0 then # if number 11 > fprintf(file,"NA"); > elif pole = 1 then # if number 12 > fprintf(file,"Real"); > elif pole = 2 then # if number 13 > fprintf(file,"Complex"); > else > fprintf(file,"No Pole"); > fi;# end if 13 > fprintf(file,""); > # End Function number 11 > end; logitem_pole := proc(file, pole) fprintf(file, ""); if pole = 0 then fprintf(file, "NA") elif pole = 1 then fprintf(file, "Real") elif pole = 2 then fprintf(file, "Complex") else fprintf(file, "No Pole") end if; fprintf(file, "") end proc > # Begin Function number 12 > logstart := proc(file) > fprintf(file,""); > # End Function number 12 > end; logstart := proc(file) fprintf(file, "") end proc > # Begin Function number 13 > logend := proc(file) > fprintf(file,"\n"); > # End Function number 13 > end; logend := proc(file) fprintf(file, "\n") end proc > # Begin Function number 14 > chk_data := proc() > global glob_max_iter,ALWAYS, glob_max_terms; > local errflag; > errflag := false; > > if ((glob_max_terms < 15) or (glob_max_terms > 512)) then # if number 13 > omniout_str(ALWAYS,"Illegal max_terms = -- Using 30"); > glob_max_terms := 30; > fi;# end if 13 > ; > if (glob_max_iter < 2) then # if number 13 > omniout_str(ALWAYS,"Illegal max_iter"); > errflag := true; > fi;# end if 13 > ; > if (errflag) then # if number 13 > > quit; > fi;# end if 13 > # End Function number 14 > end; chk_data := proc() local errflag; global glob_max_iter, ALWAYS, glob_max_terms; errflag := false; if glob_max_terms < 15 or 512 < glob_max_terms then omniout_str(ALWAYS, "Illegal max_terms = -- Using 30"); glob_max_terms := 30 end if; if glob_max_iter < 2 then omniout_str(ALWAYS, "Illegal max_iter"); errflag := true end if; if errflag then quit end if end proc > > # Begin Function number 15 > comp_expect_sec := proc(t_end2,t_start2,t2,clock_sec) > global glob_small_float; > local ms2, rrr, sec_left, sub1, sub2; > ; > ms2 := clock_sec; > sub1 := (t_end2-t_start2); > sub2 := (t2-t_start2); > if (sub1 = 0.0) then # if number 13 > sec_left := 0.0; > else > if (abs(sub2) > 0.0) then # if number 14 > rrr := (sub1/sub2); > sec_left := rrr * ms2 - ms2; > else > sec_left := 0.0; > fi;# end if 14 > fi;# end if 13 > ; > sec_left; > # End Function number 15 > end; comp_expect_sec := proc(t_end2, t_start2, t2, clock_sec) local ms2, rrr, sec_left, sub1, sub2; global glob_small_float; ms2 := clock_sec; sub1 := t_end2 - t_start2; sub2 := t2 - t_start2; if sub1 = 0. then sec_left := 0. else if 0. < abs(sub2) then rrr := sub1/sub2; sec_left := rrr*ms2 - ms2 else sec_left := 0. end if end if; sec_left end proc > > # Begin Function number 16 > comp_percent := proc(t_end2,t_start2,t2) > global glob_small_float; > local rrr, sub1, sub2; > sub1 := (t_end2-t_start2); > sub2 := (t2-t_start2); > if (abs(sub2) > glob_small_float) then # if number 13 > rrr := (100.0*sub2)/sub1; > else > rrr := 0.0; > fi;# end if 13 > ; > rrr > # End Function number 16 > end; comp_percent := proc(t_end2, t_start2, t2) local rrr, sub1, sub2; global glob_small_float; sub1 := t_end2 - t_start2; sub2 := t2 - t_start2; if glob_small_float < abs(sub2) then rrr := 100.0*sub2/sub1 else rrr := 0. end if; rrr end proc > # Begin Function number 17 > factorial_1 := proc(nnn) > global glob_max_terms,array_fact_1; > local ret; > if (nnn <= glob_max_terms) then # if number 13 > if array_fact_1[nnn] = 0 then # if number 14 > ret := nnn!; > array_fact_1[nnn] := ret; > else > ret := array_fact_1[nnn]; > fi;# end if 14 > ; > else > ret := nnn!; > fi;# end if 13 > ; > ret; > # End Function number 17 > end; factorial_1 := proc(nnn) local ret; global glob_max_terms, array_fact_1; if nnn <= glob_max_terms then if array_fact_1[nnn] = 0 then ret := nnn!; array_fact_1[nnn] := ret else ret := array_fact_1[nnn] end if else ret := nnn! end if; ret end proc > # Begin Function number 18 > factorial_3 := proc(mmm,nnn) > global glob_max_terms,array_fact_2; > local ret; > if (nnn <= glob_max_terms) and (mmm <= glob_max_terms) then # if number 13 > if array_fact_2[mmm,nnn] = 0 then # if number 14 > ret := factorial_1(mmm)/factorial_1(nnn); > array_fact_2[mmm,nnn] := ret; > else > ret := array_fact_2[mmm,nnn]; > fi;# end if 14 > ; > else > ret := (mmm!)/(nnn!); > fi;# end if 13 > ; > ret; > # End Function number 18 > end; factorial_3 := proc(mmm, nnn) local ret; global glob_max_terms, array_fact_2; if nnn <= glob_max_terms and mmm <= glob_max_terms then if array_fact_2[mmm, nnn] = 0 then ret := factorial_1(mmm)/factorial_1(nnn); array_fact_2[mmm, nnn] := ret else ret := array_fact_2[mmm, nnn] end if else ret := mmm!/nnn! end if; ret end proc > # Begin Function number 19 > convfp := proc(mmm) > (mmm); > > # End Function number 19 > end; convfp := proc(mmm) mmm end proc > # Begin Function number 20 > convfloat := proc(mmm) > (mmm); > > # End Function number 20 > end; convfloat := proc(mmm) mmm end proc > elapsed_time_seconds := proc() > time(); > end; elapsed_time_seconds := proc() time() end proc > > > > #END ATS LIBRARY BLOCK > #BEGIN USER DEF BLOCK > #BEGIN USER DEF BLOCK > exact_soln_y := proc(x) > 1.0/x/x; > end; exact_soln_y := proc(x) 1.0/(x*x) end proc > > > #END USER DEF BLOCK > #END USER DEF BLOCK > #END OUTFILE5 > # Begin Function number 2 > mainprog := proc() > #BEGIN OUTFIEMAIN > local d1,d2,d3,d4,est_err_2,niii,done_once, > term,ord,order_diff,term_no,html_log_file,iiif,jjjf, > rows,r_order,sub_iter,calc_term,iii,temp_sum,current_iter, > x_start,x_end > ,it, log10norm, max_terms, opt_iter, tmp; > #Top Generate Globals Definition > #Bottom Generate Globals Deninition > global > INFO, > glob_iolevel, > DEBUGL, > glob_max_terms, > DEBUGMASSIVE, > ALWAYS, > #Top Generate Globals Decl > glob_max_minutes, > glob_normmax, > glob_warned, > glob_unchanged_h_cnt, > glob_optimal_expect_sec, > glob_optimal_clock_start_sec, > glob_large_float, > glob_max_opt_iter, > MAX_UNCHANGED, > glob_dump_analytic, > glob_look_poles, > glob_hmin_init, > glob_log10relerr, > glob_curr_iter_when_opt, > glob_relerr, > glob_abserr, > glob_display_flag, > glob_iter, > glob_hmin, > glob_h, > centuries_in_millinium, > days_in_year, > glob_subiter_method, > glob_start, > glob_warned2, > glob_smallish_float, > glob_max_iter, > glob_log10_relerr, > djd_debug2, > glob_log10normmin, > glob_orig_start_sec, > glob_log10_abserr, > glob_last_good_h, > glob_disp_incr, > glob_initial_pass, > glob_almost_1, > years_in_century, > glob_dump, > glob_max_sec, > glob_optimal_start, > glob_max_trunc_err, > glob_max_hours, > glob_hmax, > glob_reached_optimal_h, > sec_in_min, > djd_debug, > glob_current_iter, > glob_not_yet_finished, > glob_clock_sec, > hours_in_day, > glob_log10abserr, > glob_small_float, > glob_max_rel_trunc_err, > glob_not_yet_start_msg, > glob_clock_start_sec, > min_in_hour, > glob_html_log, > glob_no_eqs, > glob_optimal_done, > glob_percent_done, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_2D0, > array_const_0D0, > #END CONST > array_type_pole, > array_last_rel_error, > array_1st_rel_error, > array_y_init, > array_norms, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_m1, > array_fact_1, > array_pole, > array_y, > array_x, > array_y_higher_work2, > array_poles, > array_real_pole, > array_fact_2, > array_y_set_initial, > array_y_higher_work, > array_complex_pole, > array_y_higher, > glob_last; > glob_last; > ALWAYS := 1; > INFO := 2; > DEBUGL := 3; > DEBUGMASSIVE := 4; > glob_iolevel := INFO; > INFO := 2; > glob_iolevel := 5; > DEBUGL := 3; > glob_max_terms := 30; > DEBUGMASSIVE := 4; > ALWAYS := 1; > glob_max_minutes := 0.0; > glob_normmax := 0.0; > glob_warned := false; > glob_unchanged_h_cnt := 0; > glob_optimal_expect_sec := 0.1; > glob_optimal_clock_start_sec := 0.0; > glob_large_float := 9.0e100; > glob_max_opt_iter := 10; > MAX_UNCHANGED := 10; > glob_dump_analytic := false; > glob_look_poles := false; > glob_hmin_init := 0.001; > glob_log10relerr := 0.0; > glob_curr_iter_when_opt := 0; > glob_relerr := 0.1e-10; > glob_abserr := 0.1e-10; > glob_display_flag := true; > glob_iter := 0; > glob_hmin := 0.00000000001; > glob_h := 0.1; > centuries_in_millinium := 10.0; > days_in_year := 365.0; > glob_subiter_method := 3; > glob_start := 0; > glob_warned2 := false; > glob_smallish_float := 0.1e-100; > glob_max_iter := 1000; > glob_log10_relerr := 0.1e-10; > djd_debug2 := true; > glob_log10normmin := 0.1; > glob_orig_start_sec := 0.0; > glob_log10_abserr := 0.1e-10; > glob_last_good_h := 0.1; > glob_disp_incr := 0.1; > glob_initial_pass := true; > glob_almost_1 := 0.9990; > years_in_century := 100.0; > glob_dump := false; > glob_max_sec := 10000.0; > glob_optimal_start := 0.0; > glob_max_trunc_err := 0.1e-10; > glob_max_hours := 0.0; > glob_hmax := 1.0; > glob_reached_optimal_h := false; > sec_in_min := 60.0; > djd_debug := true; > glob_current_iter := 0; > glob_not_yet_finished := true; > glob_clock_sec := 0.0; > hours_in_day := 24.0; > glob_log10abserr := 0.0; > glob_small_float := 0.1e-50; > glob_max_rel_trunc_err := 0.1e-10; > glob_not_yet_start_msg := true; > glob_clock_start_sec := 0.0; > min_in_hour := 60.0; > glob_html_log := true; > glob_no_eqs := 0; > glob_optimal_done := false; > glob_percent_done := 0.0; > #Write Set Defaults > glob_orig_start_sec := elapsed_time_seconds(); > MAX_UNCHANGED := 10; > glob_curr_iter_when_opt := 0; > glob_display_flag := true; > glob_no_eqs := 1; > glob_iter := -1; > opt_iter := -1; > glob_max_iter := 50000; > glob_max_hours := 0.0; > glob_max_minutes := 15.0; > omniout_str(ALWAYS,"##############ECHO OF PROBLEM#################"); > omniout_str(ALWAYS,"##############temp/sing3postode.ode#################"); > omniout_str(ALWAYS,"diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#BEGIN FIRST INPUT BLOCK"); > omniout_str(ALWAYS,"Digits := 32;"); > omniout_str(ALWAYS,"max_terms := 30;"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#END FIRST INPUT BLOCK"); > omniout_str(ALWAYS,"#BEGIN SECOND INPUT BLOCK"); > omniout_str(ALWAYS,"x_start := -1.0;"); > omniout_str(ALWAYS,"x_end := -0.7;"); > omniout_str(ALWAYS,"array_y_init[0 + 1] := exact_soln_y(x_start);"); > omniout_str(ALWAYS,"glob_h := 0.1;"); > omniout_str(ALWAYS,"glob_look_poles := true;"); > omniout_str(ALWAYS,"glob_max_iter := 100000;"); > omniout_str(ALWAYS,"#END SECOND INPUT BLOCK"); > omniout_str(ALWAYS,"#BEGIN OVERRIDE BLOCK"); > omniout_str(ALWAYS,"glob_h := 0.001 ;"); > omniout_str(ALWAYS,"glob_look_poles := true;"); > omniout_str(ALWAYS,"glob_max_iter := 1000;"); > omniout_str(ALWAYS,"glob_max_minutes := 15;"); > omniout_str(ALWAYS,"#END OVERRIDE BLOCK"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#BEGIN USER DEF BLOCK"); > omniout_str(ALWAYS,"exact_soln_y := proc(x)"); > omniout_str(ALWAYS,"1.0/x/x;"); > omniout_str(ALWAYS,"end;"); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,"#END USER DEF BLOCK"); > omniout_str(ALWAYS,"#######END OF ECHO OF PROBLEM#################"); > glob_unchanged_h_cnt := 0; > glob_warned := false; > glob_warned2 := false; > glob_small_float := 1.0e-200; > glob_smallish_float := 1.0e-64; > glob_large_float := 1.0e100; > glob_almost_1 := 0.99; > glob_log10_abserr := -8.0; > glob_log10_relerr := -8.0; > glob_hmax := 0.01; > #BEGIN FIRST INPUT BLOCK > #BEGIN FIRST INPUT BLOCK > Digits := 32; > max_terms := 30; > #END FIRST INPUT BLOCK > #START OF INITS AFTER INPUT BLOCK > glob_max_terms := max_terms; > glob_html_log := true; > #END OF INITS AFTER INPUT BLOCK > array_type_pole:= Array(0..(max_terms + 1),[]); > array_last_rel_error:= Array(0..(max_terms + 1),[]); > array_1st_rel_error:= Array(0..(max_terms + 1),[]); > array_y_init:= Array(0..(max_terms + 1),[]); > array_norms:= Array(0..(max_terms + 1),[]); > array_tmp0:= Array(0..(max_terms + 1),[]); > array_tmp1:= Array(0..(max_terms + 1),[]); > array_tmp2:= Array(0..(max_terms + 1),[]); > array_tmp3:= Array(0..(max_terms + 1),[]); > array_tmp4:= Array(0..(max_terms + 1),[]); > array_tmp5:= Array(0..(max_terms + 1),[]); > array_m1:= Array(0..(max_terms + 1),[]); > array_fact_1:= Array(0..(max_terms + 1),[]); > array_pole:= Array(0..(max_terms + 1),[]); > array_y:= Array(0..(max_terms + 1),[]); > array_x:= Array(0..(max_terms + 1),[]); > array_y_higher_work2 := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_poles := Array(0..(1+ 1) ,(0..3+ 1),[]); > array_real_pole := Array(0..(1+ 1) ,(0..3+ 1),[]); > array_fact_2 := Array(0..(max_terms+ 1) ,(0..max_terms+ 1),[]); > array_y_set_initial := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_y_higher_work := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_complex_pole := Array(0..(1+ 1) ,(0..3+ 1),[]); > array_y_higher := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > term := 1; > while term <= max_terms do # do number 2 > array_type_pole[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_last_rel_error[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_1st_rel_error[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_y_init[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_norms[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp0[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp2[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp3[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp4[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_tmp5[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_fact_1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_pole[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_y[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > term := 1; > while term <= max_terms do # do number 2 > array_x[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=2 do # do number 2 > term := 1; > while term <= max_terms do # do number 3 > array_y_higher_work2[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=1 do # do number 2 > term := 1; > while term <= 3 do # do number 3 > array_poles[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=1 do # do number 2 > term := 1; > while term <= 3 do # do number 3 > array_real_pole[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=max_terms do # do number 2 > term := 1; > while term <= max_terms do # do number 3 > array_fact_2[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=2 do # do number 2 > term := 1; > while term <= max_terms do # do number 3 > array_y_set_initial[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=2 do # do number 2 > term := 1; > while term <= max_terms do # do number 3 > array_y_higher_work[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=1 do # do number 2 > term := 1; > while term <= 3 do # do number 3 > array_complex_pole[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > ord := 1; > while ord <=2 do # do number 2 > term := 1; > while term <= max_terms do # do number 3 > array_y_higher[ord,term] := 0.0; > term := term + 1; > od;# end do number 3 > ; > ord := ord + 1; > od;# end do number 2 > ; > #BEGIN ARRAYS DEFINED AND INITIALIZATED > array_tmp5 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp5[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_tmp4 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp4[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_tmp3 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp3[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_tmp2 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp2[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_tmp1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_tmp0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_tmp0[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_m1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_x := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_x[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_y := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_y[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_const_1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_const_1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_const_1[1] := 1; > array_const_2D0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_const_2D0[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_const_2D0[1] := 2.0; > array_const_0D0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms + 1 do # do number 2 > array_const_0D0[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_const_0D0[1] := 0.0; > array_m1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while term <= max_terms do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2 > ; > array_m1[1] := -1.0; > #END ARRAYS DEFINED AND INITIALIZATED > #Initing Factorial Tables > iiif := 0; > while iiif <= glob_max_terms do # do number 2 > jjjf := 0; > while jjjf <= glob_max_terms do # do number 3 > array_fact_1[iiif] := 0; > array_fact_2[iiif,jjjf] := 0; > jjjf := jjjf + 1; > od;# end do number 3 > ; > iiif := iiif + 1; > od;# end do number 2 > ; > #Done Initing Factorial Tables > #TOP SECOND INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > #END FIRST INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > x_start := -1.0; > x_end := -0.7; > array_y_init[0 + 1] := exact_soln_y(x_start); > glob_h := 0.1; > glob_look_poles := true; > glob_max_iter := 100000; > #END SECOND INPUT BLOCK > #BEGIN OVERRIDE BLOCK > glob_h := 0.001 ; > glob_look_poles := true; > glob_max_iter := 1000; > glob_max_minutes := 15; > #END OVERRIDE BLOCK > #END SECOND INPUT BLOCK > #BEGIN INITS AFTER SECOND INPUT BLOCK > glob_last_good_h := glob_h; > glob_max_terms := max_terms; > glob_max_sec := convfloat(60.0) * convfloat(glob_max_minutes) + convfloat(3600.0) * convfloat(glob_max_hours); > glob_abserr := 10.0 ^ (glob_log10_abserr); > glob_relerr := 10.0 ^ (glob_log10_relerr); > chk_data(); > #AFTER INITS AFTER SECOND INPUT BLOCK > array_y_set_initial[1,1] := true; > array_y_set_initial[1,2] := false; > array_y_set_initial[1,3] := false; > array_y_set_initial[1,4] := false; > array_y_set_initial[1,5] := false; > array_y_set_initial[1,6] := false; > array_y_set_initial[1,7] := false; > array_y_set_initial[1,8] := false; > array_y_set_initial[1,9] := false; > array_y_set_initial[1,10] := false; > array_y_set_initial[1,11] := false; > array_y_set_initial[1,12] := false; > array_y_set_initial[1,13] := false; > array_y_set_initial[1,14] := false; > array_y_set_initial[1,15] := false; > array_y_set_initial[1,16] := false; > array_y_set_initial[1,17] := false; > array_y_set_initial[1,18] := false; > array_y_set_initial[1,19] := false; > array_y_set_initial[1,20] := false; > array_y_set_initial[1,21] := false; > array_y_set_initial[1,22] := false; > array_y_set_initial[1,23] := false; > array_y_set_initial[1,24] := false; > array_y_set_initial[1,25] := false; > array_y_set_initial[1,26] := false; > array_y_set_initial[1,27] := false; > array_y_set_initial[1,28] := false; > array_y_set_initial[1,29] := false; > array_y_set_initial[1,30] := false; > if glob_html_log then # if number 2 > html_log_file := fopen("html/entry.html",WRITE,TEXT); > fi;# end if 2 > ; > #BEGIN SOLUTION CODE > omniout_str(ALWAYS,"START of Soultion"); > #Start Series -- INITIALIZE FOR SOLUTION > array_x[1] := x_start; > array_x[2] := glob_h; > order_diff := 1; > #Start Series array_y > term_no := 1; > while (term_no <= order_diff) do # do number 2 > array_y[term_no] := array_y_init[term_no] * glob_h ^ (term_no - 1) / factorial_1(term_no - 1); > term_no := term_no + 1; > od;# end do number 2 > ; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 2 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 3 > it := term_no + r_order - 1; > array_y_higher[r_order,term_no] := array_y_init[it]* (glob_h ^ (term_no - 1)) / ((factorial_1(term_no - 1))); > term_no := term_no + 1; > od;# end do number 3 > ; > r_order := r_order + 1; > od;# end do number 2 > ; > current_iter := 1; > glob_clock_start_sec := elapsed_time_seconds(); > start_array_y(); > if (abs(array_y_higher[1,1]) > glob_small_float) then # if number 2 > tmp := abs(array_y_higher[1,1]); > log10norm := (log10(tmp)); > if (log10norm < glob_log10normmin) then # if number 3 > glob_log10normmin := log10norm; > fi;# end if 3 > fi;# end if 2 > ; > display_alot(current_iter) > ; > glob_clock_sec := elapsed_time_seconds(); > glob_current_iter := 0; > glob_iter := 0; > omniout_str(DEBUGL," "); > glob_reached_optimal_h := true; > glob_optimal_clock_start_sec := elapsed_time_seconds(); > while ((glob_current_iter < glob_max_iter) and (array_x[1] <= x_end ) and ((convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec)) < convfloat(glob_max_sec))) do # do number 2 > #left paren 0001C > omniout_str(INFO," "); > omniout_str(INFO,"TOP MAIN SOLVE Loop"); > glob_iter := glob_iter + 1; > glob_clock_sec := elapsed_time_seconds(); > glob_current_iter := glob_current_iter + 1; > atomall(); > if (glob_look_poles) then # if number 2 > #left paren 0004C > check_for_pole(); > fi;# end if 2 > ;#was right paren 0004C > array_x[1] := array_x[1] + glob_h; > array_x[2] := glob_h; > #Jump Series array_y > order_diff := 1; > #START PART 1 SUM AND ADJUST > #START SUM AND ADJUST EQ =1 > #sum_and_adjust array_y > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 2; > calc_term := 1; > #adjust_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y_higher_work[2,iii] := array_y_higher[2,iii] / (glob_h ^ (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3 > ; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 2; > calc_term := 1; > #sum_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3 > ; > array_y_higher_work2[ord,calc_term] := temp_sum * (glob_h ^ (calc_term - 1)) / (factorial_1(calc_term - 1)!); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 2; > #adjust_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y_higher_work[1,iii] := array_y_higher[1,iii] / (glob_h ^ (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3 > ; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 2; > #sum_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3 > ; > array_y_higher_work2[ord,calc_term] := temp_sum * (glob_h ^ (calc_term - 1)) / (factorial_1(calc_term - 1)!); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 1; > #adjust_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y_higher_work[1,iii] := array_y_higher[1,iii] / (glob_h ^ (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3 > ; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 1; > #sum_subseriesarray_y > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3 > ; > array_y_higher_work2[ord,calc_term] := temp_sum * (glob_h ^ (calc_term - 1)) / (factorial_1(calc_term - 1)!); > #AFTER SUM SUBSERIES EQ =1 > #END SUM AND ADJUST EQ =1 > #END PART 1 > #START PART 2 MOVE TERMS to REGULAR Array > term_no := glob_max_terms; > while (term_no >= 1) do # do number 3 > array_y[term_no] := array_y_higher_work2[1,term_no]; > ord := 1; > while ord <= order_diff do # do number 4 > array_y_higher[ord,term_no] := array_y_higher_work2[ord,term_no]; > ord := ord + 1; > od;# end do number 4 > ; > term_no := term_no - 1; > od;# end do number 3 > ; > #END PART 2 HEVE MOVED TERMS to REGULAR Array > display_alot(current_iter) > ; > od;# end do number 2 > ;#right paren 0001C > omniout_str(ALWAYS,"Finished!"); > if (glob_iter >= glob_max_iter) then # if number 2 > omniout_str(ALWAYS,"Maximum Iterations Reached before Solution Completed!") > fi;# end if 2 > ; > if (elapsed_time_seconds() - convfloat(glob_orig_start_sec) >= convfloat(glob_max_sec )) then # if number 2 > omniout_str(ALWAYS,"Maximum Time Reached before Solution Completed!") > fi;# end if 2 > ; > glob_clock_sec := elapsed_time_seconds(); > omniout_str(INFO,"diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;"); > omniout_int(INFO,"Iterations ",32,glob_iter,4," ") > ; > prog_report(x_start,x_end); > if glob_html_log then # if number 2 > logstart(html_log_file); > logitem_str(html_log_file,"2012-06-18T00:57:04-05:00") > ; > logitem_str(html_log_file,"Maple") > ; > logitem_str(html_log_file,"sing3") > ; > logitem_str(html_log_file,"diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;") > ; > logitem_float(html_log_file,x_start) > ; > logitem_float(html_log_file,x_end) > ; > logitem_float(html_log_file,array_x[1]) > ; > logitem_float(html_log_file,glob_h) > ; > logitem_integer(html_log_file,Digits) > ; > ; > logitem_integer(html_log_file,glob_max_terms) > ; > logitem_float(html_log_file,array_1st_rel_error[1]) > ; > logitem_float(html_log_file,array_last_rel_error[1]) > ; > logitem_integer(html_log_file,glob_iter) > ; > logitem_pole(html_log_file,array_type_pole[1]) > ; > if array_type_pole[1] = 1 or array_type_pole[1] = 2 then # if number 3 > logitem_float(html_log_file,array_pole[1]) > ; > logitem_float(html_log_file,array_pole[2]) > ; > 0; > else > logitem_str(html_log_file,"NA") > ; > logitem_str(html_log_file,"NA") > ; > 0; > fi;# end if 3 > ; > logitem_time(html_log_file,convfloat(glob_clock_sec)) > ; > if glob_percent_done < 100.0 then # if number 3 > logitem_time(html_log_file,convfloat(glob_optimal_expect_sec)) > ; > 0 > else > logitem_str(html_log_file,"Done") > ; > 0 > fi;# end if 3 > ; > log_revs(html_log_file," 092 ") > ; > logitem_str(html_log_file,"sing3 diffeq.mxt") > ; > logitem_str(html_log_file,"sing3 maple results") > ; > logitem_str(html_log_file,"Mostly affecting speed of factorials") > ; > logend(html_log_file) > ; > ; > fi;# end if 2 > ; > if glob_html_log then # if number 2 > fclose(html_log_file); > fi;# end if 2 > ; > ;; > #END OUTFILEMAIN > # End Function number 8 > end; mainprog := proc() local d1, d2, d3, d4, est_err_2, niii, done_once, term, ord, order_diff, term_no, html_log_file, iiif, jjjf, rows, r_order, sub_iter, calc_term, iii, temp_sum, current_iter, x_start, x_end, it, log10norm, max_terms, opt_iter, tmp; global INFO, glob_iolevel, DEBUGL, glob_max_terms, DEBUGMASSIVE, ALWAYS, glob_max_minutes, glob_normmax, glob_warned, glob_unchanged_h_cnt, glob_optimal_expect_sec, glob_optimal_clock_start_sec, glob_large_float, glob_max_opt_iter, MAX_UNCHANGED, glob_dump_analytic, glob_look_poles, glob_hmin_init, glob_log10relerr, glob_curr_iter_when_opt, glob_relerr, glob_abserr, glob_display_flag, glob_iter, glob_hmin, glob_h, centuries_in_millinium, days_in_year, glob_subiter_method, glob_start, glob_warned2, glob_smallish_float, glob_max_iter, glob_log10_relerr, djd_debug2, glob_log10normmin, glob_orig_start_sec, glob_log10_abserr, glob_last_good_h, glob_disp_incr, glob_initial_pass, glob_almost_1, years_in_century, glob_dump, glob_max_sec, glob_optimal_start, glob_max_trunc_err, glob_max_hours, glob_hmax, glob_reached_optimal_h, sec_in_min, djd_debug, glob_current_iter, glob_not_yet_finished, glob_clock_sec, hours_in_day, glob_log10abserr, glob_small_float, glob_max_rel_trunc_err, glob_not_yet_start_msg, glob_clock_start_sec, min_in_hour, glob_html_log, glob_no_eqs, glob_optimal_done, glob_percent_done, array_const_1, array_const_2D0, array_const_0D0, array_type_pole, array_last_rel_error, array_1st_rel_error, array_y_init, array_norms, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_m1, array_fact_1, array_pole, array_y, array_x, array_y_higher_work2, array_poles, array_real_pole, array_fact_2, array_y_set_initial, array_y_higher_work, array_complex_pole, array_y_higher, glob_last; glob_last; ALWAYS := 1; INFO := 2; DEBUGL := 3; DEBUGMASSIVE := 4; glob_iolevel := INFO; INFO := 2; glob_iolevel := 5; DEBUGL := 3; glob_max_terms := 30; DEBUGMASSIVE := 4; ALWAYS := 1; glob_max_minutes := 0.; glob_normmax := 0.; glob_warned := false; glob_unchanged_h_cnt := 0; glob_optimal_expect_sec := 0.1; glob_optimal_clock_start_sec := 0.; glob_large_float := 0.90*10^101; glob_max_opt_iter := 10; MAX_UNCHANGED := 10; glob_dump_analytic := false; glob_look_poles := false; glob_hmin_init := 0.001; glob_log10relerr := 0.; glob_curr_iter_when_opt := 0; glob_relerr := 0.1*10^(-10); glob_abserr := 0.1*10^(-10); glob_display_flag := true; glob_iter := 0; glob_hmin := 0.1*10^(-10); glob_h := 0.1; centuries_in_millinium := 10.0; days_in_year := 365.0; glob_subiter_method := 3; glob_start := 0; glob_warned2 := false; glob_smallish_float := 0.1*10^(-100); glob_max_iter := 1000; glob_log10_relerr := 0.1*10^(-10); djd_debug2 := true; glob_log10normmin := 0.1; glob_orig_start_sec := 0.; glob_log10_abserr := 0.1*10^(-10); glob_last_good_h := 0.1; glob_disp_incr := 0.1; glob_initial_pass := true; glob_almost_1 := 0.9990; years_in_century := 100.0; glob_dump := false; glob_max_sec := 10000.0; glob_optimal_start := 0.; glob_max_trunc_err := 0.1*10^(-10); glob_max_hours := 0.; glob_hmax := 1.0; glob_reached_optimal_h := false; sec_in_min := 60.0; djd_debug := true; glob_current_iter := 0; glob_not_yet_finished := true; glob_clock_sec := 0.; hours_in_day := 24.0; glob_log10abserr := 0.; glob_small_float := 0.1*10^(-50); glob_max_rel_trunc_err := 0.1*10^(-10); glob_not_yet_start_msg := true; glob_clock_start_sec := 0.; min_in_hour := 60.0; glob_html_log := true; glob_no_eqs := 0; glob_optimal_done := false; glob_percent_done := 0.; glob_orig_start_sec := elapsed_time_seconds(); MAX_UNCHANGED := 10; glob_curr_iter_when_opt := 0; glob_display_flag := true; glob_no_eqs := 1; glob_iter := -1; opt_iter := -1; glob_max_iter := 50000; glob_max_hours := 0.; glob_max_minutes := 15.0; omniout_str(ALWAYS, "##############ECHO OF PROBLEM#################"); omniout_str(ALWAYS, "##############temp/sing3postode.ode#################"); omniout_str(ALWAYS, "diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#BEGIN FIRST INPUT BLOCK"); omniout_str(ALWAYS, "Digits := 32;"); omniout_str(ALWAYS, "max_terms := 30;"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#END FIRST INPUT BLOCK"); omniout_str(ALWAYS, "#BEGIN SECOND INPUT BLOCK"); omniout_str(ALWAYS, "x_start := -1.0;"); omniout_str(ALWAYS, "x_end := -0.7;"); omniout_str(ALWAYS, "array_y_init[0 + 1] := exact_soln_y(x_start);"); omniout_str(ALWAYS, "glob_h := 0.1;"); omniout_str(ALWAYS, "glob_look_poles := true;"); omniout_str(ALWAYS, "glob_max_iter := 100000;"); omniout_str(ALWAYS, "#END SECOND INPUT BLOCK"); omniout_str(ALWAYS, "#BEGIN OVERRIDE BLOCK"); omniout_str(ALWAYS, "glob_h := 0.001 ;"); omniout_str(ALWAYS, "glob_look_poles := true;"); omniout_str(ALWAYS, "glob_max_iter := 1000;"); omniout_str(ALWAYS, "glob_max_minutes := 15;"); omniout_str(ALWAYS, "#END OVERRIDE BLOCK"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#BEGIN USER DEF BLOCK"); omniout_str(ALWAYS, "exact_soln_y := proc(x)"); omniout_str(ALWAYS, "1.0/x/x;"); omniout_str(ALWAYS, "end;"); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, "#END USER DEF BLOCK"); omniout_str(ALWAYS, "#######END OF ECHO OF PROBLEM#################"); glob_unchanged_h_cnt := 0; glob_warned := false; glob_warned2 := false; glob_small_float := 0.10*10^(-199); glob_smallish_float := 0.10*10^(-63); glob_large_float := 0.10*10^101; glob_almost_1 := 0.99; glob_log10_abserr := -8.0; glob_log10_relerr := -8.0; glob_hmax := 0.01; Digits := 32; max_terms := 30; glob_max_terms := max_terms; glob_html_log := true; array_type_pole := Array(0 .. max_terms + 1, []); array_last_rel_error := Array(0 .. max_terms + 1, []); array_1st_rel_error := Array(0 .. max_terms + 1, []); array_y_init := Array(0 .. max_terms + 1, []); array_norms := Array(0 .. max_terms + 1, []); array_tmp0 := Array(0 .. max_terms + 1, []); array_tmp1 := Array(0 .. max_terms + 1, []); array_tmp2 := Array(0 .. max_terms + 1, []); array_tmp3 := Array(0 .. max_terms + 1, []); array_tmp4 := Array(0 .. max_terms + 1, []); array_tmp5 := Array(0 .. max_terms + 1, []); array_m1 := Array(0 .. max_terms + 1, []); array_fact_1 := Array(0 .. max_terms + 1, []); array_pole := Array(0 .. max_terms + 1, []); array_y := Array(0 .. max_terms + 1, []); array_x := Array(0 .. max_terms + 1, []); array_y_higher_work2 := Array(0 .. 3, 0 .. max_terms + 1, []); array_poles := Array(0 .. 2, 0 .. 4, []); array_real_pole := Array(0 .. 2, 0 .. 4, []); array_fact_2 := Array(0 .. max_terms + 1, 0 .. max_terms + 1, []); array_y_set_initial := Array(0 .. 3, 0 .. max_terms + 1, []); array_y_higher_work := Array(0 .. 3, 0 .. max_terms + 1, []); array_complex_pole := Array(0 .. 2, 0 .. 4, []); array_y_higher := Array(0 .. 3, 0 .. max_terms + 1, []); term := 1; while term <= max_terms do array_type_pole[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_last_rel_error[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_1st_rel_error[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_y_init[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_norms[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp0[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp2[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp3[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp4[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp5[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_m1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_fact_1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_pole[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_y[term] := 0.; term := term + 1 end do ; term := 1; while term <= max_terms do array_x[term] := 0.; term := term + 1 end do ; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y_higher_work2[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 1 do term := 1; while term <= 3 do array_poles[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 1 do term := 1; while term <= 3 do array_real_pole[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= max_terms do term := 1; while term <= max_terms do array_fact_2[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y_set_initial[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y_higher_work[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 1 do term := 1; while term <= 3 do array_complex_pole[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y_higher[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; array_tmp5 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp5[term] := 0.; term := term + 1 end do; array_tmp4 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp4[term] := 0.; term := term + 1 end do; array_tmp3 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp3[term] := 0.; term := term + 1 end do; array_tmp2 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp2[term] := 0.; term := term + 1 end do; array_tmp1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp1[term] := 0.; term := term + 1 end do; array_tmp0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp0[term] := 0.; term := term + 1 end do; array_m1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_m1[term] := 0.; term := term + 1 end do; array_x := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_x[term] := 0.; term := term + 1 end do; array_y := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_y[term] := 0.; term := term + 1 end do; array_const_1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_1[term] := 0.; term := term + 1 end do; array_const_1[1] := 1; array_const_2D0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_2D0[term] := 0.; term := term + 1 end do; array_const_2D0[1] := 2.0; array_const_0D0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_0D0[term] := 0.; term := term + 1 end do; array_const_0D0[1] := 0.; array_m1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms do array_m1[term] := 0.; term := term + 1 end do; array_m1[1] := -1.0; iiif := 0; while iiif <= glob_max_terms do jjjf := 0; while jjjf <= glob_max_terms do array_fact_1[iiif] := 0; array_fact_2[iiif, jjjf] := 0; jjjf := jjjf + 1 end do; iiif := iiif + 1 end do; x_start := -1.0; x_end := -0.7; array_y_init[1] := exact_soln_y(x_start); glob_h := 0.1; glob_look_poles := true; glob_max_iter := 100000; glob_h := 0.001; glob_look_poles := true; glob_max_iter := 1000; glob_max_minutes := 15; glob_last_good_h := glob_h; glob_max_terms := max_terms; glob_max_sec := convfloat(60.0)*convfloat(glob_max_minutes) + convfloat(3600.0)*convfloat(glob_max_hours); glob_abserr := 10.0^glob_log10_abserr; glob_relerr := 10.0^glob_log10_relerr; chk_data(); array_y_set_initial[1, 1] := true; array_y_set_initial[1, 2] := false; array_y_set_initial[1, 3] := false; array_y_set_initial[1, 4] := false; array_y_set_initial[1, 5] := false; array_y_set_initial[1, 6] := false; array_y_set_initial[1, 7] := false; array_y_set_initial[1, 8] := false; array_y_set_initial[1, 9] := false; array_y_set_initial[1, 10] := false; array_y_set_initial[1, 11] := false; array_y_set_initial[1, 12] := false; array_y_set_initial[1, 13] := false; array_y_set_initial[1, 14] := false; array_y_set_initial[1, 15] := false; array_y_set_initial[1, 16] := false; array_y_set_initial[1, 17] := false; array_y_set_initial[1, 18] := false; array_y_set_initial[1, 19] := false; array_y_set_initial[1, 20] := false; array_y_set_initial[1, 21] := false; array_y_set_initial[1, 22] := false; array_y_set_initial[1, 23] := false; array_y_set_initial[1, 24] := false; array_y_set_initial[1, 25] := false; array_y_set_initial[1, 26] := false; array_y_set_initial[1, 27] := false; array_y_set_initial[1, 28] := false; array_y_set_initial[1, 29] := false; array_y_set_initial[1, 30] := false; if glob_html_log then html_log_file := fopen("html/entry.html", WRITE, TEXT) end if; omniout_str(ALWAYS, "START of Soultion"); array_x[1] := x_start; array_x[2] := glob_h; order_diff := 1; term_no := 1; while term_no <= order_diff do array_y[term_no] := array_y_init[term_no]*glob_h^(term_no - 1)/ factorial_1(term_no - 1); term_no := term_no + 1 end do; rows := order_diff; r_order := 1; while r_order <= rows do term_no := 1; while term_no <= rows - r_order + 1 do it := term_no + r_order - 1; array_y_higher[r_order, term_no] := array_y_init[it]* glob_h^(term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; r_order := r_order + 1 end do; current_iter := 1; glob_clock_start_sec := elapsed_time_seconds(); start_array_y(); if glob_small_float < abs(array_y_higher[1, 1]) then tmp := abs(array_y_higher[1, 1]); log10norm := log10(tmp); if log10norm < glob_log10normmin then glob_log10normmin := log10norm end if end if; display_alot(current_iter); glob_clock_sec := elapsed_time_seconds(); glob_current_iter := 0; glob_iter := 0; omniout_str(DEBUGL, " "); glob_reached_optimal_h := true; glob_optimal_clock_start_sec := elapsed_time_seconds(); while glob_current_iter < glob_max_iter and array_x[1] <= x_end and convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec) < convfloat(glob_max_sec) do omniout_str(INFO, " "); omniout_str(INFO, "TOP MAIN SOLVE Loop"); glob_iter := glob_iter + 1; glob_clock_sec := elapsed_time_seconds(); glob_current_iter := glob_current_iter + 1; atomall(); if glob_look_poles then check_for_pole() end if; array_x[1] := array_x[1] + glob_h; array_x[2] := glob_h; order_diff := 1; ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y_higher_work[2, iii] := array_y_higher[2, iii]/( glob_h^(calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum*glob_h^(calc_term - 1)/factorial_1(calc_term - 1)!; ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do array_y_higher_work[1, iii] := array_y_higher[1, iii]/( glob_h^(calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum*glob_h^(calc_term - 1)/factorial_1(calc_term - 1)!; ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y_higher_work[1, iii] := array_y_higher[1, iii]/( glob_h^(calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum*glob_h^(calc_term - 1)/factorial_1(calc_term - 1)!; term_no := glob_max_terms; while 1 <= term_no do array_y[term_no] := array_y_higher_work2[1, term_no]; ord := 1; while ord <= order_diff do array_y_higher[ord, term_no] := array_y_higher_work2[ord, term_no]; ord := ord + 1 end do; term_no := term_no - 1 end do; display_alot(current_iter) end do; omniout_str(ALWAYS, "Finished!"); if glob_max_iter <= glob_iter then omniout_str(ALWAYS, "Maximum Iterations Reached before Solution Completed!") end if; if convfloat(glob_max_sec) <= elapsed_time_seconds() - convfloat(glob_orig_start_sec) then omniout_str(ALWAYS, "Maximum Time Reached before Solution Completed!") end if; glob_clock_sec := elapsed_time_seconds(); omniout_str(INFO, "diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;"); omniout_int(INFO, "Iterations ", 32, glob_iter, 4, " "); prog_report(x_start, x_end); if glob_html_log then logstart(html_log_file); logitem_str(html_log_file, "2012-06-18T00:57:04-05:00"); logitem_str(html_log_file, "Maple"); logitem_str(html_log_file, "sing3"); logitem_str(html_log_file, "diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ;"); logitem_float(html_log_file, x_start); logitem_float(html_log_file, x_end); logitem_float(html_log_file, array_x[1]); logitem_float(html_log_file, glob_h); logitem_integer(html_log_file, Digits); logitem_integer(html_log_file, glob_max_terms); logitem_float(html_log_file, array_1st_rel_error[1]); logitem_float(html_log_file, array_last_rel_error[1]); logitem_integer(html_log_file, glob_iter); logitem_pole(html_log_file, array_type_pole[1]); if array_type_pole[1] = 1 or array_type_pole[1] = 2 then logitem_float(html_log_file, array_pole[1]); logitem_float(html_log_file, array_pole[2]); 0 else logitem_str(html_log_file, "NA"); logitem_str(html_log_file, "NA"); 0 end if; logitem_time(html_log_file, convfloat(glob_clock_sec)); if glob_percent_done < 100.0 then logitem_time(html_log_file, convfloat(glob_optimal_expect_sec)) ; 0 else logitem_str(html_log_file, "Done"); 0 end if; log_revs(html_log_file, " 092 "); logitem_str(html_log_file, "sing3 diffeq.mxt"); logitem_str(html_log_file, "sing3 maple results"); logitem_str(html_log_file, "Mostly affecting speed of factorials"); logend(html_log_file) end if; if glob_html_log then fclose(html_log_file) end if end proc > mainprog(); ##############ECHO OF PROBLEM################# ##############temp/sing3postode.ode################# diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ; ! #BEGIN FIRST INPUT BLOCK Digits := 32; max_terms := 30; ! #END FIRST INPUT BLOCK #BEGIN SECOND INPUT BLOCK x_start := -1.0; x_end := -0.7; array_y_init[0 + 1] := exact_soln_y(x_start); glob_h := 0.1; glob_look_poles := true; glob_max_iter := 100000; #END SECOND INPUT BLOCK #BEGIN OVERRIDE BLOCK glob_h := 0.001 ; glob_look_poles := true; glob_max_iter := 1000; glob_max_minutes := 15; #END OVERRIDE BLOCK ! #BEGIN USER DEF BLOCK exact_soln_y := proc(x) 1.0/x/x; end; #END USER DEF BLOCK #######END OF ECHO OF PROBLEM################# START of Soultion x[1] = -1 y[1] (analytic) = 1 y[1] (numeric) = 1 absolute error = 0 relative error = 0 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.008 Order of pole = 4.437 x[1] = -0.999 y[1] (analytic) = 1.002003004005006007008009010011 y[1] (numeric) = 1.0020030040050062523925768111015 absolute error = 2.453845678010905e-16 relative error = 2.4489404405005612009050000000000e-14 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.007 Order of pole = 4.437 x[1] = -0.998 y[1] (analytic) = 1.0040120320801924490263091312887 y[1] (numeric) = 1.0040120320801929417677732682409 absolute error = 4.927414641369522e-16 relative error = 4.9077246924626093900879999999997e-14 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.006 Order of pole = 4.437 x[1] = -0.997 y[1] (analytic) = 1.0060271084064631205552464816717 y[1] (numeric) = 1.0060271084064638626437880330719 absolute error = 7.420885415514002e-16 relative error = 7.3764268909896576140180000000000e-14 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.005 Order of pole = 4.437 x[1] = -0.996 y[1] (analytic) = 1.0080482572861728036644570248866 y[1] (numeric) = 1.0080482572861737971082893409124 absolute error = 9.934438323160258e-16 relative error = 9.8551217675881465001280000000009e-14 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.004 Order of pole = 4.437 x[1] = -0.995 y[1] (analytic) = 1.0100755031438600035352642610035 y[1] (numeric) = 1.0100755031438612503608146835256 absolute error = 1.2468255504225221e-15 relative error = 1.2343884655570574420525000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.003 Order of pole = 4.437 x[1] = -0.994 y[1] (analytic) = 1.0121088705269848467059904699829 y[1] (numeric) = 1.0121088705269863489580840691096 absolute error = 1.5022520935991267e-15 relative error = 1.4842791495513067481612000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.002 Order of pole = 4.437 x[1] = -0.993 y[1] (analytic) = 1.0141483841066721836338762069633 y[1] (numeric) = 1.014148384106673943375921558461 absolute error = 1.7597420453514977e-15 relative error = 1.7351918840767989555873000000001e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 1.001 Order of pole = 4.437 x[1] = -0.992 y[1] (analytic) = 1.0161940686784599375650364203955 y[1] (numeric) = 1.0161940686784619568792134487406 absolute error = 2.0193141770283451e-15 relative error = 1.9871343863032213924863999999998e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9999 Order of pole = 4.437 x[1] = -0.991 y[1] (analytic) = 1.0182459491630527420854287986429 y[1] (numeric) = 1.0182459491630550230728787107869 absolute error = 2.2809874499121440e-15 relative error = 2.2401144357971682916640000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9989 Order of pole = 4.437 x[1] = -0.99 y[1] (analytic) = 1.0203040506070809101112131415162 y[1] (numeric) = 1.0203040506070834548922304767728 absolute error = 2.5447810173352566e-15 relative error = 2.4941398750902849936599999999999e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9979 Order of pole = 4.437 x[1] = -0.989 y[1] (analytic) = 1.0223683981838647774661826093091 y[1] (numeric) = 1.0223683981838675881804094311115 absolute error = 2.8107142268218024e-15 relative error = 2.7492186102531681852903999999999e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9969 Order of pole = 4.437 x[1] = -0.988 y[1] (analytic) = 1.0244390171941844645871920536315 y[1] (numeric) = 1.0244390171941875433938143092441 absolute error = 3.0788066222556126e-15 relative error = 3.0053586114750827058143999999998e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9959 Order of pole = 4.437 x[1] = -0.987 y[1] (analytic) = 1.0265159330670551002957392403166 y[1] (numeric) = 1.0265159330670584493736853149317 absolute error = 3.3490779460746151e-15 relative error = 3.2625679136495617173519000000001e-13 % h = 0.001 TOP MAIN SOLVE Loop memory used=3.8MB, alloc=3.1MB, time=0.20 Real estimate of pole used Radius of convergence = 0.9949 Order of pole = 4.437 x[1] = -0.986 y[1] (analytic) = 1.0285991713605075519751161288464 y[1] (numeric) = 1.028599171360511173523257620845 absolute error = 3.6215481414919986e-15 relative error = 3.5208546169659550709256000000002e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9939 Order of pole = 4.437 x[1] = -0.985 y[1] (analytic) = 1.0306887577623747068978845113247 y[1] (numeric) = 1.0306887577623786031352392558359 absolute error = 3.8962373547445112e-15 relative error = 3.7802268875069933790200000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9929 Order of pole = 4.437 x[1] = -0.984 y[1] (analytic) = 1.0327847180910833498578888227906 y[1] (numeric) = 1.0327847180910875230238261910431 absolute error = 4.1731659373682525e-15 relative error = 4.0406929578524346926400000000003e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9919 Order of pole = 4.437 x[1] = -0.983 y[1] (analytic) = 1.0348870782964516826746449561156 y[1] (numeric) = 1.034887078296456135029093458438 absolute error = 4.4523544485023224e-15 relative error = 4.3022611276888606095736000000001e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9909 Order of pole = 4.437 x[1] = -0.982 y[1] (analytic) = 1.0369958644604925315557841555328 y[1] (numeric) = 1.0369958644604972653794413762325 absolute error = 4.7338236572206997e-15 relative error = 4.5649397644256940175027999999999e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9899 Order of pole = 4.437 x[1] = -0.981 y[1] (analytic) = 1.0391111027982222887253328013085 y[1] (numeric) = 1.0391111027982273063198776940301 absolute error = 5.0175945448927216e-15 relative error = 4.8287373038175044516975999999998e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9888 Order of pole = 4.437 x[1] = -0.98 y[1] (analytic) = 1.0412328196584756351520199916701 y[1] (numeric) = 1.0412328196584809388403275642183 absolute error = 5.3036883075725482e-15 relative error = 5.0936622505926752912800000000002e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9878 Order of pole = 4.437 x[1] = -0.979 y[1] (analytic) = 1.0433610415247260916425737212828 y[1] (numeric) = 1.0433610415247316837689321392775 absolute error = 5.5921263584179947e-15 relative error = 5.3597231790885012582627000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9868 Order of pole = 4.437 x[1] = -0.978 y[1] (analytic) = 1.0454957950159124460001421874281 y[1] (numeric) = 1.0454957950159183289304723265542 absolute error = 5.8829303301391261e-15 relative error = 5.6269287338927918886324000000001e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9858 Order of pole = 4.437 x[1] = -0.977 y[1] (analytic) = 1.0476371068872711043876089673546 y[1] (numeric) = 1.0476371068872772805096864443627 absolute error = 6.1761220774770081e-15 relative error = 5.8952876304920510646848999999999e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9848 Order of pole = 4.437 x[1] = -0.976 y[1] (analytic) = 1.0497850040311744154797097554421 y[1] (numeric) = 1.0497850040311808872033894684619 absolute error = 6.4717236797130198e-15 relative error = 6.1648086559263095490047999999999e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9838 Order of pole = 4.437 x[1] = -0.975 y[1] (analytic) = 1.0519395134779750164365548980933 y[1] (numeric) = 1.0519395134779817861939981072284 absolute error = 6.7697574432091351e-15 relative error = 6.4355006694506840544375000000004e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9828 Order of pole = 4.437 x[1] = -0.974 y[1] (analytic) = 1.0541006623968562501844676159194 y[1] (numeric) = 1.054100662396863320430371595507 absolute error = 7.0702459039795876e-15 relative error = 6.7073726032037392460176000000003e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9818 Order of pole = 4.437 x[1] = -0.973 y[1] (analytic) = 1.056268478096688703948014690582 y[1] (numeric) = 1.0562684780966960771598449849224 absolute error = 7.3732118302943404e-15 relative error = 6.9804334628827305925516000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9808 Order of pole = 4.437 x[1] = -0.972 y[1] (analytic) = 1.0584429880268929194397872952971 y[1] (numeric) = 1.0584429880269005981180126100835 absolute error = 7.6786782253147864e-15 relative error = 7.2546923284258051541376000000002e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9798 Order of pole = 4.437 x[1] = -0.971 y[1] (analytic) = 1.0606242197783083255819379937868 y[1] (numeric) = 1.0606242197783163122502677558982 absolute error = 7.9866683297621114e-15 relative error = 7.5301583547012388744874000000004e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9788 Order of pole = 4.437 x[1] = -0.97 y[1] (analytic) = 1.0628122010840684451057498140078 y[1] (numeric) = 1.0628122010840767423113744327684 absolute error = 8.2972056246187606e-15 relative error = 7.8068407722037918485400000000005e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9778 Order of pole = 4.437 x[1] = -0.969 y[1] (analytic) = 1.0650069598204824268526594821297 y[1] (numeric) = 1.0650069598204910371664933455819 absolute error = 8.6103138338634522e-15 relative error = 8.0847488877582609411642000000001e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9767 Order of pole = 4.437 x[1] = -0.968 y[1] (analytic) = 1.0672085240079229560822348200259 y[1] (numeric) = 1.067208524007931882099162060217 absolute error = 8.9260169272401911e-15 relative error = 8.3638920852303128252864000000004e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9757 Order of pole = 4.437 x[1] = -0.967 y[1] (analytic) = 1.0694169218117205955796720953835 y[1] (numeric) = 1.0694169218117298399187951571232 absolute error = 9.2443391230617397e-15 relative error = 8.6442798262446791143332999999995e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9747 Order of pole = 4.437 x[1] = -0.966 y[1] (analytic) = 1.0716321815430646108474895944516 y[1] (numeric) = 1.0716321815430741761523806424644 absolute error = 9.5653048910480128e-15 relative error = 8.9259216509107994323967999999993e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9737 Order of pole = 4.437 x[1] = -0.965 y[1] (analytic) = 1.0738543316599103331633063974872 y[1] (numeric) = 1.073854331659920222102261597353 absolute error = 9.8889389551998658e-15 relative error = 9.2088271785559950296049999999998e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9727 Order of pole = 4.437 x[1] = -0.964 y[1] (analytic) = 1.0760834007678931147879685267127 y[1] (numeric) = 1.07608340076790333005426523547 absolute error = 1.02152662967087573e-14 relative error = 9.4930061084662613238608000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop memory used=7.6MB, alloc=4.2MB, time=0.46 Real estimate of pole used Radius of convergence = 0.9717 Order of pole = 4.437 x[1] = -0.963 y[1] (analytic) = 1.078319417621248931115877282937 y[1] (numeric) = 1.0783194176212594754280341857074 absolute error = 1.05443121569027704e-14 relative error = 9.7784682206347652830776000000000e-13 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9707 Order of pole = 4.437 x[1] = -0.962 y[1] (analytic) = 1.0805624111237416850722464028077 y[1] (numeric) = 1.0805624111237525611742866322934 absolute error = 1.08761020402294857e-14 relative error = 1.0065223376518136164150800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9697 Order of pole = 4.437 x[1] = -0.961 y[1] (analytic) = 1.0828124103295972695802261128875 y[1] (numeric) = 1.0828124103296084802419433890931 absolute error = 1.12106617172762056e-14 relative error = 1.0353281519800638671917600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9687 Order of pole = 4.437 x[1] = -0.96 y[1] (analytic) = 1.0850694444444444444444444444445 y[1] (numeric) = 1.0850694444444559924616722724824 absolute error = 1.15480172278280379e-14 relative error = 1.0642652677166319728639999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9677 Order of pole = 4.437 x[1] = -0.959 y[1] (analytic) = 1.0873335428262625845265912854566 y[1] (numeric) = 1.0873335428262744727214752498094 absolute error = 1.18881948839643528e-14 relative error = 1.0933346959079219947456800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9667 Order of pole = 4.437 x[1] = -0.958 y[1] (analytic) = 1.0896047349863363566232713420879 y[1] (numeric) = 1.0896047349863485878445445362226 absolute error = 1.22312212731941347e-14 relative error = 1.1225374560571741838810800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9657 Order of pole = 4.437 x[1] = -0.957 y[1] (analytic) = 1.0918830505902173829965420063788 y[1] (numeric) = 1.0918830505902299601198036371397 absolute error = 1.25771232616307609e-14 relative error = 1.1518745762041270739504100000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9647 Order of pole = 4.437 x[1] = -0.956 y[1] (analytic) = 1.0941685194586929500533954237496 y[1] (numeric) = 1.0941685194587058759813926304924 absolute error = 1.29259279972067428e-14 relative error = 1.1813470930055141687660800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9636 Order of pole = 4.437 x[1] = -0.955 y[1] (analytic) = 1.0964611715687618212220059757134 y[1] (numeric) = 1.0964611715687750988849189046888 absolute error = 1.32776629129289754e-14 relative error = 1.2109560518164048789185000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9626 Order of pole = 4.437 x[1] = -0.954 y[1] (analytic) = 1.0987610370546172136299109124551 y[1] (numeric) = 1.0987610370546308459856410875048 absolute error = 1.36323557301750497e-14 relative error = 1.2407025067723995532765200000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9616 Order of pole = 4.437 x[1] = -0.953 y[1] (analytic) = 1.1010681462086369987524897903456 y[1] (numeric) = 1.1010681462086509887869518215341 absolute error = 1.39900344620311885e-14 relative error = 1.2705875208726883676396500000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9606 Order of pole = 4.437 x[1] = -0.952 y[1] (analytic) = 1.1033825294823811877692253371937 y[1] (numeric) = 1.1033825294823955384966420095706 absolute error = 1.43507274166723769e-14 relative error = 1.3006121660639841873977600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9596 Order of pole = 4.437 x[1] = -0.951 y[1] (analytic) = 1.1057042174875967629403328833117 y[1] (numeric) = 1.1057042174876114774035336685761 absolute error = 1.47144632007852644e-14 relative error = 1.3307775233253393908624400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9586 Order of pole = 4.437 x[1] = -0.95 y[1] (analytic) = 1.1080332409972299168975069252078 y[1] (numeric) = 1.1080332409972449981682299596345 absolute error = 1.50812707230344267e-14 relative error = 1.3610846827538570096749999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9576 Order of pole = 4.437 x[1] = -0.949 y[1] (analytic) = 1.1103696309464457623298219744371 y[1] (numeric) = 1.1103696309464612135090195470202 absolute error = 1.54511791975725831e-14 relative error = 1.3915347436513065912443100000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9566 Order of pole = 4.437 x[1] = -0.948 y[1] (analytic) = 1.1127134184336555751393117199879 y[1] (numeric) = 1.1127134184336713993574593153601 absolute error = 1.58242181475953722e-14 relative error = 1.4221288146116551377628800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9556 Order of pole = 4.437 x[1] = -0.947 y[1] (analytic) = 1.1150646347215516347405077335307 y[1] (numeric) = 1.115064634721567835157916674832 absolute error = 1.62004174089413013e-14 relative error = 1.4528680136095239477551700000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9546 Order of pole = 4.437 x[1] = -0.946 y[1] (analytic) = 1.117423311238149725784319422158 y[1] (numeric) = 1.117423311238166305591453159649 absolute error = 1.65798071337374910e-14 relative error = 1.4837534680895820495756000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9536 Order of pole = 4.437 x[1] = -0.945 y[1] (analytic) = 1.119789479577839366199154558943 y[1] (numeric) = 1.1197894795778563286169486507906 absolute error = 1.69624177940918476e-14 relative error = 1.5147863150568872202989999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9526 Order of pole = 4.437 x[1] = -0.944 y[1] (analytic) = 1.1221631715024418270611893134157 y[1] (numeric) = 1.1221631715024591753413751457191 absolute error = 1.73482801858323034e-14 relative error = 1.5459677011681855522662400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9515 Order of pole = 4.437 x[1] = -0.943 y[1] (analytic) = 1.1245444189422760104312740301086 y[1] (numeric) = 1.1245444189422937478567063238839 absolute error = 1.77374254322937753e-14 relative error = 1.5772987828241807391749699999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9505 Order of pole = 4.437 x[1] = -0.942 y[1] (analytic) = 1.1269332539972322519281827975893 y[1] (numeric) = 1.1269332539972503818131709510945 absolute error = 1.81298849881535052e-14 relative error = 1.6087807262627846988292799999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9495 Order of pole = 4.437 x[1] = -0.941 y[1] (analytic) = 1.1293297089378541154468588258811 y[1] (numeric) = 1.1293297089378726411375021413292 absolute error = 1.85256906433154481e-14 relative error = 1.6404147076533606299036100000000e-12 % h = 0.001 TOP MAIN SOLVE Loop memory used=11.4MB, alloc=4.3MB, time=0.72 Real estimate of pole used Radius of convergence = 0.9485 Order of pole = 4.437 x[1] = -0.94 y[1] (analytic) = 1.131733816206428248076052512449 y[1] (numeric) = 1.1317338162064471729505793568408 absolute error = 1.89248745268443918e-14 relative error = 1.6722019131919704594480000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9475 Order of pole = 4.437 x[1] = -0.939 y[1] (analytic) = 1.1341456084180823639223745379774 y[1] (numeric) = 1.1341456084181016913914854884734 absolute error = 1.93274691109504960e-14 relative error = 1.7041435391976382283616000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9465 Order of pole = 4.437 x[1] = -0.938 y[1] (analytic) = 1.1365651183618914262073731252358 y[1] (numeric) = 1.1365651183619111597145881501902 absolute error = 1.97335072150249544e-14 relative error = 1.7362407922096415979113600000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9455 Order of pole = 4.437 x[1] = -0.937 y[1] (analytic) = 1.1389923790019920976708744841789 y[1] (numeric) = 1.1389923790020122406928842116668 absolute error = 2.01430220097274879e-14 relative error = 1.7684948890858432824075099999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9445 Order of pole = 4.437 x[1] = -0.936 y[1] (analytic) = 1.1414274234787055299875812696326 y[1] (numeric) = 1.1414274234787260860346023960265 absolute error = 2.05560470211263939e-14 relative error = 1.8009070571020749190214399999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9435 Order of pole = 4.437 x[1] = -0.935 y[1] (analytic) = 1.1438702851096685635848894735337 y[1] (numeric) = 1.1438702851096895362010243654154 absolute error = 2.09726161348918817e-14 relative error = 1.8334785340525855279182500000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9425 Order of pole = 4.437 x[1] = -0.934 y[1] (analytic) = 1.1463209973909734099381445189808 y[1] (numeric) = 1.1463209973909948027017450624213 absolute error = 2.13927636005434405e-14 relative error = 1.8662105683515673580818000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9415 Order of pole = 4.437 x[1] = -0.933 y[1] (analytic) = 1.1487795939983158891151984689065 y[1] (numeric) = 1.1487795939983377056392342209 absolute error = 2.18165240357519935e-14 relative error = 1.8991044191357717069821500000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9405 Order of pole = 4.437 x[1] = -0.932 y[1] (analytic) = 1.151246108788152296045239367091 y[1] (numeric) = 1.1512461087881745399776700646948 absolute error = 2.22439324306976038e-14 relative error = 1.9321613563682275403171199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9395 Order of pole = 4.437 x[1] = -0.931 y[1] (analytic) = 1.1537205757988649696975290766429 y[1] (numeric) = 1.1537205757988876447216815601559 absolute error = 2.26750241524835130e-14 relative error = 1.9653826609430762211392999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9384 Order of pole = 4.437 x[1] = -0.93 y[1] (analytic) = 1.1562030292519366400739969938722 y[1] (numeric) = 1.1562030292519597499089466011699 absolute error = 2.31098349496072977e-14 relative error = 1.9987696247915351780729999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9374 Order of pole = 4.437 x[1] = -0.929 y[1] (analytic) = 1.158693503553133628645684272242 y[1] (numeric) = 1.1586935035531571770466407621923 absolute error = 2.35484009564899503e-14 relative error = 2.0323235509890043196862300000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9364 Order of pole = 4.437 x[1] = -0.928 y[1] (analytic) = 1.1611920332936979785969084423306 y[1] (numeric) = 1.1611920332937219693556065060247 absolute error = 2.39907586980636941e-14 relative error = 2.0660457538633284339814399999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9354 Order of pole = 4.437 x[1] = -0.927 y[1] (analytic) = 1.1636986532515485919828144982888 y[1] (numeric) = 1.1636986532515730289279089176504 absolute error = 2.44369450944193616e-14 relative error = 2.0999375591042295584366400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9344 Order of pole = 4.437 x[1] = -0.926 y[1] (analytic) = 1.1662133983924914516557897830377 y[1] (numeric) = 1.1662133983925163386532552972096 absolute error = 2.48869974655141719e-14 relative error = 2.1340003038739230064124399999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9334 Order of pole = 4.437 x[1] = -0.925 y[1] (analytic) = 1.1687363038714390065741417092769 y[1] (numeric) = 1.1687363038714643475276776500383 absolute error = 2.53409535359407614e-14 relative error = 2.1682353369189313972874999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9324 Order of pole = 4.437 x[1] = -0.924 y[1] (analytic) = 1.1712674050336387998725661063324 y[1] (numeric) = 1.1712674050336645987240058646621 absolute error = 2.57988514397583297e-14 relative error = 2.2026440186831107697947199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9314 Order of pole = 4.437 x[1] = -0.923 y[1] (analytic) = 1.1738067374159114198483676456606 y[1] (numeric) = 1.17380673741593768057809303244 absolute error = 2.62607297253867794e-14 relative error = 2.2372277214219033587462600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9304 Order of pole = 4.437 x[1] = -0.922 y[1] (analytic) = 1.1763543367478978548002315065335 y[1] (numeric) = 1.1763543367479245814275920712737 absolute error = 2.67266273605647402e-14 relative error = 2.2719878293178316608176799999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9294 Order of pole = 4.437 x[1] = -0.921 y[1] (analytic) = 1.1789102389533163334476876265118 y[1] (numeric) = 1.1789102389533435300314249988941 absolute error = 2.71965837373723823e-14 relative error = 2.3069257385972486934534300000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9284 Order of pole = 4.437 x[1] = -0.92 y[1] (analytic) = 1.1814744801512287334593572778828 y[1] (numeric) = 1.1814744801512564040980345978184 absolute error = 2.76706386773199356e-14 relative error = 2.3420428576483593491840000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9274 Order of pole = 4.437 x[1] = -0.919 y[1] (analytic) = 1.1840470966573166414267293895882 y[1] (numeric) = 1.1840470966573447902591658924375 absolute error = 2.81488324365028493e-14 relative error = 2.3773406071405282907657300000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9263 Order of pole = 4.437 x[1] = -0.918 y[1] (analytic) = 1.1866281249851671484376854106446 y[1] (numeric) = 1.1866281249851957796433962351808 absolute error = 2.86312057108245362e-14 relative error = 2.4128204201448896444608799999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9253 Order of pole = 4.437 x[1] = -0.917 y[1] (analytic) = 1.1892176018475684662303823691356 memory used=15.2MB, alloc=4.3MB, time=0.97 y[1] (numeric) = 1.1892176018475975840300236567998 absolute error = 2.91177996412876642e-14 relative error = 2.4484837422562742661473799999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9243 Order of pole = 4.437 x[1] = -0.916 y[1] (analytic) = 1.1918155641578154497435212905932 y[1] (numeric) = 1.1918155641578450583993406455626 absolute error = 2.96086558193549694e-14 relative error = 2.4843320317164703204886400000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9233 Order of pole = 4.437 x[1] = -0.915 y[1] (analytic) = 1.194422049031025112723580877303 y[1] (numeric) = 1.1944220490310552165398732578852 absolute error = 3.01038162923805822e-14 relative error = 2.5203667595388332932395000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9223 Order of pole = 4.437 x[1] = -0.914 y[1] (analytic) = 1.1970370937854622239033943183832 y[1] (numeric) = 1.1970370937854928272269634312563 absolute error = 3.06033235691128731e-14 relative error = 2.5565894096342617736247599999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9213 Order of pole = 4.437 x[1] = -0.913 y[1] (analytic) = 1.1996607359438750721296017486255 y[1] (numeric) = 1.1996607359439061793502270184631 absolute error = 3.11072206252698376e-14 relative error = 2.5930014789385553258394400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9203 Order of pole = 4.437 x[1] = -0.912 y[1] (analytic) = 1.202293013234841489689135118498 y[1] (numeric) = 1.2022930132348731052400443065562 absolute error = 3.16155509091880582e-14 relative error = 2.6296044775411712279500800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9193 Order of pole = 4.437 x[1] = -0.911 y[1] (analytic) = 1.2049339635941252239671004830581 y[1] (numeric) = 1.2049339635941573523254480293556 absolute error = 3.21283583475462975e-14 relative error = 2.6663999288153970767497499999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9183 Order of pole = 4.437 x[1] = -0.91 y[1] (analytic) = 1.2075836251660427484603308779133 y[1] (numeric) = 1.2075836251660753941476820427038 absolute error = 3.26456873511647905e-14 relative error = 2.7033893695499563013050000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9173 Order of pole = 4.437 x[1] = -0.909 y[1] (analytic) = 1.2102420363048406050726084709681 y[1] (numeric) = 1.2102420363048737726554293522897 absolute error = 3.31675828208813216e-14 relative error = 2.7405743500820639292969600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9163 Order of pole = 4.437 x[1] = -0.908 y[1] (analytic) = 1.2129092355760833705292165576665 y[1] (numeric) = 1.2129092355761170646193700628573 absolute error = 3.36940901535051908e-14 relative error = 2.7779564344319503627731200000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9153 Order of pole = 4.437 x[1] = -0.907 y[1] (analytic) = 1.2155852617580523406702007782176 y[1] (numeric) = 1.2155852617580865659254486284041 absolute error = 3.42252552478501865e-14 relative error = 2.8155372004388708074038500000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9143 Order of pole = 4.437 x[1] = -0.906 y[1] (analytic) = 1.2182701538431550273136168491636 y[1] (numeric) = 1.2182701538431897884381276968671 absolute error = 3.47611245108477035e-14 relative error = 2.8533182398986185550125999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9132 Order of pole = 4.437 x[1] = -0.905 y[1] (analytic) = 1.220963951039345563322242910778 y[1] (numeric) = 1.2209639510393808650671066519389 absolute error = 3.53017448637411609e-14 relative error = 2.8913011587025604306122500000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9122 Order of pole = 4.437 x[1] = -0.904 y[1] (analytic) = 1.2236666927715561124598637324771 y[1] (numeric) = 1.2236666927715919596236120953672 absolute error = 3.58471637483628901e-14 relative error = 2.9294875769782127595961600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9112 Order of pole = 4.437 x[1] = -0.903 y[1] (analytic) = 1.2263784186831393815864185948401 y[1] (numeric) = 1.2263784186831757790155520895286 absolute error = 3.63974291334946885e-14 relative error = 2.9678791292313770455096500000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9102 Order of pole = 4.437 x[1] = -0.902 y[1] (analytic) = 1.2290991686373223337151734750567 y[1] (numeric) = 1.2290991686373592863046947882994 absolute error = 3.69525895213132427e-14 relative error = 3.0064774644898539513690799999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9092 Order of pole = 4.437 x[1] = -0.901 y[1] (analytic) = 1.2318289827186712014397617150016 y[1] (numeric) = 1.2318289827187087141337156366558 absolute error = 3.75126939539216542e-14 relative error = 3.0452842464487552801214200000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9082 Order of pole = 4.437 x[1] = -0.9 y[1] (analytic) = 1.2345679012345679012345679012346 y[1] (numeric) = 1.2345679012346059790265878695461 absolute error = 3.80777920199683115e-14 relative error = 3.0843011536174332314999999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9072 Order of pole = 4.437 x[1] = -0.899 y[1] (analytic) = 1.2373159647166979501386412538465 y[1] (numeric) = 1.2373159647167365980725026082246 absolute error = 3.86479338613543781e-14 relative error = 3.1235298794680469734798100000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9062 Order of pole = 4.437 x[1] = -0.898 y[1] (analytic) = 1.24007321392254998735125321799 y[1] (numeric) = 1.2400732139225892105214332491709 absolute error = 3.92231701800311809e-14 relative error = 3.1629721325857864402483600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9052 Order of pole = 4.437 x[1] = -0.897 y[1] (analytic) = 1.2428396898369270042964968077662 y[1] (numeric) = 1.2428396898369668078487416965743 absolute error = 3.98035522448888081e-14 relative error = 3.2026296368207738996532900000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9042 Order of pole = 4.437 x[1] = -0.896 y[1] (analytic) = 1.2456154336734693877551020408163 y[1] (numeric) = 1.2456154336735097768870007780574 absolute error = 4.03891318987372411e-14 relative error = 3.2425041314416636950937600000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9032 Order of pole = 4.437 x[1] = -0.895 y[1] (analytic) = 1.248400486876189881714053868481 y[1] (numeric) = 1.2484004868762308616756192498529 absolute error = 4.09799615653813719e-14 relative error = 3.2825973712909613426197500000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9022 Order of pole = 4.437 x[1] = -0.894 y[1] (analytic) = 1.2511948911210205746487895940623 y[1] (numeric) = 1.2511948911210621507430463853344 absolute error = 4.15760942567912721e-14 relative error = 3.3229111269420829148115600000001e-12 % h = 0.001 TOP MAIN SOLVE Loop memory used=19.0MB, alloc=4.3MB, time=1.24 Real estimate of pole used Radius of convergence = 0.9011 Order of pole = 4.437 x[1] = -0.893 y[1] (analytic) = 1.253998688317372020028867049805 y[1] (numeric) = 1.2539986883174141976124474189116 absolute error = 4.21775835803691066e-14 relative error = 3.3634471848581763689063400000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.9001 Order of pole = 4.437 x[1] = -0.892 y[1] (analytic) = 1.2568119206097045989261798950311 y[1] (numeric) = 1.2568119206097473834099262091346 absolute error = 4.27844837463141035e-14 relative error = 3.4042073475527264847223999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8991 Order of pole = 4.437 x[1] = -0.891 y[1] (analytic) = 1.2596346303791122347052014092792 y[1] (numeric) = 1.2596346303791556315547764962955 absolute error = 4.33968495750870163e-14 relative error = 3.4451934337519655587260300000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8981 Order of pole = 4.437 x[1] = -0.89 y[1] (analytic) = 1.2624668602449185708875142027521 y[1] (numeric) = 1.2624668602449625856240191782864 absolute error = 4.40147365049755343e-14 relative error = 3.4864072785591120719030000000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8971 Order of pole = 4.437 x[1] = -0.889 y[1] (analytic) = 1.2653086530662857244081835102445 y[1] (numeric) = 1.2653086530663303626087832723684 absolute error = 4.46382005997621239e-14 relative error = 3.5278507336204601522771900000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8961 Order of pole = 4.437 x[1] = -0.888 y[1] (analytic) = 1.2681600519438357276195114032952 y[1] (numeric) = 1.2681600519438809949180678990991 absolute error = 4.52672985564958039e-14 relative error = 3.5695256672933427190521600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8951 Order of pole = 4.437 x[1] = -0.887 y[1] (analytic) = 1.2710211002212847735485256790747 y[1] (numeric) = 1.2710211002213306756362390484573 absolute error = 4.59020877133693826e-14 relative error = 3.6114339648159915778819400000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8941 Order of pole = 4.437 x[1] = -0.886 y[1] (analytic) = 1.2738918414870903800783698260883 y[1] (numeric) = 1.2738918414871369227044275297963 absolute error = 4.65426260577037080e-14 relative error = 3.6535775284793179965168000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8931 Order of pole = 4.437 x[1] = -0.885 y[1] (analytic) = 1.276772319576111589900730952153 y[1] (numeric) = 1.2767723195761587788729649926639 absolute error = 4.71889722340405109e-14 relative error = 3.6959582778006379149652499999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8921 Order of pole = 4.437 x[1] = -0.884 y[1] (analytic) = 1.2796625785712823242767347105915 y[1] (numeric) = 1.2796625785713301654622870560304 absolute error = 4.78411855523454389e-14 relative error = 3.7385781496993657301038400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8911 Order of pole = 4.437 x[1] = -0.883 y[1] (analytic) = 1.282562662805298009847516125019 y[1] (numeric) = 1.2825626628053465091735124479297 absolute error = 4.84993259963229107e-14 relative error = 3.7814390986747013920772300000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8901 Order of pole = 4.437 x[1] = -0.882 y[1] (analytic) = 1.2854726168623155989531111008273 y[1] (numeric) = 1.2854726168623647624073429452709 absolute error = 4.91634542318444436e-14 relative error = 3.8245430969853356943086400000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8891 Order of pole = 4.437 x[1] = -0.881 y[1] (analytic) = 1.2883924855796671051495759256134 y[1] (numeric) = 1.2883924855797169387811914177476 absolute error = 4.98336316154921342e-14 relative error = 3.8678921348311990372806199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.888 Order of pole = 4.437 x[1] = -0.88 y[1] (analytic) = 1.2913223140495867768595041322314 y[1] (numeric) = 1.2913223140496372867797073512282 absolute error = 5.05099202032189968e-14 relative error = 3.9114882205372791121920000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.887 Order of pole = 4.437 x[1] = -0.879 y[1] (analytic) = 1.2942621476209520333505470198967 y[1] (numeric) = 1.2942621476210032257333061477916 absolute error = 5.11923827591278949e-14 relative error = 3.9553333807395335843430900000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.886 Order of pole = 4.437 x[1] = -0.878 y[1] (analytic) = 1.2972120319010382885103335910461 y[1] (numeric) = 1.2972120319010901695930979618729 absolute error = 5.18810827643708268e-14 relative error = 3.9994296605729240446891200000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.885 Order of pole = 4.437 x[1] = -0.877 y[1] (analytic) = 1.3001720127572877891745077873803 y[1] (numeric) = 1.3001720127573403652589339577343 absolute error = 5.25760844261703540e-14 relative error = 4.0437791238615978201665999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.884 Order of pole = 4.437 x[1] = -0.876 y[1] (analytic) = 1.3031421363190925960676382894435 y[1] (numeric) = 1.3031421363191458735203252544353 absolute error = 5.32774526869649918e-14 relative error = 4.0883838533112447547516800000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.883 Order of pole = 4.437 x[1] = -0.875 y[1] (analytic) = 1.306122448979591836734693877551 y[1] (numeric) = 1.3061224489796458219879275579588 absolute error = 5.39852532336804078e-14 relative error = 4.1332459507036562221875000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.882 Order of pole = 4.437 x[1] = -0.874 y[1] (analytic) = 1.3091129973974833611738030779865 y[1] (numeric) = 1.3091129973975380607263102062941 absolute error = 5.46995525071283076e-14 relative error = 4.1783675370935143096257599999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.881 Order of pole = 4.437 x[1] = -0.873 y[1] (analytic) = 1.3121138284988499322293207580344 y[1] (numeric) = 1.3121138284989053526470322929474 absolute error = 5.54204177115349130e-14 relative error = 4.2237507530074391709777000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.88 Order of pole = 4.437 x[1] = -0.872 y[1] (analytic) = 1.315124989479000084167999326656 y[1] (numeric) = 1.3151249894790562320848235276275 absolute error = 5.61479168242009715e-14 relative error = 4.2693977586453231513056000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.879 Order of pole = 4.437 x[1] = -0.871 y[1] (analytic) = 1.318146527804323784240503742877 y[1] (numeric) = 1.3181465278043806663591090381438 absolute error = 5.68821186052952668e-14 relative error = 4.3153107340839806500418800000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.878 Order of pole = 4.437 memory used=22.8MB, alloc=4.4MB, time=1.50 x[1] = -0.87 y[1] (analytic) = 1.3211784912141630334258158277183 y[1] (numeric) = 1.3211784912142206565184236113481 absolute error = 5.76230926077836298e-14 relative error = 4.3614918794831429395620000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.877 Order of pole = 4.437 x[1] = -0.869 y[1] (analytic) = 1.3242209277226975439674453527129 y[1] (numeric) = 1.3242209277227559148766328481986 absolute error = 5.83709091874954857e-14 relative error = 4.4079434152938278476697699999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8759 Order of pole = 4.437 x[1] = -0.868 y[1] (analytic) = 1.3272738856208456327380067531696 y[1] (numeric) = 1.327273885620904758377520083171 absolute error = 5.91256395133300014e-14 relative error = 4.4546675824691142974793599999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8749 Order of pole = 4.437 x[1] = -0.867 y[1] (analytic) = 1.3303374134781804709128376230063 y[1] (numeric) = 1.3303374134782403582684152269401 absolute error = 5.98873555776039338e-14 relative error = 4.5016666426773523394188200000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8739 Order of pole = 4.437 x[1] = -0.866 y[1] (analytic) = 1.333411560144861831894137789417 y[1] (numeric) = 1.3334115601449224880243443327292 absolute error = 6.06561302065433122e-14 relative error = 4.5489428785178396244263199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8729 Order of pole = 4.437 x[1] = -0.865 y[1] (analytic) = 1.3364963747535834809048080457082 y[1] (numeric) = 1.3364963747536449129418789668336 absolute error = 6.14320370709211254e-14 relative error = 4.5964985937389959052414999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8719 Order of pole = 4.437 x[1] = -0.864 y[1] (analytic) = 1.3395919067215363511659807956104 y[1] (numeric) = 1.3395919067215985663166776388238 absolute error = 6.22151506968432134e-14 relative error = 4.6443361134590671430246400000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8709 Order of pole = 4.437 x[1] = -0.863 y[1] (analytic) = 1.3426982057523876530843791833441 y[1] (numeric) = 1.3426982057524506586308558679504 absolute error = 6.30055464766846063e-14 relative error = 4.6924577843893917549444700000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8699 Order of pole = 4.437 x[1] = -0.862 y[1] (analytic) = 1.3458153218382760644053380418926 y[1] (numeric) = 1.3458153218383398677060182204782 absolute error = 6.38033006801785856e-14 relative error = 4.7408659750602616958566399999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8689 Order of pole = 4.437 x[1] = -0.861 y[1] (analytic) = 1.3489433052618231508347935644613 y[1] (numeric) = 1.3489433052618877593252592252416 absolute error = 6.46084904656607803e-14 relative error = 4.7895630760494115312776299999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8679 Order of pole = 4.437 x[1] = -0.86 y[1] (analytic) = 1.3520822065981611681990265008113 y[1] (numeric) = 1.3520822065982265893929179714601 absolute error = 6.54211938914706488e-14 relative error = 4.8385515002131691852479999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8669 Order of pole = 4.437 x[1] = -0.859 y[1] (analytic) = 1.3552320767169773987946565909679 y[1] (numeric) = 1.3552320767170436402845841037058 absolute error = 6.62414899275127379e-14 relative error = 4.8878336829203026554389900000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8659 Order of pole = 4.437 x[1] = -0.858 y[1] (analytic) = 1.3583929667845751761835677919594 y[1] (numeric) = 1.358392966784642245642034772103 absolute error = 6.70694584669801436e-14 relative error = 4.9374120822885970433150400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8649 Order of pole = 4.437 x[1] = -0.857 y[1] (analytic) = 1.3615649282659517543083318242656 y[1] (numeric) = 1.3615649282660196594886700669119 absolute error = 6.79051803382426463e-14 relative error = 4.9872891794241973332388699999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8639 Order of pole = 4.437 x[1] = -0.856 y[1] (analytic) = 1.3647480129268931784435321862172 y[1] (numeric) = 1.3647480129269619271808490882427 absolute error = 6.87487373169020255e-14 relative error = 5.0374674786637522556767999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8628 Order of pole = 4.437 x[1] = -0.855 y[1] (analytic) = 1.3679422728360863171574159570467 y[1] (numeric) = 1.3679422728361559173695539741525 absolute error = 6.96002121380171058e-14 relative error = 5.0879495078193954767444999999997e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8618 Order of pole = 4.437 x[1] = -0.854 y[1] (analytic) = 1.3711477603672482161367637622101 y[1] (numeric) = 1.3711477603673186758252722633361 absolute error = 7.04596885085011260e-14 relative error = 5.1387378184266007209815999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8608 Order of pole = 4.437 x[1] = -0.853 y[1] (analytic) = 1.3743645282012729364260200189937 y[1] (numeric) = 1.3743645282013442636771397130587 absolute error = 7.13272511196940650e-14 relative error = 5.1898349859949478940585000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8598 Order of pole = 4.437 x[1] = -0.852 y[1] (analytic) = 1.3775926293283960413498203619211 y[1] (numeric) = 1.3775926293284682443354804745248 absolute error = 7.22029856601126037e-14 relative error = 5.2412436102618379476244800000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8588 Order of pole = 4.437 x[1] = -0.851 y[1] (analytic) = 1.3808321170503768981263489003744 y[1] (numeric) = 1.3808321170504499851051772808182 absolute error = 7.30869788283804438e-14 relative error = 5.2929663154491945780403799999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8578 Order of pole = 4.437 x[1] = -0.85 y[1] (analytic) = 1.3840830449826989619377162629758 y[1] (numeric) = 1.3840830449827729412560626047276 absolute error = 7.39793183463417518e-14 relative error = 5.3450057505231915675499999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8568 Order of pole = 4.437 x[1] = -0.849 y[1] (analytic) = 1.387345467056788212003035511882 y[1] (numeric) = 1.3873454670568630920960078724216 absolute error = 7.48800929723605396e-14 relative error = 5.3973645894570449304219599999997e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8558 Order of pole = 4.437 x[1] = -0.848 y[1] (analytic) = 1.3906194375222499110003559985761 y[1] (numeric) = 1.3906194375223257003928708074201 absolute error = 7.57893925148088440e-14 relative error = 5.4500455314969098955775999999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8548 Order of pole = 4.437 x[1] = -0.847 y[1] (analytic) = 1.3939050109491238610053679281972 y[1] (numeric) = 1.3939050109492005683132136748054 absolute error = 7.67073078457466082e-14 relative error = 5.5030513014309228442153799999999e-12 % h = 0.001 TOP MAIN SOLVE Loop memory used=26.7MB, alloc=4.4MB, time=1.77 Real estimate of pole used Radius of convergence = 0.8538 Order of pole = 4.437 x[1] = -0.846 y[1] (analytic) = 1.3972022422301583309580895215421 y[1] (numeric) = 1.3972022422302359648890043177658 absolute error = 7.76339309147962237e-14 relative error = 5.5563846498614294041669199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8528 Order of pole = 4.437 x[1] = -0.845 y[1] (analytic) = 1.4005111865831028325338748643254 y[1] (numeric) = 1.4005111865831814018886380790615 absolute error = 7.85693547632147361e-14 relative error = 5.6100483534804401943802500000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8518 Order of pole = 4.437 x[1] = -0.844 y[1] (analytic) = 1.4038318995530199231823184564588 y[1] (numeric) = 1.4038318995530994368558566232259 absolute error = 7.95136735381667671e-14 relative error = 5.6640452153483562208945599999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8507 Order of pole = 4.437 x[1] = -0.843 y[1] (analytic) = 1.407164437014616217007270818646 y[1] (numeric) = 1.4071644370146966839897780199083 absolute error = 8.04669825072012623e-14 relative error = 5.7183780651760069852232700000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8497 Order of pole = 4.437 x[1] = -0.842 y[1] (analytic) = 1.4105088551745927860935110950627 y[1] (numeric) = 1.410508855174674215471584030278 absolute error = 8.14293780729352153e-14 relative error = 5.7730497596100441979949199999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8487 Order of pole = 4.437 x[1] = -0.841 y[1] (analytic) = 1.4138652105740151368409444054061 y[1] (numeric) = 1.4138652105740975377987323529915 absolute error = 8.24009577879475854e-14 relative error = 5.8280631825217356149297399999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8477 Order of pole = 4.437 x[1] = -0.84 y[1] (analytic) = 1.4172335600907029478458049886621 y[1] (numeric) = 1.4172335600907863296661748753276 absolute error = 8.33818203698866655e-14 relative error = 5.8834212452992031176800000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8467 Order of pole = 4.437 x[1] = -0.839 y[1] (analytic) = 1.4206139609416397578705564971069 y[1] (numeric) = 1.4206139609417241299362732913293 absolute error = 8.43720657167942224e-14 relative error = 5.9391268871431505826030400000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8457 Order of pole = 4.437 x[1] = -0.838 y[1] (analytic) = 1.4240064706854027944702980730345 y[1] (numeric) = 1.4240064706854881662652207228164 absolute error = 8.53717949226497819e-14 relative error = 5.9951830753661273440583599999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8447 Order of pole = 4.437 x[1] = -0.837 y[1] (analytic) = 1.4274111472246131358938234492248 y[1] (numeric) = 1.4274111472246995170041165877134 absolute error = 8.63811102931384886e-14 relative error = 6.0515928056953737820013400000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8437 Order of pole = 4.437 x[1] = -0.836 y[1] (analytic) = 1.4308280488084064009523591492868 y[1] (numeric) = 1.4308280488084938010677207953147 absolute error = 8.74001153616460279e-14 relative error = 6.1083591025792962315198400000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8427 Order of pole = 4.437 x[1] = -0.835 y[1] (analytic) = 1.4342572340349241636487504033848 y[1] (numeric) = 1.4342572340350125925636558875431 absolute error = 8.84289149054841583e-14 relative error = 6.1654850194976192270717500000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8417 Order of pole = 4.437 x[1] = -0.834 y[1] (analytic) = 1.4376987618538262914847977732922 y[1] (numeric) = 1.4376987618539157590997601237511 absolute error = 8.94676149623504589e-14 relative error = 6.2229736392752635790648399999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8407 Order of pole = 4.437 x[1] = -0.833 y[1] (analytic) = 1.4411526915688244085149065628652 y[1] (numeric) = 1.4411526915689149248377535888248 absolute error = 9.05163228470259596e-14 relative error = 6.2808280743999996080884400000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8397 Order of pole = 4.437 x[1] = -0.832 y[1] (analytic) = 1.4446190828402366863905325443787 y[1] (numeric) = 1.4446190828403282615377008587606 absolute error = 9.15751471683143819e-14 relative error = 6.3390514673439254696345600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8387 Order of pole = 4.437 x[1] = -0.831 y[1] (analytic) = 1.4480979956875641688424339051872 y[1] (numeric) = 1.4480979956876568130402801319725 absolute error = 9.26441978462267853e-14 relative error = 6.3976469908888215083553300000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8376 Order of pole = 4.437 x[1] = -0.83 y[1] (analytic) = 1.4515894904920888372768181158369 y[1] (numeric) = 1.4515894904921825608629475313081 absolute error = 9.37235861294154712e-14 relative error = 6.4566178484554318109679999999997e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8366 Order of pole = 4.437 x[1] = -0.829 y[1] (analytic) = 1.4550936279994936274174561762176 y[1] (numeric) = 1.4550936279995884408420690372875 absolute error = 9.48134246128610699e-14 relative error = 6.5159672744367254539145900000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8356 Order of pole = 4.437 x[1] = -0.828 y[1] (analytic) = 1.4586104693225046092090830591146 y[1] (numeric) = 1.4586104693226005230363388759093 absolute error = 9.59138272558167947e-14 relative error = 6.5756985345351901377604799999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8346 Order of pole = 4.437 x[1] = -0.827 y[1] (analytic) = 1.4621400759435555445082749817599 y[1] (numeric) = 1.4621400759436525694176749956834 absolute error = 9.70249094000139235e-14 relative error = 6.6358149261042122685431499999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8336 Order of pole = 4.437 x[1] = -0.826 y[1] (analytic) = 1.4656825097174750394268595114001 y[1] (numeric) = 1.465682509717573186214647644028 absolute error = 9.81467877881326279e-14 relative error = 6.6963197784935976833100399999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8326 Order of pole = 4.437 x[1] = -0.825 y[1] (analytic) = 1.4692378328741965105601469237833 y[1] (numeric) = 1.4692378328742957901407294661308 absolute error = 9.92795805825423475e-14 relative error = 6.7572164533992885267187499999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8316 Order of pole = 4.437 x[1] = -0.824 y[1] (analytic) = 1.4728061080214911867282495993967 y[1] (numeric) = 1.4728061080215916101356339153727 absolute error = 1.004234073843159760e-13 relative error = 6.8185083452173324120576000000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8306 Order of pole = 4.437 x[1] = -0.823 y[1] (analytic) = 1.4763873981477243702838650050419 y[1] (numeric) = 1.4763873981478259486731175272381 absolute error = 1.015783892525221962e-13 relative error = 6.8801988814021606629949799999998e-12 % h = 0.001 TOP MAIN SOLVE Loop memory used=30.5MB, alloc=4.4MB, time=2.04 Real estimate of pole used Radius of convergence = 0.8296 Order of pole = 4.437 x[1] = -0.822 y[1] (analytic) = 1.479981766624635184494527027427 y[1] (numeric) = 1.4799817666247379291432508278073 absolute error = 1.027446487238003803e-13 relative error = 6.9422915228292336162625200000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8286 Order of pole = 4.437 x[1] = -0.821 y[1] (analytic) = 1.483589277210140035991875865118 y[1] (numeric) = 1.4835892772102439583017080876587 absolute error = 1.039223098322225407e-13 relative error = 7.0047897641621113555968700000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8276 Order of pole = 4.437 x[1] = -0.82 y[1] (analytic) = 1.4872099940511600237953599048185 y[1] (numeric) = 1.4872099940512651352934893517197 absolute error = 1.051114981294469012e-13 relative error = 7.0676971342240096366880000000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8266 Order of pole = 4.437 x[1] = -0.819 y[1] (analytic) = 1.4908439816864725289633714542139 y[1] (numeric) = 1.4908439816865788413040766219427 absolute error = 1.063123407051677288e-13 relative error = 7.1310171963739010937616800000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8255 Order of pole = 4.437 x[1] = -0.818 y[1] (analytic) = 1.4944913050495872215015453040094 y[1] (numeric) = 1.4944913050496947464677531701629 absolute error = 1.075249662078661535e-13 relative error = 7.1947535488872232094534000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8245 Order of pole = 4.437 x[1] = -0.817 y[1] (analytic) = 1.4981520294716467237662343499294 y[1] (numeric) = 1.4981520294717554732711002167073 absolute error = 1.087495048658667779e-13 relative error = 7.2589098253412549713693099999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8235 Order of pole = 4.437 x[1] = -0.816 y[1] (analytic) = 1.5018262206843521722414455978469 y[1] (numeric) = 1.501826220684462158329954302814 absolute error = 1.099860885087049671e-13 relative error = 7.3234896950052254573337600000004e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8225 Order of pole = 4.437 x[1] = -0.815 y[1] (analytic) = 1.5055139448229139222402047498964 y[1] (numeric) = 1.5055139448230251570907935596848 absolute error = 1.112348505888097884e-13 relative error = 7.3884968632352181699990000000005e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8215 Order of pole = 4.437 x[1] = -0.814 y[1] (analytic) = 1.5092152684290276427868565460703 y[1] (numeric) = 1.5092152684291401387130600537317 absolute error = 1.124959262035076614e-13 relative error = 7.4539350718739362412994400000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8205 Order of pole = 4.437 x[1] = -0.813 y[1] (analytic) = 1.5129302584538760516756459077506 y[1] (numeric) = 1.512930258453989821127763259612 absolute error = 1.137694521173518614e-13 relative error = 7.5198080996553942477696600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8195 Order of pole = 4.437 x[1] = -0.812 y[1] (analytic) = 1.5166589822611565434735130675337 y[1] (numeric) = 1.5166589822612715990402978506446 absolute error = 1.150555667847831109e-13 relative error = 7.5861197626146035473249600000005e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8185 Order of pole = 4.437 x[1] = -0.811 y[1] (analytic) = 1.5204015076301349660418323270809 y[1] (numeric) = 1.5204015076302513204522054536651 absolute error = 1.163544103731265842e-13 relative error = 7.6528739145023190086608200000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8175 Order of pole = 4.437 x[1] = -0.81 y[1] (analytic) = 1.5241579027587258039932937052279 y[1] (numeric) = 1.5241579027588434701180796359711 absolute error = 1.176661247859307432e-13 relative error = 7.7200744472049160613519999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8165 Order of pole = 4.437 x[1] = -0.809 y[1] (analytic) = 1.5279282362665990303767412652163 y[1] (numeric) = 1.5279282362667180212304279187302 absolute error = 1.189908536866535139e-13 relative error = 7.7877252911694678430785899999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8155 Order of pole = 4.437 x[1] = -0.808 y[1] (analytic) = 1.5317125771983138907950200960691 y[1] (numeric) = 1.5317125771984342195375427974806 absolute error = 1.203287425227014115e-13 relative error = 7.8558304158340934317535999999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8145 Order of pole = 4.437 x[1] = -0.807 y[1] (analytic) = 1.5355109950264798871092316456532 y[1] (numeric) = 1.535510995026601567047781472973 absolute error = 1.216799385498273198e-13 relative error = 7.9243938300636492192430200000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8135 Order of pole = 4.437 x[1] = -0.806 y[1] (analytic) = 1.5393235596549452308677474770486 y[1] (numeric) = 1.5393235596550682754586043697749 absolute error = 1.230445908568927263e-13 relative error = 7.9934195825908363142626800000004e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8124 Order of pole = 4.437 x[1] = -0.805 y[1] (analytic) = 1.5431503414220130396203850160102 y[1] (numeric) = 1.5431503414221374624707760163316 absolute error = 1.244228503910003214e-13 relative error = 8.0629117624627983275234999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8114 Order of pole = 4.437 x[1] = -0.804 y[1] (analytic) = 1.54699141110368555233781342046 y[1] (numeric) = 1.5469914111038113672077964234287 absolute error = 1.258148699830029687e-13 relative error = 8.1328744994932847015179199999994e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8104 Order of pole = 4.437 x[1] = -0.803 y[1] (analytic) = 1.5508468399169366432540488733873 y[1] (numeric) = 1.5508468399170638640584222685467 absolute error = 1.272208043733951594e-13 relative error = 8.2033119647204559337554600000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8094 Order of pole = 4.437 x[1] = -0.802 y[1] (analytic) = 1.5547166995230129165863396371913 y[1] (numeric) = 1.5547166995231415573965782303638 absolute error = 1.286408102385931725e-13 relative error = 8.2742283708704082924690000000001e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8084 Order of pole = 4.437 x[1] = -0.801 y[1] (analytic) = 1.5586010620307636677623632132743 y[1] (numeric) = 1.5586010620308937428085808235454 absolute error = 1.300750462176102711e-13 relative error = 8.3456279728264967548031100000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8074 Order of pole = 4.437 x[1] = -0.8 y[1] (analytic) = 1.5625 y[1] (numeric) = 1.5625000000001315236729391333745 absolute error = 1.315236729391333745e-13 relative error = 8.4175150681045359680000000000000e-12 % h = 0.001 TOP MAIN SOLVE Loop memory used=34.3MB, alloc=4.4MB, time=2.31 Real estimate of pole used Radius of convergence = 0.8064 Order of pole = 4.437 x[1] = -0.799 y[1] (analytic) = 1.5664135864448833883405571106562 y[1] (numeric) = 1.5664135864450163751936061184168 absolute error = 1.329868530490077606e-13 relative error = 8.4898939973339603374800599999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8054 Order of pole = 4.437 x[1] = -0.798 y[1] (analytic) = 1.5703418948373439865327479098749 y[1] (numeric) = 1.570341894837478451283986046344 absolute error = 1.344647512381364691e-13 relative error = 8.5627691447450256068756400000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8044 Order of pole = 4.437 x[1] = -0.797 y[1] (analytic) = 1.574284999110528975502551128841 y[1] (numeric) = 1.5742849991106649330368219300318 absolute error = 1.359575342708011908e-13 relative error = 8.6361449386621353606877200000003e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8034 Order of pole = 4.437 x[1] = -0.796 y[1] (analytic) = 1.578242973662281255523850407818 y[1] (numeric) = 1.5782429736624187208948638193705 absolute error = 1.374653710134115525e-13 relative error = 8.7100258520033774248839999999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8024 Order of pole = 4.437 x[1] = -0.795 y[1] (analytic) = 1.5822158933586487876270717139353 y[1] (numeric) = 1.5822158933587877760595354037593 absolute error = 1.389884324636898240e-13 relative error = 8.7844164027863561013600000000004e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8014 Order of pole = 4.437 x[1] = -0.794 y[1] (analytic) = 1.5862038335374248932484820029314 y[1] (numeric) = 1.5862038335375654201402623011323 absolute error = 1.405268917802982009e-13 relative error = 8.8593211546404076582592399999995e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.8003 Order of pole = 4.437 x[1] = -0.793 y[1] (analytic) = 1.5902068700117198246319863751076 y[1] (numeric) = 1.5902068700118619055562992910534 absolute error = 1.420809243129159458e-13 relative error = 8.9347447173252879600384199999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7993 Order of pole = 4.437 x[1] = -0.792 y[1] (analytic) = 1.5942250790735639220487705336191 y[1] (numeric) = 1.5942250790737075727564033074112 absolute error = 1.436507076327737921e-13 relative error = 9.0106917472564219927814399999995e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7983 Order of pole = 4.437 x[1] = -0.791 y[1] (analytic) = 1.5982585374975426774985975281334 y[1] (numeric) = 1.5982585374976879139201611812902 absolute error = 1.452364215636531568e-13 relative error = 9.0871669480368070799780799999997e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7973 Order of pole = 4.437 x[1] = -0.79 y[1] (analytic) = 1.6023073225444640282006088767825 y[1] (numeric) = 1.6023073225446108664488222346149 absolute error = 1.468382482133578324e-13 relative error = 9.1641750709956623200840000000004e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7963 Order of pole = 4.437 x[1] = -0.789 y[1] (analytic) = 1.6063715119650582068717360538842 y[1] (numeric) = 1.6063715119652066632437417198557 absolute error = 1.484563720056659715e-13 relative error = 9.2417209157339186244151499999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7953 Order of pole = 4.437 x[1] = -0.788 y[1] (analytic) = 1.6104511840037104795279445489448 y[1] (numeric) = 1.6104511840038605705076573192612 absolute error = 1.500909797127703164e-13 relative error = 9.3198093306766451346681600000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7943 Order of pole = 4.437 x[1] = -0.787 y[1] (analytic) = 1.6145464174022271053281646320691 y[1] (numeric) = 1.6145464174023788475886528468305 absolute error = 1.517422604882147614e-13 relative error = 9.3984452136325088553556599999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7933 Order of pole = 4.437 x[1] = -0.786 y[1] (analytic) = 1.6186572914036348568135760024345 y[1] (numeric) = 1.6186572914037882672194763379253 absolute error = 1.534104059003354908e-13 relative error = 9.4776335123603664874276799999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7923 Order of pole = 4.437 x[1] = -0.785 y[1] (analytic) = 1.6227838857560144427765832285285 y[1] (numeric) = 1.622783885756169538386549443602 absolute error = 1.550956099662150735e-13 relative error = 9.5573792251430883667537500000002e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7913 Order of pole = 4.437 x[1] = -0.784 y[1] (analytic) = 1.6269262807163681799250312369846 y[1] (numeric) = 1.6269262807165249779942173950345 absolute error = 1.567980691861580499e-13 relative error = 9.6376874013687162319334399999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7903 Order of pole = 4.437 x[1] = -0.783 y[1] (analytic) = 1.6310845570545222634886615157017 y[1] (numeric) = 1.6310845570546807814712402124024 absolute error = 1.585179825786967007e-13 relative error = 9.7185631421190581535462299999996e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7893 Order of pole = 4.437 x[1] = -0.782 y[1] (analytic) = 1.6352587960570639909472073050281 y[1] (numeric) = 1.6352587960572242464989234408675 absolute error = 1.602555517161358394e-13 relative error = 9.8000116007658253053245600000000e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7883 Order of pole = 4.437 x[1] = -0.781 y[1] (analytic) = 1.6394490795313142971435878687326 y[1] (numeric) = 1.6394490795314763081243485143658 absolute error = 1.620109807606456332e-13 relative error = 9.8820379835744171072305199999999e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7872 Order of pole = 4.437 x[1] = -0.78 y[1] (analytic) = 1.6436554898093359631821170282709 y[1] (numeric) = 1.6436554898094997476586179398884 absolute error = 1.637844765009116175e-13 relative error = 9.9646475503154628086999999999998e-12 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7862 Order of pole = 4.437 x[1] = -0.779 y[1] (analytic) = 1.6478781097519778657012298114332 y[1] (numeric) = 1.6478781097521434419496191626675 absolute error = 1.655762483893512343e-13 relative error = 1.0047845614884229237384630000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7852 Order of pole = 4.437 x[1] = -0.778 y[1] (analytic) = 1.6521170227529556373537050376352 y[1] (numeric) = 1.6521170227531230238622849440285 absolute error = 1.673865085799063933e-13 relative error = 1.0131637545928006136219720000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7842 Order of pole = 4.437 x[1] = -0.777 y[1] (analytic) = 1.656372312742969113625484281855 y[1] (numeric) = 1.6563723127431383290974507035833 absolute error = 1.692154719664217283e-13 relative error = 1.0216028767481582360483070000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7832 Order of pole = 4.437 x[1] = -0.776 y[1] (analytic) = 1.6606440641938569454777340843872 y[1] (numeric) = 1.6606440641940280088339557027798 absolute error = 1.710633562216183926e-13 relative error = 1.0301024759610927718229760000001e-11 % h = 0.001 TOP MAIN SOLVE Loop memory used=38.1MB, alloc=4.4MB, time=2.57 Real estimate of pole used Radius of convergence = 0.7822 Order of pole = 4.437 x[1] = -0.775 y[1] (analytic) = 1.6649323621227887617065556711759 y[1] (numeric) = 1.6649323621229616920883923445938 absolute error = 1.729303818366734179e-13 relative error = 1.0386631059065197162618750000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7812 Order of pole = 4.437 x[1] = -0.774 y[1] (analytic) = 1.6692372920964952693815141985324 y[1] (numeric) = 1.6692372920966700861536756133797 absolute error = 1.748167721614148473e-13 relative error = 1.0472853259937176106109480000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7802 Order of pole = 4.437 x[1] = -0.773 y[1] (analytic) = 1.6735589402355366852487494330819 y[1] (numeric) = 1.6735589402357134080021945761093 absolute error = 1.767227534451430274e-13 relative error = 1.0559697014332286801929460000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7792 Order of pole = 4.437 x[1] = -0.772 y[1] (analytic) = 1.6778973932186098955676662460737 y[1] (numeric) = 1.6778973932187885441225443347201 absolute error = 1.786485548780886464e-13 relative error = 1.0647168033046278383605760000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7782 Order of pole = 4.437 x[1] = -0.771 y[1] (analytic) = 1.6822527382868947464929236038564 y[1] (numeric) = 1.6822527382870753409015571221455 absolute error = 1.805944086335182891e-13 relative error = 1.0735272086251724529089310000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7772 Order of pole = 4.437 x[1] = -0.77 y[1] (analytic) = 1.6866250632484398718164951931186 y[1] (numeric) = 1.6866250632486224323664056915985 absolute error = 1.825605499104984799e-13 relative error = 1.0824015004193454873271000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7762 Order of pole = 4.437 x[1] = -0.769 y[1] (analytic) = 1.6910144564825884696488270278222 y[1] (numeric) = 1.6910144564827730168658043572068 absolute error = 1.845472169773293846e-13 relative error = 1.0913402677893048220644060000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7751 Order of pole = 4.437 x[1] = -0.768 y[1] (analytic) = 1.6954210069444444444444444444444 y[1] (numeric) = 1.69542100694463099909566010399 absolute error = 1.865546512156595456e-13 relative error = 1.1003441059862517582397440000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7741 Order of pole = 4.437 x[1] = -0.767 y[1] (analytic) = 1.6998448041693793356666536345232 y[1] (numeric) = 1.6998448041695679187638189277587 absolute error = 1.885830971652932355e-13 relative error = 1.1094136164827319221905950000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7731 Order of pole = 4.437 x[1] = -0.766 y[1] (analytic) = 1.7042859382775804593391460845735 y[1] (numeric) = 1.704285938277771092141715786797 absolute error = 1.906328025697022235e-13 relative error = 1.1185494070458819785196600000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7721 Order of pole = 4.437 x[1] = -0.765 y[1] (analytic) = 1.7087444999786406937502669913281 y[1] (numeric) = 1.7087444999788333977686892452953 absolute error = 1.927040184222539672e-13 relative error = 1.1277520918116357795462000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7711 Order of pole = 4.437 x[1] = -0.764 y[1] (analytic) = 1.7132205805761903456593843370522 y[1] (numeric) = 1.7132205805763851426583975055171 absolute error = 1.947969990131684649e-13 relative error = 1.1370222913599038028827040000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7701 Order of pole = 4.437 x[1] = -0.763 y[1] (analytic) = 1.7177142719725715385051419776731 y[1] (numeric) = 1.7177142719727684505071191938991 absolute error = 1.969120019772162260e-13 relative error = 1.1463606327907399307419400000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7691 Order of pole = 4.437 x[1] = -0.762 y[1] (analytic) = 1.722225666673555569333360888944 y[1] (numeric) = 1.7222256666737546186217030589909 absolute error = 1.990492883421700469e-13 relative error = 1.1557677498015098471220360000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7681 Order of pole = 4.437 x[1] = -0.761 y[1] (analytic) = 1.7267548577931036864489459024971 y[1] (numeric) = 1.7267548577933048955715239260151 absolute error = 2.012091225780235180e-13 relative error = 1.1652442827650755776767800000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7671 Order of pole = 4.437 x[1] = -0.76 y[1] (analytic) = 1.7313019390581717451523545706371 y[1] (numeric) = 1.7313019390583751369250015600578 absolute error = 2.033917726469894207e-13 relative error = 1.1747908788090108939632000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7661 Order of pole = 4.437 x[1] = -0.759 y[1] (analytic) = 1.735867004813559204347999673657 y[1] (numeric) = 1.7358670048137648018580539650777 absolute error = 2.055975100542914207e-13 relative error = 1.1844081918958625592827670000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7651 Order of pole = 4.437 x[1] = -0.758 y[1] (analytic) = 1.7404501500268029323104127651575 y[1] (numeric) = 1.7404501500270107589203125278695 absolute error = 2.078266098997627120e-13 relative error = 1.1940968829044726285756800000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7641 Order of pole = 4.437 x[1] = -0.757 y[1] (analytic) = 1.7450514702931162954651347441493 y[1] (numeric) = 1.7450514702933263748160650096664 absolute error = 2.100793509302655171e-13 relative error = 1.2038576197123772430863790000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7631 Order of pole = 4.437 x[1] = -0.756 y[1] (analytic) = 1.7496710618403740096861789983483 y[1] (numeric) = 1.7496710618405863657017719439594 absolute error = 2.123560155929456111e-13 relative error = 1.2136910772792976278564960000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.762 Order of pole = 4.437 x[1] = -0.755 y[1] (analytic) = 1.7543090215341432393316082627955 y[1] (numeric) = 1.754309021534357896221697599092 absolute error = 2.146568900893362965e-13 relative error = 1.2235979377317392241241250000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.761 Order of pole = 4.437 x[1] = -0.754 y[1] (analytic) = 1.7589654468827614350343701848321 y[1] (numeric) = 1.7589654468829784172988005113611 absolute error = 2.169822644303265290e-13 relative error = 1.2335788904487151696096400000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.76 Order of pole = 4.437 x[1] = -0.753 y[1] (analytic) = 1.7636404360424614071381583008382 y[1] (numeric) = 1.7636404360426807395706503090034 absolute error = 2.193324324920081652e-13 relative error = 1.2436346321486105774188680000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.759 Order of pole = 4.437 memory used=41.9MB, alloc=4.4MB, time=2.83 x[1] = -0.752 y[1] (analytic) = 1.7683340878225441376188320507017 y[1] (numeric) = 1.768334087822765845310904468286 absolute error = 2.217076920724175843e-13 relative error = 1.2537658669772043359198720000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.758 Order of pole = 4.437 x[1] = -0.751 y[1] (analytic) = 1.7730465016905998393619869468317 y[1] (numeric) = 1.7730465016908239477069361340548 absolute error = 2.241083449491872231e-13 relative error = 1.2639733065968654301562310000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.757 Order of pole = 4.437 x[1] = -0.75 y[1] (analytic) = 1.7777777777777777777777777777777 y[1] (numeric) = 1.7777777777780043124747159006271 absolute error = 2.265346969381228494e-13 relative error = 1.2742576702769410278750000000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.756 Order of pole = 4.437 x[1] = -0.749 y[1] (analytic) = 1.7825280168841053759262461207734 y[1] (numeric) = 1.7825280168843343629841988434753 absolute error = 2.289870579527227019e-13 relative error = 1.2846196849853538848860190000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.755 Order of pole = 4.437 x[1] = -0.748 y[1] (analytic) = 1.7872973204838571306013898023964 y[1] (numeric) = 1.7872973204840885963434544573216 absolute error = 2.314657420646549252e-13 relative error = 1.2950600854814268926910080000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.754 Order of pole = 4.437 x[1] = -0.747 y[1] (analytic) = 1.7920857907309738731812569331319 y[1] (numeric) = 1.7920857907312078442488221431659 absolute error = 2.339710675652100340e-13 relative error = 1.3055796144099528586230600000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.753 Order of pole = 4.437 x[1] = -0.746 y[1] (analytic) = 1.7968935304645329154956910493139 y[1] (numeric) = 1.796893530464769418852718794777 absolute error = 2.365033570277454631e-13 relative error = 1.3161790223965279414255960000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.752 Order of pole = 4.437 x[1] = -0.745 y[1] (analytic) = 1.8017206432142696274942570154498 y[1] (numeric) = 1.8017206432145086904316281550237 absolute error = 2.390629373711395739e-13 relative error = 1.3268590681441674200384750000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.751 Order of pole = 4.437 x[1] = -0.744 y[1] (analytic) = 1.8065672332061510001156203029251 y[1] (numeric) = 1.806567233206392650255544575748 absolute error = 2.416501399242728229e-13 relative error = 1.3376205185312228129677440000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7499 Order of pole = 4.437 x[1] = -0.743 y[1] (analytic) = 1.8114334053680017534675363962257 y[1] (numeric) = 1.8114334053682460187680279503508 absolute error = 2.442653004915541251e-13 relative error = 1.3484641487106196320732990000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7489 Order of pole = 4.437 x[1] = -0.742 y[1] (analytic) = 1.8163192653351835572249547736503 y[1] (numeric) = 1.8163192653354304659843742844468 absolute error = 2.469087594195107965e-13 relative error = 1.3593907422104354216422600000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7479 Order of pole = 4.437 x[1] = -0.741 y[1] (analytic) = 1.8212249194563279370438969842336 y[1] (numeric) = 1.8212249194565775179055614450305 absolute error = 2.495808616644607969e-13 relative error = 1.3704010910358379882264890000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7469 Order of pole = 4.437 x[1] = -0.74 y[1] (analytic) = 1.8261504747991234477720964207451 y[1] (numeric) = 1.8261504747993757297289577071045 absolute error = 2.522819568612863594e-13 relative error = 1.3814959957724041040744000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7459 Order of pole = 4.437 x[1] = -0.739 y[1] (analytic) = 1.8310960391561577013152762849258 y[1] (numeric) = 1.831096039156412713714669613378 absolute error = 2.550123993933284522e-13 relative error = 1.3926762656908392764391620000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7449 Order of pole = 4.437 x[1] = -0.738 y[1] (analytic) = 1.8360617210508148441918023516279 y[1] (numeric) = 1.8360617210510726167402657735128 absolute error = 2.577725484634218849e-13 relative error = 1.4039427188531194907947560000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7439 Order of pole = 4.437 x[1] = -0.737 y[1] (analytic) = 1.841047629743229087079711839225 y[1] (numeric) = 1.8410476297434896498478779304835 absolute error = 2.605627681660912585e-13 relative error = 1.4152961822200762278818650000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7429 Order of pole = 4.437 x[1] = -0.736 y[1] (analytic) = 1.8460538752362948960302457466918 y[1] (numeric) = 1.8460538752365582794578066750238 absolute error = 2.633834275609283320e-13 relative error = 1.4267374917604463373107200000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7419 Order of pole = 4.437 x[1] = -0.735 y[1] (analytic) = 1.8510805682817344624924799851913 y[1] (numeric) = 1.851080568282000697393227156974 absolute error = 2.662349007471717827e-13 relative error = 1.4382674925614087630910750000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7409 Order of pole = 4.437 x[1] = -0.734 y[1] (analytic) = 1.8561278203862230768659652978343 y[1] (numeric) = 1.8561278203864921944329048085668 absolute error = 2.691175669395107325e-13 relative error = 1.4498870389406304419877000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7399 Order of pole = 4.437 x[1] = -0.733 y[1] (analytic) = 1.86119574381757303797397676111 y[1] (numeric) = 1.8611957438178450697845218949335 absolute error = 2.720318105451338235e-13 relative error = 1.4615969945598440689449150000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7389 Order of pole = 4.437 x[1] = -0.732 y[1] (analytic) = 1.8662844516109767386305951207859 y[1] (numeric) = 1.8662844516112517166518371668312 absolute error = 2.749780212420460453e-13 relative error = 1.4733982325399808017682720000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7379 Order of pole = 4.437 x[1] = -0.731 y[1] (analytic) = 1.8713940575753095753619743955865 y[1] (numeric) = 1.8713940575755875319560330715285 absolute error = 2.779565940586759420e-13 relative error = 1.4852916355778813504306200000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7368 Order of pole = 4.437 x[1] = -0.73 y[1] (analytic) = 1.8765246762994933383373991367986 y[1] (numeric) = 1.8765246762997743062668539330639 absolute error = 2.809679294547962653e-13 relative error = 1.4972780960646092977837000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7358 Order of pole = 4.437 x[1] = -0.729 y[1] (analytic) = 1.8816764231589207456707329694171 y[1] (numeric) = 1.8816764231592047581041367509958 absolute error = 2.840124334037815787e-13 relative error = 1.5093585162053908596590670000000e-11 % h = 0.001 TOP MAIN SOLVE Loop memory used=45.7MB, alloc=4.4MB, time=3.10 Real estimate of pole used Radius of convergence = 0.7348 Order of pole = 4.437 x[1] = -0.728 y[1] (analytic) = 1.8868494143219417944692669967396 y[1] (numeric) = 1.8868494143222288849867432235188 absolute error = 2.870905174762267792e-13 relative error = 1.5215338081412057334753279999999e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7338 Order of pole = 4.437 x[1] = -0.727 y[1] (analytic) = 1.8920437667564126093364791714362 y[1] (numeric) = 1.8920437667567028119354041223961 absolute error = 2.902025989249509599e-13 relative error = 1.5338048940720540588498710000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7328 Order of pole = 4.437 x[1] = -0.726 y[1] (analytic) = 1.897259598236307477479528568935 y[1] (numeric) = 1.8972595982366008265802999804469 absolute error = 2.933491007714115119e-13 relative error = 1.5461727063819249404620440000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7318 Order of pole = 4.437 x[1] = -0.725 y[1] (analytic) = 1.9024970273483947681331747919143 y[1] (numeric) = 1.9024970273486912985850683457626 absolute error = 2.965304518935538483e-13 relative error = 1.5586381877654924151268750000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7308 Order of pole = 4.437 x[1] = -0.724 y[1] (analytic) = 1.9077561734989774426910045480907 y[1] (numeric) = 1.9077561734992771897781196707133 absolute error = 2.997470871151226226e-13 relative error = 1.5712022913565651582397760000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7298 Order of pole = 4.437 x[1] = -0.723 y[1] (analytic) = 1.9130371569206988707341662697115 y[1] (numeric) = 1.9130371569210018701814627305298 absolute error = 3.029994472964608183e-13 relative error = 1.5838659808583166708914070000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7288 Order of pole = 4.437 x[1] = -0.722 y[1] (analytic) = 1.918340098679414676069090936994 y[1] (numeric) = 1.9183400986797209640485177605938 absolute error = 3.062879794268235998e-13 relative error = 1.5966302306753231339814320000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7278 Order of pole = 4.437 x[1] = -0.721 y[1] (analytic) = 1.9236651206811313459307749869671 y[1] (numeric) = 1.9236651206814409590674932213053 absolute error = 3.096131367182343382e-13 relative error = 1.6094960260474365660422620000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7268 Order of pole = 4.437 x[1] = -0.72 y[1] (analytic) = 1.929012345679012345679012345679 y[1] (numeric) = 1.929012345679325321057713256441 absolute error = 3.129753787009107620e-13 relative error = 1.6224643631855213902080000000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7258 Order of pole = 4.437 x[1] = -0.719 y[1] (analytic) = 1.9343818972804524906134118434466 y[1] (numeric) = 1.9343818972807688657847321331742 absolute error = 3.163751713202897276e-13 relative error = 1.6355362494090829786982360000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7247 Order of pole = 4.437 x[1] = -0.718 y[1] (analytic) = 1.9397738999542213359610803764713 y[1] (numeric) = 1.9397738999545411489481160561326 absolute error = 3.198129870356796613e-13 relative error = 1.6487127032858172171202120000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7237 Order of pole = 4.437 x[1] = -0.717 y[1] (analytic) = 1.9451884790376763556504807533326 y[1] (numeric) = 1.9451884790379996449554013236301 absolute error = 3.232893049205702975e-13 relative error = 1.6619947547731106367147750000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7227 Order of pole = 4.437 x[1] = -0.716 y[1] (analytic) = 1.9506257607440466901782091695015 y[1] (numeric) = 1.9506257607443734947889737994171 absolute error = 3.268046107646299156e-13 relative error = 1.6753834453615211401183360000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7217 Order of pole = 4.437 x[1] = -0.715 y[1] (analytic) = 1.9560858721697882537043376204215 y[1] (numeric) = 1.956085872170118613101515041294 absolute error = 3.303593971774208725e-13 relative error = 1.6888798282202698554381250000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7207 Order of pole = 4.437 x[1] = -0.714 y[1] (analytic) = 1.9615689413020110004786228216777 y[1] (numeric) = 1.9615689413023449546423166865141 absolute error = 3.339541636938648364e-13 relative error = 1.7024849683447751813737440000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7197 Order of pole = 4.437 x[1] = -0.713 y[1] (analytic) = 1.9670750970259791608064221067767 y[1] (numeric) = 1.9670750970263167502233035965186 absolute error = 3.375894168814897419e-13 relative error = 1.7161999427062605859996110000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7187 Order of pole = 4.437 x[1] = -0.712 y[1] (analytic) = 1.9726044691326852670117409418003 y[1] (numeric) = 1.9726044691330265326821904329226 absolute error = 3.412656704494911223e-13 relative error = 1.7300258404034682750325120000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7177 Order of pole = 4.437 x[1] = -0.711 y[1] (analytic) = 1.9781571883264988002476652799785 y[1] (numeric) = 1.9781571883268437836930249210989 absolute error = 3.449834453596411204e-13 relative error = 1.7439637628165113882572840000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7167 Order of pole = 4.437 x[1] = -0.71 y[1] (analytic) = 1.9837333862328902995437413211665 y[1] (numeric) = 1.9837333862332390428136804002999 absolute error = 3.487432699390791334e-13 relative error = 1.7580148237628979114693999999999e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7157 Order of pole = 4.437 x[1] = -0.709 y[1] (analytic) = 1.9893331954062317851679295616903 y[1] (numeric) = 1.9893331954065843308479245804186 absolute error = 3.525456799950187283e-13 relative error = 1.7721801496557600936057229999999e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7147 Order of pole = 4.437 x[1] = -0.708 y[1] (analytic) = 1.994956749337674359219892112739 y[1] (numeric) = 1.9949567493380307504388235188831 absolute error = 3.563912189314061441e-13 relative error = 1.7864608796643236941614240000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7137 Order of pole = 4.437 x[1] = -0.707 y[1] (analytic) = 2.0006041824631038573649242071106 y[1] (numeric) = 2.000604182463464137802791773515 absolute error = 3.602804378675664044e-13 relative error = 1.8008581658766519967293560000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7127 Order of pole = 4.437 x[1] = -0.706 y[1] (analytic) = 2.0062756301711754367662046882649 y[1] (numeric) = 2.0062756301715396506619635620438 absolute error = 3.642138957588737789e-13 relative error = 1.8153731734647001085980040000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7116 Order of pole = 4.437 x[1] = -0.705 y[1] (analytic) = 2.0119712288114279965796489110206 y[1] (numeric) = 2.0119712288117961887391683950847 absolute error = 3.681921595194840641e-13 relative error = 1.8300070808517156695930250000000e-11 % h = 0.001 TOP MAIN SOLVE Loop memory used=49.5MB, alloc=4.4MB, time=3.37 Real estimate of pole used Radius of convergence = 0.7106 Order of pole = 4.437 x[1] = -0.704 y[1] (analytic) = 2.0176911157024793388429752066115 y[1] (numeric) = 2.017691115702851554647122373515 absolute error = 3.722158041471669035e-13 relative error = 1.8447610798820227204505600000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7096 Order of pole = 4.437 x[1] = -0.703 y[1] (analytic) = 2.0234354291403029892211594689696 y[1] (numeric) = 2.0234354291406792746340097460987 absolute error = 3.762854128502771291e-13 relative error = 1.8596363759932260969538190000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7086 Order of pole = 4.437 x[1] = -0.702 y[1] (analytic) = 2.0292043084065876088668111460134 y[1] (numeric) = 2.0292043084069680104439880509031 absolute error = 3.804015771769048897e-13 relative error = 1.8746341883908743726371880000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7076 Order of pole = 4.437 x[1] = -0.701 y[1] (analytic) = 2.0349978937771799406187614595819 y[1] (numeric) = 2.0349978937775645055159077047065 absolute error = 3.845648971462451246e-13 relative error = 1.8897557502256200047356460000000e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7066 Order of pole = 4.437 x[1] = -0.7 y[1] (analytic) = 2.0408163265306122448979591836734 y[1] (numeric) = 2.040816326531001020879341411433 absolute error = 3.887759813822277596e-13 relative error = 1.9050023087729160220400000000001e-11 % h = 0.001 TOP MAIN SOLVE Loop Real estimate of pole used Radius of convergence = 0.7056 Order of pole = 4.437 x[1] = -0.699 y[1] (analytic) = 2.0466597489567151929693144303838 y[1] (numeric) = 2.0466597489571082284165638812146 absolute error = 3.930354472494508308e-13 relative error = 1.9203751256152892537971080000001e-11 % h = 0.001 Finished! diff ( y , x , 1 ) = m1 * 2.0 / x / x / x ; Iterations = 301 Total Elapsed Time = 3 Seconds Elapsed Time(since restart) = 3 Seconds Time to Timeout = 14 Minutes 56 Seconds Percent Done = 100.7 % > quit memory used=50.5MB, alloc=4.4MB, time=3.44