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