|\^/| 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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> 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 glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
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)
> if (nnn <= glob_max_terms) then # if number 13
> ret := array_fact_1[nnn];
> else
> ret := nnn!;
> fi;# end if 13
> ;
> ret;
> # End Function number 17
> end;
Warning, `ret` is implicitly declared local to procedure `factorial_1`
factorial_1 := proc(nnn)
local ret;
if nnn <= glob_max_terms then ret := array_fact_1[nnn]
else ret := nnn!
end if;
ret
end proc
> # Begin Function number 18
> factorial_3 := proc(mmm,nnn)
> if (nnn <= glob_max_terms) and (mmm <= glob_max_terms) then # if number 13
> ret := array_fact_2[mmm,nnn];
> else
> ret := (mmm!)/(nnn!);
> fi;# end if 13
> ;
> ret;
> # End Function number 18
> end;
Warning, `ret` is implicitly declared local to procedure `factorial_3`
factorial_3 := proc(mmm, nnn)
local ret;
if nnn <= glob_max_terms and mmm <= glob_max_terms then
ret := array_fact_2[mmm, nnn]
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,
> 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
> glob_max_terms,
> glob_iolevel,
> DEBUGMASSIVE,
> INFO,
> DEBUGL,
> ALWAYS,
> #Top Generate Globals Decl
> glob_iter,
> glob_look_poles,
> glob_optimal_done,
> years_in_century,
> glob_percent_done,
> glob_max_minutes,
> glob_orig_start_sec,
> glob_max_trunc_err,
> glob_dump,
> glob_log10normmin,
> glob_optimal_start,
> glob_optimal_clock_start_sec,
> glob_max_iter,
> glob_hmin,
> glob_h,
> glob_warned2,
> glob_warned,
> glob_reached_optimal_h,
> glob_subiter_method,
> glob_smallish_float,
> glob_last_good_h,
> glob_hmax,
> centuries_in_millinium,
> djd_debug2,
> glob_normmax,
> glob_current_iter,
> glob_curr_iter_when_opt,
> glob_max_sec,
> glob_log10_abserr,
> glob_large_float,
> glob_not_yet_start_msg,
> glob_initial_pass,
> glob_not_yet_finished,
> days_in_year,
> glob_html_log,
> glob_optimal_expect_sec,
> glob_log10relerr,
> MAX_UNCHANGED,
> glob_max_hours,
> glob_hmin_init,
> glob_disp_incr,
> glob_clock_sec,
> glob_log10abserr,
> glob_small_float,
> glob_no_eqs,
> glob_max_rel_trunc_err,
> glob_log10_relerr,
> glob_dump_analytic,
> djd_debug,
> min_in_hour,
> sec_in_min,
> glob_unchanged_h_cnt,
> glob_relerr,
> glob_abserr,
> glob_clock_start_sec,
> glob_almost_1,
> glob_max_opt_iter,
> glob_start,
> hours_in_day,
> glob_display_flag,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_2D0,
> array_const_0D0,
> array_const_1,
> #END CONST
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_norms,
> array_last_rel_error,
> array_1st_rel_error,
> array_pole,
> array_fact_1,
> array_m1,
> array_type_pole,
> array_y,
> array_x,
> array_y_init,
> array_complex_pole,
> array_y_set_initial,
> array_fact_2,
> array_real_pole,
> array_y_higher_work2,
> array_y_higher,
> array_poles,
> array_y_higher_work,
> glob_last;
> glob_last;
> ALWAYS := 1;
> INFO := 2;
> DEBUGL := 3;
> DEBUGMASSIVE := 4;
> glob_iolevel := INFO;
> glob_max_terms := 30;
> glob_iolevel := 5;
> DEBUGMASSIVE := 4;
> INFO := 2;
> DEBUGL := 3;
> ALWAYS := 1;
> glob_iter := 0;
> glob_look_poles := false;
> glob_optimal_done := false;
> years_in_century := 100.0;
> glob_percent_done := 0.0;
> glob_max_minutes := 0.0;
> glob_orig_start_sec := 0.0;
> glob_max_trunc_err := 0.1e-10;
> glob_dump := false;
> glob_log10normmin := 0.1;
> glob_optimal_start := 0.0;
> glob_optimal_clock_start_sec := 0.0;
> glob_max_iter := 1000;
> glob_hmin := 0.00000000001;
> glob_h := 0.1;
> glob_warned2 := false;
> glob_warned := false;
> glob_reached_optimal_h := false;
> glob_subiter_method := 3;
> glob_smallish_float := 0.1e-100;
> glob_last_good_h := 0.1;
> glob_hmax := 1.0;
> centuries_in_millinium := 10.0;
> djd_debug2 := true;
> glob_normmax := 0.0;
> glob_current_iter := 0;
> glob_curr_iter_when_opt := 0;
> glob_max_sec := 10000.0;
> glob_log10_abserr := 0.1e-10;
> glob_large_float := 9.0e100;
> glob_not_yet_start_msg := true;
> glob_initial_pass := true;
> glob_not_yet_finished := true;
> days_in_year := 365.0;
> glob_html_log := true;
> glob_optimal_expect_sec := 0.1;
> glob_log10relerr := 0.0;
> MAX_UNCHANGED := 10;
> glob_max_hours := 0.0;
> glob_hmin_init := 0.001;
> glob_disp_incr := 0.1;
> glob_clock_sec := 0.0;
> glob_log10abserr := 0.0;
> glob_small_float := 0.1e-50;
> glob_no_eqs := 0;
> glob_max_rel_trunc_err := 0.1e-10;
> glob_log10_relerr := 0.1e-10;
> glob_dump_analytic := false;
> djd_debug := true;
> min_in_hour := 60.0;
> sec_in_min := 60.0;
> glob_unchanged_h_cnt := 0;
> glob_relerr := 0.1e-10;
> glob_abserr := 0.1e-10;
> glob_clock_start_sec := 0.0;
> glob_almost_1 := 0.9990;
> glob_max_opt_iter := 10;
> glob_start := 0;
> hours_in_day := 24.0;
> glob_display_flag := true;
> #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 := 100;");
> 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 := 100;
> 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_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_norms:= Array(0..(max_terms + 1),[]);
> array_last_rel_error:= Array(0..(max_terms + 1),[]);
> array_1st_rel_error:= Array(0..(max_terms + 1),[]);
> array_pole:= Array(0..(max_terms + 1),[]);
> array_fact_1:= Array(0..(max_terms + 1),[]);
> array_m1:= Array(0..(max_terms + 1),[]);
> array_type_pole:= Array(0..(max_terms + 1),[]);
> array_y:= Array(0..(max_terms + 1),[]);
> array_x:= Array(0..(max_terms + 1),[]);
> array_y_init:= Array(0..(max_terms + 1),[]);
> array_complex_pole := Array(0..(1+ 1) ,(0..3+ 1),[]);
> array_y_set_initial := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_fact_2 := Array(0..(max_terms+ 1) ,(0..max_terms+ 1),[]);
> array_real_pole := Array(0..(1+ 1) ,(0..3+ 1),[]);
> array_y_higher_work2 := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_y_higher := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_poles := Array(0..(1+ 1) ,(0..3+ 1),[]);
> array_y_higher_work := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> 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_norms[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_pole[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_m1[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> 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_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
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_y_init[term] := 0.0;
> term := term + 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_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 <=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 <=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 <=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 <=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
> ;
> 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 <=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
> ;
> #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_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_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_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
> temp1 := iiif !;
> temp2 := jjjf !;
> array_fact_1[iiif] := temp1;
> array_fact_2[iiif,jjjf] := temp1/temp2;
> 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-17T02:21:51-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," 091 | ")
> ;
> logitem_str(html_log_file,"sing3 diffeq.mxt")
> ;
> logitem_str(html_log_file,"sing3 maple results")
> ;
> logitem_str(html_log_file,"Test of revised logic - mostly for speeding 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;
Warning, `iiif` is implicitly declared local to procedure `mainprog`
Warning, `jjjf` is implicitly declared local to procedure `mainprog`
Warning, `temp1` is implicitly declared local to procedure `mainprog`
Warning, `temp2` is implicitly declared local to procedure `mainprog`
mainprog := proc()
local d1, d2, d3, d4, est_err_2, niii, done_once, term, ord, order_diff,
term_no, html_log_file, rows, r_order, sub_iter, calc_term, iii, temp_sum,
current_iter, x_start, x_end, it, log10norm, max_terms, opt_iter, tmp, iiif,
jjjf, temp1, temp2;
global glob_max_terms, glob_iolevel, DEBUGMASSIVE, INFO, DEBUGL, ALWAYS,
glob_iter, glob_look_poles, glob_optimal_done, years_in_century,
glob_percent_done, glob_max_minutes, glob_orig_start_sec,
glob_max_trunc_err, glob_dump, glob_log10normmin, glob_optimal_start,
glob_optimal_clock_start_sec, glob_max_iter, glob_hmin, glob_h,
glob_warned2, glob_warned, glob_reached_optimal_h, glob_subiter_method,
glob_smallish_float, glob_last_good_h, glob_hmax, centuries_in_millinium,
djd_debug2, glob_normmax, glob_current_iter, glob_curr_iter_when_opt,
glob_max_sec, glob_log10_abserr, glob_large_float, glob_not_yet_start_msg,
glob_initial_pass, glob_not_yet_finished, days_in_year, glob_html_log,
glob_optimal_expect_sec, glob_log10relerr, MAX_UNCHANGED, glob_max_hours,
glob_hmin_init, glob_disp_incr, glob_clock_sec, glob_log10abserr,
glob_small_float, glob_no_eqs, glob_max_rel_trunc_err, glob_log10_relerr,
glob_dump_analytic, djd_debug, min_in_hour, sec_in_min,
glob_unchanged_h_cnt, glob_relerr, glob_abserr, glob_clock_start_sec,
glob_almost_1, glob_max_opt_iter, glob_start, hours_in_day,
glob_display_flag, array_const_2D0, array_const_0D0, array_const_1,
array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5,
array_norms, array_last_rel_error, array_1st_rel_error, array_pole,
array_fact_1, array_m1, array_type_pole, array_y, array_x, array_y_init,
array_complex_pole, array_y_set_initial, array_fact_2, array_real_pole,
array_y_higher_work2, array_y_higher, array_poles, array_y_higher_work,
glob_last;
glob_last;
ALWAYS := 1;
INFO := 2;
DEBUGL := 3;
DEBUGMASSIVE := 4;
glob_iolevel := INFO;
glob_max_terms := 30;
glob_iolevel := 5;
DEBUGMASSIVE := 4;
INFO := 2;
DEBUGL := 3;
ALWAYS := 1;
glob_iter := 0;
glob_look_poles := false;
glob_optimal_done := false;
years_in_century := 100.0;
glob_percent_done := 0.;
glob_max_minutes := 0.;
glob_orig_start_sec := 0.;
glob_max_trunc_err := 0.1*10^(-10);
glob_dump := false;
glob_log10normmin := 0.1;
glob_optimal_start := 0.;
glob_optimal_clock_start_sec := 0.;
glob_max_iter := 1000;
glob_hmin := 0.1*10^(-10);
glob_h := 0.1;
glob_warned2 := false;
glob_warned := false;
glob_reached_optimal_h := false;
glob_subiter_method := 3;
glob_smallish_float := 0.1*10^(-100);
glob_last_good_h := 0.1;
glob_hmax := 1.0;
centuries_in_millinium := 10.0;
djd_debug2 := true;
glob_normmax := 0.;
glob_current_iter := 0;
glob_curr_iter_when_opt := 0;
glob_max_sec := 10000.0;
glob_log10_abserr := 0.1*10^(-10);
glob_large_float := 0.90*10^101;
glob_not_yet_start_msg := true;
glob_initial_pass := true;
glob_not_yet_finished := true;
days_in_year := 365.0;
glob_html_log := true;
glob_optimal_expect_sec := 0.1;
glob_log10relerr := 0.;
MAX_UNCHANGED := 10;
glob_max_hours := 0.;
glob_hmin_init := 0.001;
glob_disp_incr := 0.1;
glob_clock_sec := 0.;
glob_log10abserr := 0.;
glob_small_float := 0.1*10^(-50);
glob_no_eqs := 0;
glob_max_rel_trunc_err := 0.1*10^(-10);
glob_log10_relerr := 0.1*10^(-10);
glob_dump_analytic := false;
djd_debug := true;
min_in_hour := 60.0;
sec_in_min := 60.0;
glob_unchanged_h_cnt := 0;
glob_relerr := 0.1*10^(-10);
glob_abserr := 0.1*10^(-10);
glob_clock_start_sec := 0.;
glob_almost_1 := 0.9990;
glob_max_opt_iter := 10;
glob_start := 0;
hours_in_day := 24.0;
glob_display_flag := true;
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 := 100;");
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 := 100;
max_terms := 30;
glob_max_terms := max_terms;
glob_html_log := true;
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_norms := Array(0 .. max_terms + 1, []);
array_last_rel_error := Array(0 .. max_terms + 1, []);
array_1st_rel_error := Array(0 .. max_terms + 1, []);
array_pole := Array(0 .. max_terms + 1, []);
array_fact_1 := Array(0 .. max_terms + 1, []);
array_m1 := Array(0 .. max_terms + 1, []);
array_type_pole := Array(0 .. max_terms + 1, []);
array_y := Array(0 .. max_terms + 1, []);
array_x := Array(0 .. max_terms + 1, []);
array_y_init := Array(0 .. max_terms + 1, []);
array_complex_pole := Array(0 .. 2, 0 .. 4, []);
array_y_set_initial := Array(0 .. 3, 0 .. max_terms + 1, []);
array_fact_2 := Array(0 .. max_terms + 1, 0 .. max_terms + 1, []);
array_real_pole := Array(0 .. 2, 0 .. 4, []);
array_y_higher_work2 := Array(0 .. 3, 0 .. max_terms + 1, []);
array_y_higher := Array(0 .. 3, 0 .. max_terms + 1, []);
array_poles := Array(0 .. 2, 0 .. 4, []);
array_y_higher_work := Array(0 .. 3, 0 .. max_terms + 1, []);
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_norms[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_pole[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_m1[term] := 0.; term := term + 1
end do;
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_y[term] := 0.; term := term + 1 end do
;
term := 1;
while term <= max_terms do array_x[term] := 0.; term := term + 1 end do
;
term := 1;
while term <= max_terms do array_y_init[term] := 0.; term := term + 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_set_initial[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 <= 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 <= 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 <= 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;
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 <= 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;
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_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_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_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
temp1 := iiif!;
temp2 := jjjf!;
array_fact_1[iiif] := temp1;
array_fact_2[iiif, jjjf] := temp1/temp2;
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-17T02:21:51-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, " 091 | ");
logitem_str(html_log_file,
"sing3 diffeq.mxt");
logitem_str(html_log_file,
"sing3 maple results");
logitem_str(html_log_file,
"Test of revised logic - mostly for speeding 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 := 100;
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.4538456780109044186135492858834e-16
relative error = 2.4489404405005606206807408008609e-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.0040120320801924490263091312886
y[1] (numeric) = 1.0040120320801929417677732682409
absolute error = 4.9274146413695226871278732505646e-16
relative error = 4.9077246924626100744701102690553e-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.4208854155140017752429017356399e-16
relative error = 7.3764268909896573906074215113417e-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.0080482572861728036644570248867
y[1] (numeric) = 1.0080482572861737971082893409124
absolute error = 9.9344383231602566902907422868115e-16
relative error = 9.8551217675881452008754610003936e-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.0100755031438612503608146835255
absolute error = 1.2468255504225220071426684070229e-15
relative error = 1.2343884655570573501214202896628e-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.0121088705269863489580840691095
absolute error = 1.5022520935991266260181344710108e-15
relative error = 1.4842791495513066750644535101996e-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.0141483841066739433759215584609
absolute error = 1.7597420453514975787478520549133e-15
relative error = 1.7351918840767988360267407708952e-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.0161940686784599375650364203954
y[1] (numeric) = 1.0161940686784619568792134487405
absolute error = 2.0193141770283451019207148618800e-15
relative error = 1.9871343863032213943765063498411e-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.0182459491630550230728787107868
absolute error = 2.2809874499121439184396255311686e-15
relative error = 2.2401144357971682115651058812756e-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.0203040506070834548922304767727
absolute error = 2.5447810173352565182998275055451e-15
relative error = 2.4941398750902849135856609381847e-13 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=3.8MB, alloc=3.1MB, time=0.17
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.0223683981838675881804094311114
absolute error = 2.8107142268218023445448024412579e-15
relative error = 2.7492186102531681310485067086456e-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.0244390171941844645871920536314
y[1] (numeric) = 1.024439017194187543393814309244
absolute error = 3.0788066222556125704934664397810e-15
relative error = 3.0053586114750826770117743043935e-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.0265159330670584493736853149316
absolute error = 3.3490779460746149857301863717958e-15
relative error = 3.2625679136495616060337899276259e-13 %
h = 0.001
TOP MAIN SOLVE Loop
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.0285991713605111735232576208449
absolute error = 3.6215481414919984134477316266682e-15
relative error = 3.5208546169659548895602308965203e-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.0306887577623786031352392558358
absolute error = 3.8962373547445110617331211313594e-15
relative error = 3.7802268875069932448700174496732e-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.0327847180910833498578888227907
y[1] (numeric) = 1.0327847180910875230238261910429
absolute error = 4.1731659373682522675086609643292e-15
relative error = 4.0406929578524344675288660306776e-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.0348870782964561350290934584378
absolute error = 4.4523544485023222253277128596336e-15
relative error = 4.3022611276888604407896903314225e-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.0369958644604972653794413762323
absolute error = 4.7338236572206995053408741209499e-15
relative error = 4.5649397644256938297883330958109e-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.0391111027982222887253328013084
y[1] (numeric) = 1.0391111027982273063198776940299
absolute error = 5.0175945448927214567792347768314e-15
relative error = 4.8287373038175043138675211590662e-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.0412328196584809388403275642181
absolute error = 5.3036883075725479665555266345533e-15
relative error = 5.0936622505926750670799277798250e-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.0433610415247316837689321392773
absolute error = 5.5921263584179944983923906557561e-15
relative error = 5.3597231790885010650337012924935e-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.045495795015918328930472326554
absolute error = 5.8829303301391258776039646423603e-15
relative error = 5.6269287338927916759141505169834e-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.0476371068872772805096864443625
absolute error = 6.1761220774770079116604635152831e-15
relative error = 5.8952876304920508849093505787797e-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.0497850040311808872033894684617
absolute error = 6.4717236797130196483573874931503e-15
relative error = 6.1648086559263094045536867486752e-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.0519395134779750164365548980934
y[1] (numeric) = 1.0519395134779817861939981072282
absolute error = 6.7697574432091348732179598499514e-15
relative error = 6.4355006694506838388528230823600e-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.0541006623968633204303715955068
absolute error = 7.0702459039795873371308431380476e-15
relative error = 6.7073726032037389966399397448304e-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.0562684780966960771598449849222
absolute error = 7.3732118302943401856420183193177e-15
relative error = 6.9804334628827303896126823614294e-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.0584429880269005981180126100833
absolute error = 7.6786782253147861342827449211704e-15
relative error = 7.2546923284258049030921888776030e-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.0606242197783083255819379937869
y[1] (numeric) = 1.060624219778316312250267755898
absolute error = 7.9866683297621111013539456466636e-15
relative error = 7.5301583547012385929116554674459e-13 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=7.6MB, alloc=4.3MB, time=0.39
Real estimate of pole used
Radius of convergence = 0.9788
Order of pole = 4.437
x[1] = -0.97
y[1] (analytic) = 1.0628122010840684451057498140079
y[1] (numeric) = 1.0628122010840767423113744327681
absolute error = 8.2972056246187602722572440467968e-15
relative error = 7.8068407722037915401668409236311e-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.0650069598204910371664933455816
absolute error = 8.6103138338634519293476724503968e-15
relative error = 8.0847488877582606870322198716971e-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.067208524007922956082234820026
y[1] (numeric) = 1.0672085240079318820991620602168
absolute error = 8.9260169272401908399940886606363e-15
relative error = 8.3638920852303125816546209331441e-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.0694169218117205955796720953834
y[1] (numeric) = 1.069416921811729839918795157123
absolute error = 9.2443391230617395547103295790078e-15
relative error = 8.6442798262446789784745273757048e-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.0716321815430646108474895944515
y[1] (numeric) = 1.0716321815430741761523806424641
absolute error = 9.5653048910480126285317605988004e-15
relative error = 8.9259216509107992723901835933342e-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.0738543316599202221022615973527
absolute error = 9.8889389551998655439563023564066e-15
relative error = 9.2088271785559947911707076618447e-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.0760834007679033300542652354697
absolute error = 1.0215266296708756984474412583007e-14
relative error = 9.4930061084662610306441337157384e-13 %
h = 0.001
TOP MAIN SOLVE Loop
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.0783194176212594754280341857071
absolute error = 1.0544312156902770085737644895008e-14
relative error = 9.7784682206347649916404340086387e-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.0805624111237525611742866322931
absolute error = 1.0876102040229485378550240155435e-14
relative error = 1.0065223376518135866667048450406e-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.0828124103296084802419433890929
absolute error = 1.1210661717276205335934423922382e-14
relative error = 1.0353281519800638428047495115222e-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.0850694444444444444444444444444
y[1] (numeric) = 1.0850694444444559924616722724822
absolute error = 1.1548017227828037747371729533941e-14
relative error = 1.0642652677166319587977785938480e-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.0873335428262744727214752498092
absolute error = 1.1888194883964352568846743182089e-14
relative error = 1.0933346959079219734869541616446e-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.0896047349863485878445445362224
absolute error = 1.2231221273194134439436757085514e-14
relative error = 1.1225374560571741599675235929830e-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.0918830505902299601198036371395
absolute error = 1.2577123261630760715855714699946e-14
relative error = 1.1518745762041270570855740452231e-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.0941685194587058759813926304922
absolute error = 1.2925927997206742657563191843732e-14
relative error = 1.1813470930055141557482673300893e-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.0964611715687750988849189046887
absolute error = 1.3277662912928975298814151507539e-14
relative error = 1.2109560518164048696900976528663e-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.0987610370546308459856410875047
absolute error = 1.3632355730175049572414199642109e-14
relative error = 1.2407025067723995416647321721478e-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.101068146208650988786951821534
absolute error = 1.3990034462031188405056291374245e-14
relative error = 1.2705875208726883590167769332711e-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.1033825294823955384966420095705
absolute error = 1.4350727416672376788084103395654e-14
relative error = 1.3006121660639841772547775243895e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=11.4MB, alloc=4.4MB, time=0.60
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.105704217487611477403533668576
absolute error = 1.4714463200785264242528697921439e-14
relative error = 1.3307775233253393766207196928847e-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.1080332409972449981682299596344
absolute error = 1.5081270723034426645511771064461e-14
relative error = 1.3610846827538570047574373385676e-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.1103696309464612135090195470201
absolute error = 1.5451179197572583068853575492459e-14
relative error = 1.3915347436513065884392598942084e-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.11271341843367139935745931536
absolute error = 1.5824218147595372102259919964808e-14
relative error = 1.4221288146116551289789399112053e-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.1150646347215516347405077335308
y[1] (numeric) = 1.1150646347215678351579166748319
absolute error = 1.6200417408941301095125149549600e-14
relative error = 1.4528680136095239293818090242427e-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.1174233112381497257843194221581
y[1] (numeric) = 1.1174233112381663055914531596489
absolute error = 1.6579807133737490855153447206260e-14
relative error = 1.4837534680895820366130502360037e-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.1197894795778393661991545589429
y[1] (numeric) = 1.1197894795778563286169486507905
absolute error = 1.6962417794091847591088795335289e-14
relative error = 1.5147863150568872195032071454297e-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.122163171502459175341375145719
absolute error = 1.7348280185832303283317818263326e-14
relative error = 1.5459677011681855418682707295907e-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.1245444189422937478567063238838
absolute error = 1.7737425432293775212477351425823e-14
relative error = 1.5772987828241807313920272278062e-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.1269332539972503818131709510943
absolute error = 1.8129884988153505075013196177940e-14
relative error = 1.6087807262627846877384009813241e-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.129329708937872641137502141329
absolute error = 1.8525690643315447968497625314965e-14
relative error = 1.6404147076533606182593245761521e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9485
Order of pole = 4.437
x[1] = -0.94
y[1] (analytic) = 1.1317338162064282480760525124491
y[1] (numeric) = 1.1317338162064471729505793568406
absolute error = 1.8924874526844391541067455128020e-14
relative error = 1.6722019131919704365687203351118e-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.1341456084181016913914854884732
absolute error = 1.9327469110950495771286600140495e-14
relative error = 1.7041435391976382081954592362477e-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.13656511836191115971458815019
absolute error = 1.9733507215024954179810659698160e-14
relative error = 1.7362407922096415785381330071468e-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.1389923790019920976708744841788
y[1] (numeric) = 1.1389923790020122406928842116666
absolute error = 2.0143022009727487775229856189481e-14
relative error = 1.7684948890858432714530781608822e-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.1414274234787260860346023960263
absolute error = 2.0556047021126393706235042252364e-14
relative error = 1.8009070571020749020457695577127e-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.1438702851096895362010243654151
absolute error = 2.0972616134891881433685875226301e-14
relative error = 1.8334785340525855046364034269713e-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.146320997390994802701745062421
absolute error = 2.1392763600543440252209847087701e-14
relative error = 1.8662105683515673364656773366039e-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.1487795939983158891151984689066
y[1] (numeric) = 1.1487795939983377056392342208997
absolute error = 2.1816524035751993184628775251935e-14
relative error = 1.8991044191357716795294317940281e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=15.2MB, alloc=4.4MB, time=0.82
Real estimate of pole used
Radius of convergence = 0.9405
Order of pole = 4.437
x[1] = -0.932
y[1] (analytic) = 1.1512461087881522960452393670909
y[1] (numeric) = 1.1512461087881745399776700646946
absolute error = 2.2243932430697603646853658212680e-14
relative error = 1.9321613563682275270144612011331e-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.1537205757988649696975290766428
y[1] (numeric) = 1.1537205757988876447216815601557
absolute error = 2.2675024152483512839023535686636e-14
relative error = 1.9653826609430762071864878815284e-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.1562030292519366400739969938721
y[1] (numeric) = 1.1562030292519597499089466011697
absolute error = 2.3109834949607297563760309838369e-14
relative error = 1.9987696247915351662896291979206e-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.1586935035531571770466407621921
absolute error = 2.3548400956489950107698724137767e-14
relative error = 2.0323235509890043030898414578583e-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.1611920332937219693556065060245
absolute error = 2.3990758698063693951217531186470e-14
relative error = 2.0660457538633284211685318377289e-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.1636986532515730289279089176502
absolute error = 2.4436945094419361396893467430905e-14
relative error = 2.0999375591042295409831066473933e-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.1662133983925163386532552972094
absolute error = 2.4886997465514171733034812463047e-14
relative error = 2.1340003038739229920955758851563e-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.1687363038714390065741417092768
y[1] (numeric) = 1.1687363038714643475276776500381
absolute error = 2.5340953535940761278199732863188e-14
relative error = 2.1682353369189313868659646431065e-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.1712674050336387998725661063323
y[1] (numeric) = 1.1712674050336645987240058646619
absolute error = 2.5798851439758329589404080659048e-14
relative error = 2.2026440186831107603523058368759e-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.1738067374159376805780930324399
absolute error = 2.6260729725386779264376969614041e-14
relative error = 2.2372277214219033471921407346320e-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.1763543367479245814275920712736
absolute error = 2.6726627360564740130400053154984e-14
relative error = 2.2719878293178316549010998786201e-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.178910238953343530031424998894
absolute error = 2.7196583737372382192705675542748e-14
relative error = 2.3069257385972486843522854928056e-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.1814744801512564040980345978183
absolute error = 2.7670638677319935517916930970380e-14
relative error = 2.3420428576483593422364890373330e-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.8148832436502849256466740788937e-14
relative error = 2.3773406071405282870890807067445e-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.1866281249851671484376854106445
y[1] (numeric) = 1.1866281249851957796433962351808
absolute error = 2.8631205710824536266282962158576e-14
relative error = 2.4128204201448896500467043002124e-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.1892176018475684662303823691355
y[1] (numeric) = 1.1892176018475975840300236567998
absolute error = 2.9117799641287664292295323056419e-14
relative error = 2.4484837422562742739083921909589e-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.9608655819354969386605572809479e-14
relative error = 2.4843320317164703193647725499230e-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.0103816292380582226638938783248e-14
relative error = 2.5203667595388332954697785522805e-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.1970370937854622239033943183831
y[1] (numeric) = 1.1970370937854928272269634312563
absolute error = 3.0603323569112873207514951970997e-14
relative error = 2.5565894096342617826065160816763e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=19.0MB, alloc=4.4MB, time=1.04
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.1107220625269837654570518954768e-14
relative error = 2.5930014789385553303882692914607e-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.1615550909188058226850327438402e-14
relative error = 2.6296044775411712301833398744926e-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.204933963594125223967100483058
y[1] (numeric) = 1.2049339635941573523254480293556
absolute error = 3.2128358347546297566944414891626e-14
relative error = 2.6663999288153970823056075751273e-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.2645687351164790501379365998734e-14
relative error = 2.7033893695499563014192252983551e-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.3167582820881321613523392116685e-14
relative error = 2.7405743500820639304143721961567e-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.2129092355760833705292165576666
y[1] (numeric) = 1.2129092355761170646193700628574
absolute error = 3.3694090153505190802399346530377e-14
relative error = 2.7779564344319503629709374837820e-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.2155852617580523406702007782177
y[1] (numeric) = 1.2155852617580865659254486284042
absolute error = 3.4225255247850186510755752558515e-14
relative error = 2.8155372004388708082886709086510e-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.2182701538431550273136168491635
y[1] (numeric) = 1.2182701538431897884381276968672
absolute error = 3.4761124510847703659157505417738e-14
relative error = 2.8533182398986185680768210117074e-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.2209639510393455633222429107781
y[1] (numeric) = 1.220963951039380865067106651939
absolute error = 3.5301744863741160964751337284458e-14
relative error = 2.8913011587025604359155464019403e-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.2236666927715919596236120953674
absolute error = 3.5847163748362890258857494685872e-14
relative error = 2.9294875769782127725782486377209e-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.2263784186831757790155520895288
absolute error = 3.6397429133494688651856152462287e-14
relative error = 2.9678791292313770578921373423121e-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.2290991686373592863046947882996
absolute error = 3.6952589521313242932291296534542e-14
relative error = 3.0064774644898539702683928025689e-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.231828982718708714133715636656
absolute error = 3.7512693953921654435123175610578e-14
relative error = 3.0452842464487552992087429083843e-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.2345679012346059790265878695463
absolute error = 3.8077792019968311777142604578686e-14
relative error = 3.0843011536174332539485509708735e-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.2373159647167365980725026082248
absolute error = 3.8647933861354378341340743234778e-14
relative error = 3.1235298794680469929849930023091e-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.2400732139225892105214332491712
absolute error = 3.9223170180031181202237610249135e-14
relative error = 3.1629721325857864646209217855343e-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.2428396898369270042964968077663
y[1] (numeric) = 1.2428396898369668078487416965746
absolute error = 3.9803552244888808326651603910378e-14
relative error = 3.2026296368207739178898820370725e-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.2456154336735097768870007780577
absolute error = 4.0389131898737241365091906313003e-14
relative error = 3.2425041314416637163757623858580e-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.2484004868762308616756192498532
absolute error = 4.0979961565381372173940444411131e-14
relative error = 3.2825973712909613645630644484426e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=22.8MB, alloc=4.4MB, time=1.26
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.2511948911210621507430463853347
absolute error = 4.1576094256791272384040337579942e-14
relative error = 3.3229111269420829375130863246043e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9011
Order of pole = 4.437
x[1] = -0.893
y[1] (analytic) = 1.2539986883173720200288670498051
y[1] (numeric) = 1.2539986883174141976124474189119
absolute error = 4.2177583580369106863521753102506e-14
relative error = 3.3634471848581763899208558489840e-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.2568119206097473834099262091349
absolute error = 4.2784483746314103818092491208862e-14
relative error = 3.4042073475527265100318743925208e-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.2596346303791556315547764962958
absolute error = 4.3396849575087016537140939199353e-14
relative error = 3.4451934337519655775521985952522e-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.2624668602449185708875142027522
y[1] (numeric) = 1.2624668602449625856240191782866
absolute error = 4.4014736504975534435510107282829e-14
relative error = 3.4864072785591120826367555978729e-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.2653086530662857244081835102446
y[1] (numeric) = 1.2653086530663303626087832723686
absolute error = 4.4638200599762124065497998048344e-14
relative error = 3.5278507336204601653568443315565e-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.2681600519438809949180678990994
absolute error = 4.5267298556495804188446751349642e-14
relative error = 3.5695256672933427417974555096252e-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.2710211002212847735485256790748
y[1] (numeric) = 1.2710211002213306756362390484576
absolute error = 4.5902087713369382807259160334437e-14
relative error = 3.6114339648159915941884482317165e-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.2738918414871369227044275297966
absolute error = 4.6542626057703708277520427924333e-14
relative error = 3.6535775284793180183020425838889e-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.2767723195761587788729649926642
absolute error = 4.7188972234040511242938195077922e-14
relative error = 3.6959582778006379418250267839905e-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.2796625785713301654622870560307
absolute error = 4.7841185552345439188019135822305e-14
relative error = 3.7385781496993657526112681803155e-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.2825626628052980098475161250191
y[1] (numeric) = 1.28256266280534650917351244793
absolute error = 4.8499325996322910874894328972435e-14
relative error = 3.7814390986747014057135484462189e-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.2854726168623647624073429452712
absolute error = 4.9163454231844443839754023445048e-14
relative error = 3.8245430969853357129596808934465e-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.2883924855797169387811914177478
absolute error = 4.9833631615492134475371463551435e-14
relative error = 3.8678921348311990586538790521545e-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.2913223140496372867797073512284
absolute error = 5.0509920203218997027754676645044e-14
relative error = 3.9114882205372791298293221593922e-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.2942621476210032257333061477918
absolute error = 5.1192382759127895095290636403196e-14
relative error = 3.9553333807395335994320452601202e-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.2972120319010901695930979618731
absolute error = 5.1881082764370826946223852786451e-14
relative error = 3.9994296605729240559612828531430e-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.3001720127573403652589339577344
absolute error = 5.2576084426170354173490108980969e-14
relative error = 4.0437791238615978335102274030424e-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.3031421363191458735203252544354
absolute error = 5.3277452686964991893521084406820e-14
relative error = 4.0883838533112447619282635667768e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=26.7MB, alloc=4.4MB, time=1.48
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.3061224489796458219879275579589
absolute error = 5.3985253233680407876532136462376e-14
relative error = 4.1332459507036562280469916979007e-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.3091129973975380607263102062942
absolute error = 5.4699552507128307679062083414329e-14
relative error = 4.1783675370935143156651228030204e-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.5420417711534913044385899500354e-14
relative error = 4.2237507530074391743604781200305e-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.3151249894790562320848235276276
absolute error = 5.6147916824200971552284868812891e-14
relative error = 4.2693977586453231552812577687421e-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.3181465278043237842405037428771
y[1] (numeric) = 1.3181465278043806663591090381438
absolute error = 5.6882118605295266746134363868354e-14
relative error = 4.3153107340839806459554119939452e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.878
Order of pole = 4.437
x[1] = -0.87
y[1] (analytic) = 1.3211784912141630334258158277183
y[1] (numeric) = 1.3211784912142206565184236113481
absolute error = 5.7623092607783629752145609912544e-14
relative error = 4.3614918794831429359399012142804e-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.8370909187495485742855243762853e-14
relative error = 4.4079434152938278509060308735200e-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.3272738856208456327380067531695
y[1] (numeric) = 1.327273885620904758377520083171
absolute error = 5.9125639513330001494771933630384e-14
relative error = 4.4546675824691143046197049323539e-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.9887355577603933758839715202258e-14
relative error = 4.5016666426773523363248466680670e-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.0656130206543312212644277996978e-14
relative error = 4.5489428785178396253745852149502e-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.1432037070921125405861066075048e-14
relative error = 4.5964985937389959056800396164003e-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.2215150696843213356325562206291e-14
relative error = 4.6443361134590671397643606884747e-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.3005546476684606314516746059186e-14
relative error = 4.6924577843893917560256322445754e-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.3458153218382760644053380418925
y[1] (numeric) = 1.3458153218383398677060182204782
absolute error = 6.3803300680178585700626668489252e-14
relative error = 4.7408659750602617033336442260928e-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.4608490465660780342411206316791e-14
relative error = 4.7895630760494115344216617877970e-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.3520822065981611681990265008112
y[1] (numeric) = 1.3520822065982265893929179714602
absolute error = 6.5421193891470648915579581210418e-14
relative error = 4.8385515002131691937962658263225e-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.6241489927512737923719617683145e-14
relative error = 4.8878336829203026571892155215657e-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.3583929667846422456420347721031
absolute error = 6.7069458466980143664049674980758e-14
relative error = 4.9374120822885970480301464932535e-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.3615649282659517543083318242655
y[1] (numeric) = 1.361564928266019659488670066912
absolute error = 6.7905180338242646421260715382886e-14
relative error = 4.9872891794241973421448511152245e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8639
Order of pole = 4.437
memory used=30.5MB, alloc=4.5MB, time=1.70
x[1] = -0.856
y[1] (analytic) = 1.3647480129268931784435321862171
y[1] (numeric) = 1.3647480129269619271808490882428
absolute error = 6.8748737316902025627238565662467e-14
relative error = 5.0374674786637522650000277649253e-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.3679422728360863171574159570466
y[1] (numeric) = 1.3679422728361559173695539741525
absolute error = 6.9600212138017105932669397993469e-14
relative error = 5.0879495078193954864429646668176e-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.0459688508501126070825350537763e-14
relative error = 5.1387378184266007261470061352799e-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.3743645282013442636771397130588
absolute error = 7.1327251119694065067864366858720e-14
relative error = 5.1898349859949478989963724105707e-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.3775926293284682443354804745249
absolute error = 7.2202985660112603781694564723484e-14
relative error = 5.2412436102618379535547211311036e-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.3808321170503768981263489003743
y[1] (numeric) = 1.3808321170504499851051772808183
absolute error = 7.3086978828380443947063825791132e-14
relative error = 5.2929663154491945886907569701764e-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.3840830449827729412560626047277
absolute error = 7.3979318346341751882540107337182e-14
relative error = 5.3450057505231915735135227551114e-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.3873454670567882120030355118819
y[1] (numeric) = 1.3873454670568630920960078724217
absolute error = 7.4880092972360539790238762768807e-14
relative error = 5.3973645894570449441343890442519e-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.390619437522249911000355998576
y[1] (numeric) = 1.3906194375223257003928708074202
absolute error = 7.5789392514808844166618936711907e-14
relative error = 5.4500455314969099075592343865279e-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.6707307845746608257804702386159e-14
relative error = 5.5030513014309228483623413734152e-12 %
h = 0.001
TOP MAIN SOLVE Loop
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.7633930914796223751391159980192e-14
relative error = 5.5563846498614294078450675456383e-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.4005111865831028325338748643255
y[1] (numeric) = 1.4005111865831814018886380790615
absolute error = 7.8569354763214736014591268544806e-14
relative error = 5.6100483534804401882818530522705e-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.4038318995530199231823184564587
y[1] (numeric) = 1.4038318995530994368558566232259
absolute error = 7.9513673538166767182209502559704e-14
relative error = 5.6640452153483562267506388215370e-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.4071644370146162170072708186461
y[1] (numeric) = 1.4071644370146966839897780199083
absolute error = 8.0466982507201262283967912087479e-14
relative error = 5.7183780651760069840839512757055e-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.4105088551746742154715840302781
absolute error = 8.1429378072935215396170959823414e-14
relative error = 5.7730497596100442048130948360247e-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.4138652105740975377987323529916
absolute error = 8.2400957787947585524934731797968e-14
relative error = 5.8280631825217356237661362040798e-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.4172335600907863296661748753277
absolute error = 8.3381820369886665594933294532776e-14
relative error = 5.8834212452992031243784932622327e-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.4206139609417241299362732913295
absolute error = 8.4372065716794222546899609470313e-14
relative error = 5.9391268871431505929436119997952e-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.4240064706854027944702980730344
y[1] (numeric) = 1.4240064706854881662652207228166
absolute error = 8.5371794922649782157397767941012e-14
relative error = 5.9951830753661273621339638149968e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8447
Order of pole = 4.437
memory used=34.3MB, alloc=4.5MB, time=1.91
x[1] = -0.837
y[1] (analytic) = 1.4274111472246131358938234492248
y[1] (numeric) = 1.4274111472246995170041165877136
absolute error = 8.6381110293138488804470306206692e-14
relative error = 6.0515928056953737963258957948916e-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.4308280488084064009523591492869
y[1] (numeric) = 1.4308280488084938010677207953149
absolute error = 8.7400115361646028031855721375398e-14
relative error = 6.1083591025792962407351836246380e-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.4342572340350125925636558875433
absolute error = 8.8428914905484158432155848140363e-14
relative error = 6.1654850194976192362859861219665e-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.4376987618539157590997601237513
absolute error = 8.9467614962350459095599867772611e-14
relative error = 6.2229736392752635926699061628446e-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.4411526915689149248377535888249
absolute error = 9.0516322847025959676300064503957e-14
relative error = 6.2808280743999996133828175458586e-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.4446190828403282615377008587607
absolute error = 9.1575147168314382032940828730090e-14
relative error = 6.3390514673439254788370432226858e-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.4480979956876568130402801319727
absolute error = 9.2644197846226785426930874848106e-14
relative error = 6.3976469908888215171206811865983e-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.4515894904920888372768181158368
y[1] (numeric) = 1.4515894904921825608629475313083
absolute error = 9.3723586129415471429859768068237e-14
relative error = 6.4566178484554318268030394222208e-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.4550936279994936274174561762177
y[1] (numeric) = 1.4550936279995884408420690372877
absolute error = 9.4813424612861070025760252922094e-14
relative error = 6.5159672744367254625573501978433e-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.4586104693226005230363388759095
absolute error = 9.5913827255816794914769927853337e-14
relative error = 6.5756985345351901524847626217402e-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.4621400759435555445082749817598
y[1] (numeric) = 1.4621400759436525694176749956836
absolute error = 9.7024909400013923756357616616874e-14
relative error = 6.6358149261042122860761908375162e-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.4656825097175731862146476440281
absolute error = 9.8146787788132628055855351533212e-14
relative error = 6.6963197784935976939436765822674e-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.4692378328742957901407294661309
absolute error = 9.9279580582542347621626528352010e-14
relative error = 6.7572164533992885349969555859587e-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.4728061080215916101356339153728
absolute error = 1.0042340738431597602631181726425e-13
relative error = 6.8185083452173324138441092438809e-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.4763873981478259486731175272382
absolute error = 1.0157838925252219631924200148453e-13
relative error = 6.8801988814021606710715865623516e-12 %
h = 0.001
TOP MAIN SOLVE Loop
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.4799817666247379291432508278074
absolute error = 1.0274464872380038038382528608286e-13
relative error = 6.9422915228292336219264604601613e-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.4835892772102439583017080876588
absolute error = 1.0392230983222254083957045491861e-13
relative error = 7.0047897641621113650044909003793e-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.4872099940511600237953599048186
y[1] (numeric) = 1.4872099940512651352934893517198
absolute error = 1.0511149812944690128000337182887e-13
relative error = 7.0676971342240096420674267217729e-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.4908439816865788413040766219429
absolute error = 1.0631234070516772894223363685053e-13
relative error = 7.1310171963739011033021576487501e-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.4944913050496947464677531701631
absolute error = 1.0752496620786615364905795930427e-13
relative error = 7.1947535488872232194272257961510e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=38.1MB, alloc=4.5MB, time=2.13
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.4981520294717554732711002167074
absolute error = 1.0874950486586677807855308235141e-13
relative error = 7.2589098253412549832875318385660e-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.501826220684352172241445597847
y[1] (numeric) = 1.5018262206844621583299543028141
absolute error = 1.0998608850870496712801162944798e-13
relative error = 7.3234896950052254591989311537717e-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.5055139448229139222402047498965
y[1] (numeric) = 1.5055139448230251570907935596849
absolute error = 1.1123485058880978837831154965308e-13
relative error = 7.3884968632352181685583989068314e-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.5092152684291401387130600537318
absolute error = 1.1249592620350766146150460752269e-13
relative error = 7.4539350718739362453747106926105e-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.5129302584539898211277632596121
absolute error = 1.1376945211735186151931420173076e-13
relative error = 7.5198080996553942556559588603779e-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.5166589822611565434735130675338
y[1] (numeric) = 1.5166589822612715990402978506447
absolute error = 1.1505556678478311094474628230223e-13
relative error = 7.5861197626146035502752792758280e-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.5204015076302513204522054536652
absolute error = 1.1635441037312658425519820219964e-13
relative error = 7.6528739145023190122913216748949e-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.1766612478593074328603299616322e-13
relative error = 7.7200744472049160669966248782691e-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.1899085368665351395199498802751e-13
relative error = 7.7877252911694678464815631759235e-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.531712577198313890795020096069
y[1] (numeric) = 1.5317125771984342195375427974806
absolute error = 1.2032874252270141163420652158028e-13
relative error = 7.8558304158340934405154606504986e-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.2167993854982731984765608845607e-13
relative error = 7.9243938300636492223466179950929e-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.5393235596549452308677474770487
y[1] (numeric) = 1.5393235596550682754586043697749
absolute error = 1.2304459085689272626365381702503e-13
relative error = 7.9934195825908363119015011076874e-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.2442285039100032144003389106266e-13
relative error = 8.0629117624627983301177962255879e-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.5469914111036855523378134204599
y[1] (numeric) = 1.5469914111038113672077964234287
absolute error = 1.2581486998300296878603870213655e-13
relative error = 8.1328744994932847070795993680303e-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.2722080437339515939672847567383e-13
relative error = 8.2033119647204559335445091670769e-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.2864081023859317247213092584748e-13
relative error = 8.2742283708704082906764500028800e-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.3007504621761027112871065038164e-13
relative error = 8.3456279728264967566451881995508e-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.5625000000001315236729391333746
absolute error = 1.3152367293913337455547282691771e-13
relative error = 8.4175150681045359715502609227333e-12 %
h = 0.001
TOP MAIN SOLVE Loop
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.5664135864450163751936061184169
absolute error = 1.3298685304900776070535761643141e-13
relative error = 8.4898939973339603442061007687431e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=41.9MB, alloc=4.5MB, time=2.36
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.3446475123813646908664926795698e-13
relative error = 8.5627691447450256060254600432079e-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.5742849991105289755025511288411
y[1] (numeric) = 1.5742849991106649330368219300318
absolute error = 1.3595753427080119077193743162940e-13
relative error = 8.6361449386621353589051604007881e-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.3746537101341155251766968330267e-13
relative error = 8.7100258520033774260035794055506e-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.5822158933586487876270717139354
y[1] (numeric) = 1.5822158933587877760595354037593
absolute error = 1.3898843246368982393040862711260e-13
relative error = 8.7844164027863560969616512550839e-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.5862038335374248932484820029313
y[1] (numeric) = 1.5862038335375654201402623011323
absolute error = 1.4052689178029820097240332586798e-13
relative error = 8.8593211546404076628238063146909e-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.5902068700117198246319863751075
y[1] (numeric) = 1.5902068700118619055562992910534
absolute error = 1.4208092431291594581583859867668e-13
relative error = 8.9347447173252879610344286939234e-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.594225079073563922048770533619
y[1] (numeric) = 1.5942250790737075727564033074112
absolute error = 1.4365070763277379217998102895030e-13
relative error = 9.0106917472564219977983620143482e-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.5982585374975426774985975281333
y[1] (numeric) = 1.5982585374976879139201611812902
absolute error = 1.4523642156365315686727320730781e-13
relative error = 9.0871669480368070841872367621557e-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.6023073225444640282006088767826
y[1] (numeric) = 1.6023073225446108664488222346149
absolute error = 1.4683824821335783230316900000016e-13
relative error = 9.1641750709956623140407772900098e-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.6063715119650582068717360538841
y[1] (numeric) = 1.6063715119652066632437417198557
absolute error = 1.4845637200566597153116319347500e-13
relative error = 9.2417209157339186263551242365250e-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.5009097971277031637116367375355e-13
relative error = 9.3198093306766451328775856235225e-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.5174226048821476136932789685666e-13
relative error = 9.3984452136325088534559250148214e-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.5341040590033549080513787934514e-13
relative error = 9.4776335123603664877450961307910e-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.5509560996621507343240150358887e-13
relative error = 9.5573792251430883625881616549051e-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.5679806918615804987183417377921e-13
relative error = 9.6376874013687162302022105918437e-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.6310845570545222634886615157016
y[1] (numeric) = 1.6310845570546807814712402124023
absolute error = 1.5851798257869670070192262183089e-13
relative error = 9.7185631421190581536641038295681e-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.6025555171613583937119663303976e-13
relative error = 9.8000116007658253035631649823006e-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.6394490795314763081243485143657
absolute error = 1.6201098076064563313942444034044e-13
relative error = 9.8820379835744171035356471054497e-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.6436554898094997476586179398883
absolute error = 1.6378447650091161740951842912782e-13
relative error = 9.9646475503154628031951012281366e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=45.7MB, alloc=4.5MB, time=2.58
Real estimate of pole used
Radius of convergence = 0.7862
Order of pole = 4.437
x[1] = -0.779
y[1] (analytic) = 1.6478781097519778657012298114333
y[1] (numeric) = 1.6478781097521434419496191626674
absolute error = 1.6557624838935123409936033737197e-13
relative error = 1.0047845614884229225208992649115e-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.6521170227531230238622849440284
absolute error = 1.6738650857990639318798737062786e-13
relative error = 1.0131637545928006129439774764311e-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.6563723127429691136254842818549
y[1] (numeric) = 1.6563723127431383290974507035833
absolute error = 1.6921547196642172831970017765301e-13
relative error = 1.0216028767481582361672426855427e-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.6606440641938569454777340843873
y[1] (numeric) = 1.6606440641940280088339557027797
absolute error = 1.7106335622161839243019064758675e-13
relative error = 1.0301024759610927708004248340120e-11 %
h = 0.001
TOP MAIN SOLVE Loop
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.6649323621229616920883923445937
absolute error = 1.7293038183667341783975864560520e-13
relative error = 1.0386631059065197159000503651662e-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.6692372920966700861536756133796
absolute error = 1.7481677216141484721062989485292e-13
relative error = 1.0472853259937176100755531488891e-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.6735589402357134080021945761092
absolute error = 1.7672275344514302726039671959763e-13
relative error = 1.0559697014332286793587759146445e-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.67789739321878854412254433472
absolute error = 1.7864855487808864623536687877940e-13
relative error = 1.0647168033046278373793889388246e-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.6822527382870753409015571221453
absolute error = 1.8059440863351828895144126380777e-13
relative error = 1.0735272086251724520258369629916e-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.6866250632486224323664056915984
absolute error = 1.8256054991049847978303551276792e-13
relative error = 1.0824015004193454866336175552010e-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.6910144564825884696488270278223
y[1] (numeric) = 1.6910144564827730168658043572067
absolute error = 1.8454721697732938440120818363553e-13
relative error = 1.0913402677893048208888287268289e-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.6954210069446309990956601039899
absolute error = 1.8655465121565954541100165412192e-13
relative error = 1.1003441059862517571249863964081e-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.6998448041695679187638189277586
absolute error = 1.8858309716529323539727320893894e-13
relative error = 1.1094136164827319215862645881348e-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.7042859382777710921417157867968
absolute error = 1.9063280256970222334205607312138e-13
relative error = 1.1185494070458819775929145324041e-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.7087444999788333977686892452951
absolute error = 1.9270401842225396701068133553078e-13
relative error = 1.1277520918116357784382598458600e-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.713220580576385142658397505517
absolute error = 1.9479699901316846480636863183517e-13
relative error = 1.1370222913599038023361814492766e-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.717714271972768450507119193899
absolute error = 1.9691200197721622585357737251936e-13
relative error = 1.1463606327907399298895128538222e-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.7222256666737546186217030589908
absolute error = 1.9904928834217004678093342663436e-13
relative error = 1.1557677498015098464306830857468e-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.726754857793304895571523926015
absolute error = 2.0120912257802351792889942405107e-13
relative error = 1.1652442827650755772650216335588e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7671
Order of pole = 4.437
memory used=49.5MB, alloc=4.5MB, time=2.80
x[1] = -0.76
y[1] (analytic) = 1.7313019390581717451523545706371
y[1] (numeric) = 1.7313019390583751369250015600577
absolute error = 2.0339177264698942060153876752422e-13
relative error = 1.1747908788090108933944879212199e-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.7358670048137648018580539650776
absolute error = 2.0559751005429142061389039266393e-13
relative error = 1.1844081918958625587867059129623e-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.7404501500268029323104127651576
y[1] (numeric) = 1.7404501500270107589203125278694
absolute error = 2.0782660989976271185698883530318e-13
relative error = 1.1940968829044726277539893316714e-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.7450514702933263748160650096663
absolute error = 2.1007935093026551701405975030923e-13
relative error = 1.2038576197123772425938992585495e-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.7496710618405863657017719439593
absolute error = 2.1235601559294561101883814167878e-13
relative error = 1.2136910772792976273926267614253e-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.7543090215343578962216975990919
absolute error = 2.1465689008933629645761007058201e-13
relative error = 1.2235979377317392238824918048351e-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.1698226443032652899021157098143e-13
relative error = 1.2335788904487151695539912148808e-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.7636404360424614071381583008383
y[1] (numeric) = 1.7636404360426807395706503090034
absolute error = 2.1933243249200816511406044417673e-13
relative error = 1.2436346321486105769315829839220e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.759
Order of pole = 4.437
x[1] = -0.752
y[1] (analytic) = 1.7683340878225441376188320507017
y[1] (numeric) = 1.768334087822765845310904468286
absolute error = 2.2170769207241758433412323356112e-13
relative error = 1.2537658669772043361128402507175e-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.2410834494918722314791414111253e-13
relative error = 1.2639733065968654304264672350161e-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.7777777777777777777777777777778
y[1] (numeric) = 1.7777777777780043124747159006271
absolute error = 2.2653469693812284932823831538832e-13
relative error = 1.2742576702769410274713405240593e-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.2898705795272270191021683217204e-13
relative error = 1.2846196849853538849433355306535e-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.3146574206465492518875349956499e-13
relative error = 1.2950600854814268926280833802061e-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.3397106756521003403648145580053e-13
relative error = 1.3055796144099528588266298066980e-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.3650335702774546309175536810060e-13
relative error = 1.3161790223965279413797133043387e-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.3906293737113957397583697189942e-13
relative error = 1.3268590681441674204593891532848e-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.8065672332061510001156203029252
y[1] (numeric) = 1.806567233206392650255544575748
absolute error = 2.4165013992427282281554397324714e-13
relative error = 1.3376205185312228125002494877533e-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.4426530049155412511293834837127e-13
relative error = 1.3484641487106196321447250228001e-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.8163192653354304659843742844469
absolute error = 2.4690875941951079656099716757087e-13
relative error = 1.3593907422104354219780884456649e-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.8212249194563279370438969842337
y[1] (numeric) = 1.8212249194565775179055614450306
absolute error = 2.4958086166446079690082742289461e-13
relative error = 1.3704010910358379882310322219040e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=53.4MB, alloc=4.5MB, time=3.02
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.8261504747993757297289577071046
absolute error = 2.5228195686128635950243982541754e-13
relative error = 1.3814959957724041046353604839864e-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.8310960391561577013152762849259
y[1] (numeric) = 1.831096039156412713714669613378
absolute error = 2.5501239939332845218144569351438e-13
relative error = 1.3926762656908392763378330358776e-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.5777254846342188499590817943457e-13
relative error = 1.4039427188531194913171141447996e-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.8410476297434896498478779304836
absolute error = 2.6056276816609125856223555267763e-13
relative error = 1.4152961822200762282199092291235e-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.8460538752362948960302457466919
y[1] (numeric) = 1.8460538752365582794578066750238
absolute error = 2.6338342756092833195146009398260e-13
relative error = 1.4267374917604463370477812707000e-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.8510805682817344624924799851914
y[1] (numeric) = 1.851080568282000697393227156974
absolute error = 2.6623490074717178264634190978327e-13
relative error = 1.4382674925614087628012005821267e-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.6911756693951073252823802945338e-13
relative error = 1.4498870389406304421398340779619e-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.8611957438175730379739767611099
y[1] (numeric) = 1.8611957438178450697845218949335
absolute error = 2.7203181054513382359737042556649e-13
relative error = 1.4615969945598440694680755858219e-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.7497802124204604529191983725193e-13
relative error = 1.4733982325399808017249765487568e-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.7795659405867594204539586615947e-13
relative error = 1.4852916355778813506731978043684e-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.8096792945479626529744529629533e-13
relative error = 1.4972780960646092977700859839578e-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.8816764231592047581041367509959
absolute error = 2.8401243340378157874455189873273e-13
relative error = 1.5093585162053908598958340561442e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7348
Order of pole = 4.437
x[1] = -0.728
y[1] (analytic) = 1.8868494143219417944692669967395
y[1] (numeric) = 1.8868494143222288849867432235189
absolute error = 2.8709051747622677938238849545046e-13
relative error = 1.5215338081412057344419578437282e-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.8920437667567028119354041223962
absolute error = 2.9020259892495096005399952231252e-13
relative error = 1.5338048940720540596638031352832e-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.897259598236600826580299980447
absolute error = 2.9334910077141151198538677208793e-13
relative error = 1.5461727063819249409120971828502e-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.9024970273483947681331747919144
y[1] (numeric) = 1.9024970273486912985850683457628
absolute error = 2.9653045189355384837520165945997e-13
relative error = 1.5586381877654924155221537225365e-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.9077561734992771897781196707134
absolute error = 2.9974708711512262272588778062732e-13
relative error = 1.5712022913565651588996495329811e-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.9130371569210018701814627305299
absolute error = 3.0299944729646081848268089636107e-13
relative error = 1.5838659808583166718463330227393e-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.918340098679720964048517760594
absolute error = 3.0628797942682359991254112369913e-13
relative error = 1.5966302306753231345680908712638e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=57.2MB, alloc=4.6MB, time=3.24
Real estimate of pole used
Radius of convergence = 0.7278
Order of pole = 4.437
x[1] = -0.721
y[1] (analytic) = 1.9236651206811313459307749869672
y[1] (numeric) = 1.9236651206814409590674932213054
absolute error = 3.0961313671823433824094568446618e-13
relative error = 1.6094960260474365662551144555859e-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.9290123456793253210577132564411
absolute error = 3.1297537870091076210962737777606e-13
relative error = 1.6224643631855213907763083263911e-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.9343818972807688657847321331743
absolute error = 3.1637517132028972766759621532051e-13
relative error = 1.6355362494090829790476820706830e-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.1981298703567966131173922637152e-13
relative error = 1.6487127032858172171807305293595e-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.2328930492057029750853039283633e-13
relative error = 1.6619947547731106367586288112284e-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.9506257607440466901782091695016
y[1] (numeric) = 1.9506257607443734947889737994171
absolute error = 3.2680461076462991551758784995127e-13
relative error = 1.6753834453615211396958451680462e-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.3035939717742087246994698670346e-13
relative error = 1.6888798282202698552844864827748e-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.3395416369386483640436191256021e-13
relative error = 1.7024849683447751813959808557555e-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.9670750970259791608064221067768
y[1] (numeric) = 1.9670750970263167502233035965186
absolute error = 3.3758941688148974181568073155010e-13
relative error = 1.7161999427062605855709579781739e-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.4126567044949112230909703750919e-13
relative error = 1.7300258404034682750786288858306e-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.4498344535964112037852565750989e-13
relative error = 1.7439637628165113881487266891006e-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.9837333862328902995437413211664
y[1] (numeric) = 1.9837333862332390428136804002999
absolute error = 3.4874326993907913343925570270386e-13
relative error = 1.7580148237628979116672879973302e-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.9893331954062317851679295616902
y[1] (numeric) = 1.9893331954065843308479245804186
absolute error = 3.5254567999501872835445644654719e-13
relative error = 1.7721801496557600938794652100679e-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.5639121893140614411958265291643e-13
relative error = 1.7864608796643236942595847893150e-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.0006041824631038573649242071105
y[1] (numeric) = 2.000604182463464137802791773515
absolute error = 3.6028043786756640443344112773113e-13
relative error = 1.8008581658766519968965111425528e-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.6421389575887377892269521686049e-13
relative error = 1.8153731734647001087111251311107e-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.6819215951948406413901626824019e-13
relative error = 1.8300070808517156697869456072208e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7106
Order of pole = 4.437
x[1] = -0.704
y[1] (analytic) = 2.0176911157024793388429752066116
y[1] (numeric) = 2.017691115702851554647122373515
absolute error = 3.7221580414716690346432697713751e-13
relative error = 1.8447610798820227202737587910098e-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.7628541285027712909748853937126e-13
relative error = 1.8596363759932260969414071355413e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=61.0MB, alloc=4.6MB, time=3.47
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.8040157717690488972192868749577e-13
relative error = 1.8746341883908743727452534491266e-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.8456489714624512464358180040786e-13
relative error = 1.8897557502256200049498074030222e-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.0408163265306122448979591836735
y[1] (numeric) = 2.040816326531001020879341411433
absolute error = 3.8877598138222775952676031076927e-13
relative error = 1.9050023087729160216811255227694e-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.0466597489567151929693144303839
y[1] (numeric) = 2.0466597489571082284165638812146
absolute error = 3.9303544724945083073623430891812e-13
relative error = 1.9203751256152892534855481957170e-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=61.7MB, alloc=4.6MB, time=3.50