|\^/| 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, 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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> 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_3D0[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 div $eq_no = 1 i = 1
> array_tmp5[1] := (array_tmp4[1] / (array_x[1]));
> #emit pre add $eq_no = 1 i = 1
> array_tmp6[1] := array_const_0D0[1] + array_tmp5[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_tmp6[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_3D0,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 div $eq_no = 1 i = 2
> array_tmp5[2] := ((array_tmp4[2] - ats(2,array_x,array_tmp5,2))/array_x[1]);
> #emit pre add $eq_no = 1 i = 2
> array_tmp6[2] := array_const_0D0[2] + array_tmp5[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_tmp6[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_3D0,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 div $eq_no = 1 i = 3
> array_tmp5[3] := ((array_tmp4[3] - ats(3,array_x,array_tmp5,2))/array_x[1]);
> #emit pre add $eq_no = 1 i = 3
> array_tmp6[3] := array_const_0D0[3] + array_tmp5[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_tmp6[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_3D0,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 div $eq_no = 1 i = 4
> array_tmp5[4] := ((array_tmp4[4] - ats(4,array_x,array_tmp5,2))/array_x[1]);
> #emit pre add $eq_no = 1 i = 4
> array_tmp6[4] := array_const_0D0[4] + array_tmp5[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_tmp6[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_3D0,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 div $eq_no = 1 i = 5
> array_tmp5[5] := ((array_tmp4[5] - ats(5,array_x,array_tmp5,2))/array_x[1]);
> #emit pre add $eq_no = 1 i = 5
> array_tmp6[5] := array_const_0D0[5] + array_tmp5[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_tmp6[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_3D0,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 div $eq_no = 1
> array_tmp5[kkk] := ((array_tmp4[kkk] - ats(kkk,array_x,array_tmp5,2))/array_x[1]);
> #emit add $eq_no = 1
> array_tmp6[kkk] := array_const_0D0[kkk] + array_tmp5[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_tmp6[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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, glob_last;
array_tmp1[1] := array_m1[1]*array_const_3D0[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_tmp4[1]/array_x[1];
array_tmp6[1] := array_const_0D0[1] + array_tmp5[1];
if not array_y_set_initial[1, 2] then
if 1 <= glob_max_terms then
temporary := array_tmp6[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_3D0, 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_tmp4[2] - ats(2, array_x, array_tmp5, 2))/array_x[1];
array_tmp6[2] := array_const_0D0[2] + array_tmp5[2];
if not array_y_set_initial[1, 3] then
if 2 <= glob_max_terms then
temporary := array_tmp6[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_3D0, 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_tmp4[3] - ats(3, array_x, array_tmp5, 2))/array_x[1];
array_tmp6[3] := array_const_0D0[3] + array_tmp5[3];
if not array_y_set_initial[1, 4] then
if 3 <= glob_max_terms then
temporary := array_tmp6[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_3D0, 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_tmp4[4] - ats(4, array_x, array_tmp5, 2))/array_x[1];
array_tmp6[4] := array_const_0D0[4] + array_tmp5[4];
if not array_y_set_initial[1, 5] then
if 4 <= glob_max_terms then
temporary := array_tmp6[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_3D0, 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_tmp4[5] - ats(5, array_x, array_tmp5, 2))/array_x[1];
array_tmp6[5] := array_const_0D0[5] + array_tmp5[5];
if not array_y_set_initial[1, 6] then
if 5 <= glob_max_terms then
temporary := array_tmp6[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_3D0, 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_tmp4[kkk] - ats(kkk, array_x, array_tmp5, 2))/array_x[1]
;
array_tmp6[kkk] := array_const_0D0[kkk] + array_tmp5[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_tmp6[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/x;
> end;
exact_soln_y := proc(x) 1.0/(x*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
> DEBUGL,
> glob_iolevel,
> glob_max_terms,
> DEBUGMASSIVE,
> ALWAYS,
> INFO,
> #Top Generate Globals Decl
> glob_log10abserr,
> glob_abserr,
> glob_log10_abserr,
> glob_large_float,
> glob_clock_start_sec,
> djd_debug2,
> glob_reached_optimal_h,
> years_in_century,
> glob_percent_done,
> glob_log10relerr,
> glob_unchanged_h_cnt,
> glob_max_trunc_err,
> glob_hmin,
> glob_disp_incr,
> glob_optimal_expect_sec,
> glob_iter,
> glob_h,
> glob_initial_pass,
> glob_clock_sec,
> sec_in_min,
> MAX_UNCHANGED,
> glob_orig_start_sec,
> glob_max_iter,
> glob_last_good_h,
> glob_not_yet_start_msg,
> glob_almost_1,
> glob_display_flag,
> glob_max_opt_iter,
> glob_html_log,
> glob_normmax,
> glob_small_float,
> glob_optimal_clock_start_sec,
> glob_dump_analytic,
> glob_hmax,
> glob_optimal_done,
> centuries_in_millinium,
> days_in_year,
> hours_in_day,
> djd_debug,
> glob_subiter_method,
> glob_current_iter,
> glob_max_sec,
> glob_optimal_start,
> glob_curr_iter_when_opt,
> glob_warned,
> glob_log10_relerr,
> glob_not_yet_finished,
> min_in_hour,
> glob_log10normmin,
> glob_max_minutes,
> glob_warned2,
> glob_smallish_float,
> glob_no_eqs,
> glob_max_hours,
> glob_relerr,
> glob_look_poles,
> glob_start,
> glob_max_rel_trunc_err,
> glob_hmin_init,
> glob_dump,
> #Bottom Generate Globals Decl
> #BEGIN CONST
> array_const_1,
> array_const_3D0,
> array_const_0D0,
> #END CONST
> array_norms,
> array_y_init,
> array_type_pole,
> array_pole,
> array_y,
> array_x,
> array_1st_rel_error,
> array_fact_1,
> array_m1,
> array_tmp0,
> array_tmp1,
> array_tmp2,
> array_tmp3,
> array_tmp4,
> array_tmp5,
> array_tmp6,
> array_last_rel_error,
> array_y_higher,
> array_real_pole,
> array_y_higher_work2,
> array_y_set_initial,
> array_y_higher_work,
> array_fact_2,
> array_poles,
> array_complex_pole,
> glob_last;
> glob_last;
> ALWAYS := 1;
> INFO := 2;
> DEBUGL := 3;
> DEBUGMASSIVE := 4;
> glob_iolevel := INFO;
> DEBUGL := 3;
> glob_iolevel := 5;
> glob_max_terms := 30;
> DEBUGMASSIVE := 4;
> ALWAYS := 1;
> INFO := 2;
> glob_log10abserr := 0.0;
> glob_abserr := 0.1e-10;
> glob_log10_abserr := 0.1e-10;
> glob_large_float := 9.0e100;
> glob_clock_start_sec := 0.0;
> djd_debug2 := true;
> glob_reached_optimal_h := false;
> years_in_century := 100.0;
> glob_percent_done := 0.0;
> glob_log10relerr := 0.0;
> glob_unchanged_h_cnt := 0;
> glob_max_trunc_err := 0.1e-10;
> glob_hmin := 0.00000000001;
> glob_disp_incr := 0.1;
> glob_optimal_expect_sec := 0.1;
> glob_iter := 0;
> glob_h := 0.1;
> glob_initial_pass := true;
> glob_clock_sec := 0.0;
> sec_in_min := 60.0;
> MAX_UNCHANGED := 10;
> glob_orig_start_sec := 0.0;
> glob_max_iter := 1000;
> glob_last_good_h := 0.1;
> glob_not_yet_start_msg := true;
> glob_almost_1 := 0.9990;
> glob_display_flag := true;
> glob_max_opt_iter := 10;
> glob_html_log := true;
> glob_normmax := 0.0;
> glob_small_float := 0.1e-50;
> glob_optimal_clock_start_sec := 0.0;
> glob_dump_analytic := false;
> glob_hmax := 1.0;
> glob_optimal_done := false;
> centuries_in_millinium := 10.0;
> days_in_year := 365.0;
> hours_in_day := 24.0;
> djd_debug := true;
> glob_subiter_method := 3;
> glob_current_iter := 0;
> glob_max_sec := 10000.0;
> glob_optimal_start := 0.0;
> glob_curr_iter_when_opt := 0;
> glob_warned := false;
> glob_log10_relerr := 0.1e-10;
> glob_not_yet_finished := true;
> min_in_hour := 60.0;
> glob_log10normmin := 0.1;
> glob_max_minutes := 0.0;
> glob_warned2 := false;
> glob_smallish_float := 0.1e-100;
> glob_no_eqs := 0;
> glob_max_hours := 0.0;
> glob_relerr := 0.1e-10;
> glob_look_poles := false;
> glob_start := 0;
> glob_max_rel_trunc_err := 0.1e-10;
> glob_hmin_init := 0.001;
> glob_dump := false;
> #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/sing5postode.ode#################");
> omniout_str(ALWAYS,"diff ( y , x , 1 ) = m1 * 3.0 / x / 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.00001;");
> omniout_str(ALWAYS,"glob_look_poles := true;");
> omniout_str(ALWAYS,"glob_max_iter := 100;");
> 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/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_norms:= Array(0..(max_terms + 1),[]);
> array_y_init:= Array(0..(max_terms + 1),[]);
> array_type_pole:= 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_1st_rel_error:= Array(0..(max_terms + 1),[]);
> array_fact_1:= Array(0..(max_terms + 1),[]);
> array_m1:= 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_tmp6:= Array(0..(max_terms + 1),[]);
> array_last_rel_error:= Array(0..(max_terms + 1),[]);
> array_y_higher := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_real_pole := Array(0..(1+ 1) ,(0..3+ 1),[]);
> array_y_higher_work2 := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_y_set_initial := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_y_higher_work := Array(0..(2+ 1) ,(0..max_terms+ 1),[]);
> array_fact_2 := Array(0..(max_terms+ 1) ,(0..max_terms+ 1),[]);
> array_poles := Array(0..(1+ 1) ,(0..3+ 1),[]);
> array_complex_pole := Array(0..(1+ 1) ,(0..3+ 1),[]);
> 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_y_init[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_type_pole[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_pole[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_y[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_x[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_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_fact_1[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_m1[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> term := 1;
> while term <= max_terms do # do number 2
> array_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_tmp6[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
> ;
> ord := 1;
> while ord <=2 do # do number 2
> term := 1;
> while term <= max_terms do # do number 3
> array_y_higher[ord,term] := 0.0;
> term := term + 1;
> od;# end do number 3
> ;
> ord := ord + 1;
> od;# end do number 2
> ;
> ord := 1;
> while ord <=1 do # do number 2
> term := 1;
> while term <= 3 do # do number 3
> array_real_pole[ord,term] := 0.0;
> term := term + 1;
> od;# end do number 3
> ;
> ord := ord + 1;
> od;# end do number 2
> ;
> ord := 1;
> while ord <=2 do # do number 2
> term := 1;
> while term <= max_terms do # do number 3
> array_y_higher_work2[ord,term] := 0.0;
> term := term + 1;
> od;# end do number 3
> ;
> ord := ord + 1;
> od;# end do number 2
> ;
> ord := 1;
> while ord <=2 do # do number 2
> term := 1;
> while term <= max_terms do # do number 3
> array_y_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 <=max_terms do # do number 2
> term := 1;
> while term <= max_terms do # do number 3
> array_fact_2[ord,term] := 0.0;
> term := term + 1;
> od;# end do number 3
> ;
> ord := ord + 1;
> od;# end do number 2
> ;
> ord := 1;
> while ord <=1 do # do number 2
> term := 1;
> while term <= 3 do # do number 3
> array_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_complex_pole[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_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_tmp6 := Array(1..(max_terms+1 + 1),[]);
> term := 1;
> while term <= max_terms + 1 do # do number 2
> array_tmp6[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> 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_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_3D0 := Array(1..(max_terms+1 + 1),[]);
> term := 1;
> while term <= max_terms + 1 do # do number 2
> array_const_3D0[term] := 0.0;
> term := term + 1;
> od;# end do number 2
> ;
> array_const_3D0[1] := 3.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.00001;
> glob_look_poles := true;
> glob_max_iter := 100;
> #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 * 3.0 / x / 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-18T01:16:44-05:00")
> ;
> logitem_str(html_log_file,"Maple")
> ;
> logitem_str(html_log_file,"sing5")
> ;
> logitem_str(html_log_file,"diff ( y , x , 1 ) = m1 * 3.0 / x / 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,"sing5 diffeq.mxt")
> ;
> logitem_str(html_log_file,"sing5 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 DEBUGL, glob_iolevel, glob_max_terms, DEBUGMASSIVE, ALWAYS, INFO,
glob_log10abserr, glob_abserr, glob_log10_abserr, glob_large_float,
glob_clock_start_sec, djd_debug2, glob_reached_optimal_h, years_in_century,
glob_percent_done, glob_log10relerr, glob_unchanged_h_cnt,
glob_max_trunc_err, glob_hmin, glob_disp_incr, glob_optimal_expect_sec,
glob_iter, glob_h, glob_initial_pass, glob_clock_sec, sec_in_min,
MAX_UNCHANGED, glob_orig_start_sec, glob_max_iter, glob_last_good_h,
glob_not_yet_start_msg, glob_almost_1, glob_display_flag, glob_max_opt_iter,
glob_html_log, glob_normmax, glob_small_float, glob_optimal_clock_start_sec,
glob_dump_analytic, glob_hmax, glob_optimal_done, centuries_in_millinium,
days_in_year, hours_in_day, djd_debug, glob_subiter_method,
glob_current_iter, glob_max_sec, glob_optimal_start,
glob_curr_iter_when_opt, glob_warned, glob_log10_relerr,
glob_not_yet_finished, min_in_hour, glob_log10normmin, glob_max_minutes,
glob_warned2, glob_smallish_float, glob_no_eqs, glob_max_hours, glob_relerr,
glob_look_poles, glob_start, glob_max_rel_trunc_err, glob_hmin_init,
glob_dump, array_const_1, array_const_3D0, array_const_0D0, array_norms,
array_y_init, array_type_pole, array_pole, array_y, array_x,
array_1st_rel_error, array_fact_1, array_m1, array_tmp0, array_tmp1,
array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6,
array_last_rel_error, array_y_higher, array_real_pole, array_y_higher_work2,
array_y_set_initial, array_y_higher_work, array_fact_2, array_poles,
array_complex_pole, glob_last;
glob_last;
ALWAYS := 1;
INFO := 2;
DEBUGL := 3;
DEBUGMASSIVE := 4;
glob_iolevel := INFO;
DEBUGL := 3;
glob_iolevel := 5;
glob_max_terms := 30;
DEBUGMASSIVE := 4;
ALWAYS := 1;
INFO := 2;
glob_log10abserr := 0.;
glob_abserr := 0.1*10^(-10);
glob_log10_abserr := 0.1*10^(-10);
glob_large_float := 0.90*10^101;
glob_clock_start_sec := 0.;
djd_debug2 := true;
glob_reached_optimal_h := false;
years_in_century := 100.0;
glob_percent_done := 0.;
glob_log10relerr := 0.;
glob_unchanged_h_cnt := 0;
glob_max_trunc_err := 0.1*10^(-10);
glob_hmin := 0.1*10^(-10);
glob_disp_incr := 0.1;
glob_optimal_expect_sec := 0.1;
glob_iter := 0;
glob_h := 0.1;
glob_initial_pass := true;
glob_clock_sec := 0.;
sec_in_min := 60.0;
MAX_UNCHANGED := 10;
glob_orig_start_sec := 0.;
glob_max_iter := 1000;
glob_last_good_h := 0.1;
glob_not_yet_start_msg := true;
glob_almost_1 := 0.9990;
glob_display_flag := true;
glob_max_opt_iter := 10;
glob_html_log := true;
glob_normmax := 0.;
glob_small_float := 0.1*10^(-50);
glob_optimal_clock_start_sec := 0.;
glob_dump_analytic := false;
glob_hmax := 1.0;
glob_optimal_done := false;
centuries_in_millinium := 10.0;
days_in_year := 365.0;
hours_in_day := 24.0;
djd_debug := true;
glob_subiter_method := 3;
glob_current_iter := 0;
glob_max_sec := 10000.0;
glob_optimal_start := 0.;
glob_curr_iter_when_opt := 0;
glob_warned := false;
glob_log10_relerr := 0.1*10^(-10);
glob_not_yet_finished := true;
min_in_hour := 60.0;
glob_log10normmin := 0.1;
glob_max_minutes := 0.;
glob_warned2 := false;
glob_smallish_float := 0.1*10^(-100);
glob_no_eqs := 0;
glob_max_hours := 0.;
glob_relerr := 0.1*10^(-10);
glob_look_poles := false;
glob_start := 0;
glob_max_rel_trunc_err := 0.1*10^(-10);
glob_hmin_init := 0.001;
glob_dump := false;
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/sing5postode.ode#################");
omniout_str(ALWAYS, "diff ( y , x , 1 ) = m1 * 3.0 / x / 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.00001;");
omniout_str(ALWAYS, "glob_look_poles := true;");
omniout_str(ALWAYS, "glob_max_iter := 100;");
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/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_norms := Array(0 .. max_terms + 1, []);
array_y_init := Array(0 .. max_terms + 1, []);
array_type_pole := 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_1st_rel_error := Array(0 .. max_terms + 1, []);
array_fact_1 := Array(0 .. max_terms + 1, []);
array_m1 := 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_tmp6 := Array(0 .. max_terms + 1, []);
array_last_rel_error := Array(0 .. max_terms + 1, []);
array_y_higher := Array(0 .. 3, 0 .. max_terms + 1, []);
array_real_pole := Array(0 .. 2, 0 .. 4, []);
array_y_higher_work2 := Array(0 .. 3, 0 .. max_terms + 1, []);
array_y_set_initial := Array(0 .. 3, 0 .. max_terms + 1, []);
array_y_higher_work := Array(0 .. 3, 0 .. max_terms + 1, []);
array_fact_2 := Array(0 .. max_terms + 1, 0 .. max_terms + 1, []);
array_poles := Array(0 .. 2, 0 .. 4, []);
array_complex_pole := Array(0 .. 2, 0 .. 4, []);
term := 1;
while term <= max_terms do array_norms[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_type_pole[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
;
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_fact_1[term] := 0.; term := term + 1
end do;
term := 1;
while term <= max_terms do array_m1[term] := 0.; term := term + 1
end do;
term := 1;
while term <= max_terms do array_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_tmp6[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;
ord := 1;
while ord <= 2 do
term := 1;
while term <= max_terms do
array_y_higher[ord, term] := 0.; term := term + 1
end do;
ord := ord + 1
end do;
ord := 1;
while ord <= 1 do
term := 1;
while term <= 3 do
array_real_pole[ord, term] := 0.; term := term + 1
end do;
ord := ord + 1
end do;
ord := 1;
while ord <= 2 do
term := 1;
while term <= max_terms do
array_y_higher_work2[ord, term] := 0.; term := term + 1
end do;
ord := ord + 1
end do;
ord := 1;
while ord <= 2 do
term := 1;
while term <= max_terms do
array_y_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 <= max_terms do
term := 1;
while term <= max_terms do
array_fact_2[ord, term] := 0.; term := term + 1
end do;
ord := ord + 1
end do;
ord := 1;
while ord <= 1 do
term := 1;
while term <= 3 do array_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_complex_pole[ord, term] := 0.; term := term + 1
end do;
ord := ord + 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_tmp6 := Array(1 .. max_terms + 2, []);
term := 1;
while term <= max_terms + 1 do array_tmp6[term] := 0.; term := term + 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_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_3D0 := Array(1 .. max_terms + 2, []);
term := 1;
while term <= max_terms + 1 do
array_const_3D0[term] := 0.; term := term + 1
end do;
array_const_3D0[1] := 3.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.00001;
glob_look_poles := true;
glob_max_iter := 100;
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 * 3.0 / x / 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-18T01:16:44-05:00");
logitem_str(html_log_file, "Maple");
logitem_str(html_log_file, "sing5");
logitem_str(html_log_file,
"diff ( y , x , 1 ) = m1 * 3.0 / x / 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,
"sing5 diffeq.mxt");
logitem_str(html_log_file,
"sing5 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/sing5postode.ode#################
diff ( y , x , 1 ) = m1 * 3.0 / x / 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.00001;
glob_look_poles := true;
glob_max_iter := 100;
#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/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.011
Order of pole = 5.626
x[1] = -0.999
y[1] (analytic) = -1.0030060100150210280360450550661
y[1] (numeric) = -1.0030060100150220097668844616095
absolute error = 9.817308394065434e-16
relative error = 9.7878859109911115002365659999998e-14 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.01
Order of pole = 5.626
x[1] = -0.998
y[1] (analytic) = -1.0060240802406737966195482277442
y[1] (numeric) = -1.0060240802406757689628960747482
absolute error = 1.9723433478470040e-15
relative error = 1.9605329401013493572719679999998e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.009
Order of pole = 5.626
x[1] = -0.997
y[1] (analytic) = -1.0090542712201234910283314761
y[1] (numeric) = -1.0090542712201264629552265850869
absolute error = 2.9719268951089869e-15
relative error = 2.9452597148371477926036537000000e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.008
Order of pole = 5.626
x[1] = -0.996
y[1] (analytic) = -1.0120966438616192807876074547054
y[1] (numeric) = -1.0120966438616232613594486201324
absolute error = 3.9805718411654270e-15
relative error = 3.9329957917632199819086720000005e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.007
Order of pole = 5.626
x[1] = -0.995
y[1] (analytic) = -1.0151512594410653301861952371894
y[1] (numeric) = -1.0151512594410703285557433920922
absolute error = 4.9983695481549028e-15
relative error = 4.9237682578524973563471500000003e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.006
Order of pole = 5.626
x[1] = -0.994
y[1] (analytic) = -1.0182181796046125218370125452544
y[1] (numeric) = -1.0182181796046185472494050643931
absolute error = 6.0254123925191387e-15
relative error = 5.9176044125031094862456408000000e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.005
Order of pole = 5.626
x[1] = -0.993
y[1] (analytic) = -1.0212974663712710812022922527324
y[1] (numeric) = -1.0212974663712781429960695526504
absolute error = 7.0617937772999180e-15
relative error = 6.9145317694666171960741260000005e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.004
Order of pole = 5.626
x[1] = -0.992
y[1] (analytic) = -1.0243891821355442919002383270116
y[1] (numeric) = -1.0243891821355523995083829246753
absolute error = 8.1076081445976637e-15
relative error = 7.9145780587957124886265855999993e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.003
Order of pole = 5.626
x[1] = -0.991
y[1] (analytic) = -1.0274933896700834935271733588728
y[1] (numeric) = -1.0274933896700926564781615528544
absolute error = 9.1629509881939816e-15
relative error = 8.9177712288116048409162135999994e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.002
Order of pole = 5.626
x[1] = -0.99
y[1] (analytic) = -1.0306101521283645556678920621376
y[1] (numeric) = -1.0306101521283747835867584026233
absolute error = 1.02279188663404857e-14
relative error = 9.9241394480913069342242999999995e-13 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1.001
Order of pole = 5.626
x[1] = -0.989
y[1] (analytic) = -1.0337395330473860237271816069859
y[1] (numeric) = -1.0337395330473973263365963232598
absolute error = 1.13026094147162739e-14
relative error = 1.0933711107475047881365139100000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 1
Order of pole = 5.626
memory used=3.8MB, alloc=3.1MB, time=0.21
x[1] = -0.988
y[1] (analytic) = -1.0368815963503891341975628073193
y[1] (numeric) = -1.0368815963504015213189223637659
absolute error = 1.23871213595564466e-14
relative error = 1.1946514822094033593791475200000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9991
Order of pole = 5.626
x[1] = -0.987
y[1] (analytic) = -1.040036406349599898982511894951
y[1] (numeric) = -1.0400364063496133805370428490568
absolute error = 1.34815545309541058e-14
relative error = 1.2962579433418784899270157400000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9981
Order of pole = 5.626
x[1] = -0.986
y[1] (analytic) = -1.0432040277489934604210102726637
y[1] (numeric) = -1.0432040277490080464308866109661
absolute error = 1.45860098763383024e-14
relative error = 1.3981934011328279948709414400001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9971
Order of pole = 5.626
x[1] = -0.985
y[1] (analytic) = -1.0463845256470809207085121942383
y[1] (numeric) = -1.0463845256470966212979863246817
absolute error = 1.57005894741304434e-14
relative error = 1.5004607856200136306048525000000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9961
Order of pole = 5.626
x[1] = -0.984
y[1] (analytic) = -1.0495779655397188514815943321043
y[1] (numeric) = -1.0495779655397356768781419138103
absolute error = 1.68253965475817060e-14
relative error = 1.6030630501022067967540224000001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9951
Order of pole = 5.626
x[1] = -0.983
y[1] (analytic) = -1.0527844133229416914289368831288
y[1] (numeric) = -1.0527844133229596519644156771712
absolute error = 1.79605354787940424e-14
relative error = 1.7060031713524853357230488800000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9941
Order of pole = 5.626
x[1] = -0.982
y[1] (analytic) = -1.0560039352958172419101671644937
y[1] (numeric) = -1.0560039352958363480219900918986
absolute error = 1.91061118229274049e-14
relative error = 1.8092841498337059160337423200000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9931
Order of pole = 5.626
x[1] = -0.981
y[1] (analytic) = -1.0592365981633254727067612653502
y[1] (numeric) = -1.0592365981633457349390838612046
absolute error = 2.02622323225958544e-14
relative error = 1.9129090099161761324549870399998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.992
Order of pole = 5.626
x[1] = -0.98
y[1] (analytic) = -1.0624824690392608521959387670103
y[1] (numeric) = -1.0624824690392822812008612222721
absolute error = 2.14290049224552618e-14
relative error = 2.0168808000975512764065600000001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.991
Order of pole = 5.626
x[1] = -0.979
y[1] (analytic) = -1.0657416154491584184295952209222
y[1] (numeric) = -1.0657416154491810249683792062703
absolute error = 2.26065387839853481e-14
relative error = 2.1212025932249805296927545899999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.99
Order of pole = 5.626
x[1] = -0.978
y[1] (analytic) = -1.0690141053332438098160963061637
y[1] (numeric) = -1.0690141053332676047603967750229
absolute error = 2.37949443004688592e-14
relative error = 2.2258774867195283883945638400001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.989
Order of pole = 5.626
x[1] = -0.977
y[1] (analytic) = -1.0723000070494074763435096902299
y[1] (numeric) = -1.0723000070494324706766218609329
absolute error = 2.49943331121707030e-14
relative error = 2.3309086028028963617717598999999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.988
Order of pole = 5.626
x[1] = -0.976
y[1] (analytic) = -1.0755993893762032945488829461497
y[1] (numeric) = -1.0755993893762294993670046660824
absolute error = 2.62048181217199327e-14
relative error = 2.4362990887264714932955955199999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.987
Order of pole = 5.626
x[1] = -0.975
y[1] (analytic) = -1.0789123215158718117297998954803
y[1] (numeric) = -1.0789123215158992382433095929743
absolute error = 2.74265135096974940e-14
relative error = 2.5420521170027275727906250000002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.986
Order of pole = 5.626
x[1] = -0.974
y[1] (analytic) = -1.0822388730973883472119790717858
y[1] (numeric) = -1.0822388730974170067467295044917
absolute error = 2.86595347504327059e-14
relative error = 2.6481708856390058762126301600002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.985
Order of pole = 5.626
x[1] = -0.973
y[1] (analytic) = -1.0855791141795361808304364754183
y[1] (numeric) = -1.0855791141795660848290644869063
absolute error = 2.99039986280114880e-14
relative error = 2.7546586183737023446137696000000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.984
Order of pole = 5.626
x[1] = -0.972
y[1] (analytic) = -1.0889331152540050611520445424867
y[1] (numeric) = -1.0889331152540362211752970418802
absolute error = 3.11600232524993935e-14
relative error = 2.8615185649148884152825888000001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9829
Order of pole = 5.626
x[1] = -0.971
y[1] (analytic) = -1.0923009472485152683645087474632
y[1] (numeric) = -1.0923009472485476960925851300183
absolute error = 3.24277280763825551e-14
relative error = 2.9687540011813931098680966100003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9819
Order of pole = 5.626
x[1] = -0.97
y[1] (analytic) = -1.0956826815299674691811853752658
y[1] (numeric) = -1.0956826815300011764150966049661
absolute error = 3.37072339112297003e-14
relative error = 3.0763682295463744261901900000001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9809
Order of pole = 5.626
x[1] = -0.969
y[1] (analytic) = -1.0990783899076186035631160806292
y[1] (numeric) = -1.0990783899076536022260606590695
absolute error = 3.49986629445784403e-14
relative error = 3.1843645790834083059169922700001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9799
Order of pole = 5.626
memory used=7.6MB, alloc=4.3MB, time=0.48
x[1] = -0.968
y[1] (analytic) = -1.1024881446362840455394987810185
y[1] (numeric) = -1.1024881446363203476782558301046
absolute error = 3.63021387570490861e-14
relative error = 3.2927464058151237642445875200001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9789
Order of pole = 5.626
x[1] = -0.967
y[1] (analytic) = -1.1059120184195662829158966860222
y[1] (numeric) = -1.1059120184196039007022363753192
absolute error = 3.76177863396892970e-14
relative error = 3.4015170929644132116032710999999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9779
Order of pole = 5.626
x[1] = -0.966
y[1] (analytic) = -1.1093500844131103631961590004675
y[1] (numeric) = -1.1093500844131493089282705533869
absolute error = 3.89457321115529194e-14
relative error = 3.5106800512082474669735102399997e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9769
Order of pole = 5.626
x[1] = -0.965
y[1] (analytic) = -1.1128024162278863556096439352199
y[1] (numeric) = -1.1128024162279266417135814516422
absolute error = 4.02861039375164223e-14
relative error = 3.6202387189341249793846387499999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9759
Order of pole = 5.626
x[1] = -0.964
y[1] (analytic) = -1.1162690879334990817302578077933
y[1] (numeric) = -1.1162690879335407207614041441866
absolute error = 4.16390311463363933e-14
relative error = 3.7301965624991855249984595199998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9749
Order of pole = 5.626
x[1] = -0.963
y[1] (analytic) = -1.1197501740615253697984187777124
y[1] (numeric) = -1.1197501740615683744429677293237
absolute error = 4.30046445489516113e-14
relative error = 3.8405570764920188667341921099998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9738
Order of pole = 5.626
x[1] = -0.962
y[1] (analytic) = -1.1232457496088790905116906474093
y[1] (numeric) = -1.1232457496089234735881476806747
absolute error = 4.43830764570332654e-14
relative error = 3.9513237839971990920773771200000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9728
Order of pole = 5.626
x[1] = -0.961
y[1] (analytic) = -1.1267558900412042347348866939516
y[1] (numeric) = -1.1267558900412500091955884809006
absolute error = 4.57744607017869490e-14
relative error = 4.0625002368625760515259269000001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9718
Order of pole = 5.626
x[1] = -0.96
y[1] (analytic) = -1.1302806712962962962962962962964
y[1] (numeric) = -1.1302806712963434752289493064082
absolute error = 4.71789326530101118e-14
relative error = 4.1740900159693554273484799999996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9708
Order of pole = 5.626
x[1] = -0.959
y[1] (analytic) = -1.1338201697875522257837239681508
y[1] (numeric) = -1.1338201697876008224129623768633
absolute error = 4.85966292384087125e-14
relative error = 4.2860967315049995632763287499999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9698
Order of pole = 5.626
x[1] = -0.958
y[1] (analytic) = -1.1373744624074492240326423195072
y[1] (numeric) = -1.1373744624074992517216054963779
absolute error = 5.00276889631768707e-14
relative error = 4.3985240232389813143547978400002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9688
Order of pole = 5.626
x[1] = -0.957
y[1] (analytic) = -1.1409436265310526468093437893195
y[1] (numeric) = -1.1409436265311041190612736327003
absolute error = 5.14722519298433808e-14
relative error = 4.5113755608014239852420334400001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9678
Order of pole = 5.626
x[1] = -0.956
y[1] (analytic) = -1.1445277400195532950349324516209
y[1] (numeric) = -1.144527740019606225494790840629
absolute error = 5.29304598583890081e-14
relative error = 4.6246550439646605380578809600000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9668
Order of pole = 5.626
x[1] = -0.955
y[1] (analytic) = -1.1481268812238343677717340059826
y[1] (numeric) = -1.1481268812238887702278406445312
absolute error = 5.44024561066385486e-14
relative error = 4.7383662029277456284003825000000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9658
Order of pole = 5.626
x[1] = -0.954
y[1] (analytic) = -1.1517411289880683581026319837056
y[1] (numeric) = -1.1517411289881242464883229154057
absolute error = 5.58883856909317001e-14
relative error = 4.8525127986039547390473866399999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9647
Order of pole = 5.626
x[1] = -0.953
y[1] (analytic) = -1.1553705626533441749763796331014
y[1] (numeric) = -1.1553705626534015633716867099546
absolute error = 5.73883953070768532e-14
relative error = 4.9670986229113048564826616399999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9637
Order of pole = 5.626
x[1] = -0.952
y[1] (analytic) = -1.1590152620613247770685140096572
y[1] (numeric) = -1.1590152620613836797018656016342
absolute error = 5.89026333515919770e-14
relative error = 5.0821274990661316797103616000002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9627
Order of pole = 5.626
x[1] = -0.951
y[1] (analytic) = -1.1626753075579356077185414125254
y[1] (numeric) = -1.1626753075579960389684846493652
absolute error = 6.04312499432368398e-14
relative error = 5.1976032818797587435513769800003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9617
Order of pole = 5.626
x[1] = -0.95
y[1] (analytic) = -1.1663507799970841230500072896924
y[1] (numeric) = -1.1663507799971460974469521305657
absolute error = 6.19743969448408733e-14
relative error = 5.3135298580582943745587499999999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9607
Order of pole = 5.626
x[1] = -0.949
y[1] (analytic) = -1.170041760744410708461350868743
y[1] (numeric) = -1.1700417607444742406893362997994
absolute error = 6.35322279854310564e-14
relative error = 5.4299111465055927888826683599998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9597
Order of pole = 5.626
x[1] = -0.948
y[1] (analytic) = -1.1737483316810712817925229113796
y[1] (numeric) = -1.1737483316811363866910055756419
absolute error = 6.51048984826642623e-14
relative error = 5.5467510986294159420384121600002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=11.4MB, alloc=4.3MB, time=0.75
Real estimate of pole used
Radius of convergence = 0.9587
Order of pole = 5.626
x[1] = -0.947
y[1] (analytic) = -1.1774705752075518846256681452278
y[1] (numeric) = -1.1774705752076185771913337138161
absolute error = 6.66925656655685883e-14
relative error = 5.6640536986508336399183760900002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9577
Order of pole = 5.626
x[1] = -0.946
y[1] (analytic) = -1.1812085742475155663682023490042
y[1] (numeric) = -1.1812085742475838617567999472583
absolute error = 6.82953885975982541e-14
relative error = 5.7818229639168994251183197600004e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9566
Order of pole = 5.626
x[1] = -0.945
y[1] (analytic) = -1.1849624122516818689938143480878
y[1] (numeric) = -1.1849624122517517825220143548181
absolute error = 6.99135282000067303e-14
relative error = 5.9000629452166404758218837499997e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9556
Order of pole = 5.626
x[1] = -0.944
y[1] (analytic) = -1.1887321732017392235817683404827
y[1] (numeric) = -1.1887321732018107707290438833165
absolute error = 7.15471472755428338e-14
relative error = 6.0187777271004002971689779200001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9546
Order of pole = 5.626
x[1] = -0.943
y[1] (analytic) = -1.1925179416142905730978515695743
y[1] (numeric) = -1.1925179416143637695083840441725
absolute error = 7.31964105324745982e-14
relative error = 6.1379714282025731248190947399999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9536
Order of pole = 5.626
x[1] = -0.942
y[1] (analytic) = -1.196319802544832539201892566443
y[1] (numeric) = -1.1963198025449074006865015122543
absolute error = 7.48614846089458113e-14
relative error = 6.2576482015677700626305234399998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9526
Order of pole = 5.626
x[1] = -0.941
y[1] (analytic) = -1.2001378415917684542474589010426
y[1] (numeric) = -1.2001378415918449967855565712247
absolute error = 7.65425380976701821e-14
relative error = 6.3778122349804568175640784099999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9516
Order of pole = 5.626
x[1] = -0.94
y[1] (analytic) = -1.2039721449004555830596303323926
y[1] (numeric) = -1.2039721449005338228012013005778
absolute error = 7.82397415709681852e-14
relative error = 6.4984677512981039136156800000002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9506
Order of pole = 5.626
x[1] = -0.939
y[1] (analytic) = -1.207822799167286862537140083043
y[1] (numeric) = -1.2078227991673668158047462347512
absolute error = 7.99532676061517082e-14
relative error = 6.6196190087878905197157655800003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9496
Order of pole = 5.626
x[1] = -0.938
y[1] (analytic) = -1.2116898916438074906261973616586
y[1] (numeric) = -1.2116898916438891739170086233698
absolute error = 8.16832908112617112e-14
relative error = 6.7412703014670036589251526400004e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9486
Order of pole = 5.626
x[1] = -0.937
y[1] (analytic) = -1.2155735101408666997554690332752
y[1] (numeric) = -1.2155735101409501297433201974656
absolute error = 8.34299878511641904e-14
relative error = 6.8634259594465750377175851199998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9475
Order of pole = 5.626
x[1] = -0.936
y[1] (analytic) = -1.2194737430328050534055355444793
y[1] (numeric) = -1.219473743032890246943009554304
absolute error = 8.51935374740098247e-14
relative error = 6.9860903492792984252027443199996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9465
Order of pole = 5.626
x[1] = -0.935
y[1] (analytic) = -1.2233906792616776081121812551163
y[1] (numeric) = -1.2233906792617645822327193178831
absolute error = 8.69741205380627668e-14
relative error = 7.1092678743107707355857549999998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9455
Order of pole = 5.626
x[1] = -0.934
y[1] (analytic) = -1.2273244083415132868716750738552
y[1] (numeric) = -1.2273244083416020587917139779891
absolute error = 8.87719200389041339e-14
relative error = 7.2329629750346009826725485600002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9445
Order of pole = 5.626
x[1] = -0.933
y[1] (analytic) = -1.2312750203626108136282941788923
y[1] (numeric) = -1.2312750203627014007494311947304
absolute error = 9.05871211370158381e-14
relative error = 7.3571801294513314639078229700003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9435
Order of pole = 5.626
x[1] = -0.932
y[1] (analytic) = -1.2352426059958715622802997500976
y[1] (numeric) = -1.2352426059959639821914855005872
absolute error = 9.24199111857504896e-14
relative error = 7.4819238534312162615385292799998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9425
Order of pole = 5.626
x[1] = -0.931
y[1] (analytic) = -1.2392272564971696774409549695412
y[1] (numeric) = -1.2392272564972639479207146627399
absolute error = 9.42704797596931987e-14
relative error = 7.6071987010809027473120361699997e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9415
Order of pole = 5.626
x[1] = -0.93
y[1] (analytic) = -1.2432290637117598280365559073895
y[1] (numeric) = -1.2432290637118559670552393285847
absolute error = 9.61390186834211952e-14
relative error = 7.7330092651140622307486399999993e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9405
Order of pole = 5.626
x[1] = -0.929
y[1] (analytic) = -1.2472481200787229587144071821765
y[1] (numeric) = -1.2472481200788209844364678494596
absolute error = 9.80257220606672831e-14
relative error = 7.8593601772260167634059695900002e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9395
Order of pole = 5.626
x[1] = -0.928
y[1] (analytic) = -1.2512845186354504079708065111321
y[1] (numeric) = -1.2512845186355503387571104043729
absolute error = 9.99307863038932408e-14
relative error = 7.9862561084724092923779481599998e-12 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=15.2MB, alloc=4.4MB, time=1.02
Real estimate of pole used
Radius of convergence = 0.9384
Order of pole = 5.626
x[1] = -0.927
y[1] (analytic) = -1.2553383530221667658930037737743
y[1] (numeric) = -1.2553383530222686203031680531581
absolute error = 1.018544101642793838e-13
relative error = 8.1137017696519655783562875400000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9374
Order of pole = 5.626
x[1] = -0.926
y[1] (analytic) = -1.2594097174864918484403777354619
y[1] (numeric) = -1.25940971748659564523513987206
absolute error = 1.037967947621365981e-13
relative error = 8.2417019116933961314558325599996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9364
Order of pole = 5.626
x[1] = -0.925
y[1] (analytic) = -1.2634987068880421692693423884075
y[1] (numeric) = -1.2634987068881479274129601356728
absolute error = 1.057581436177472653e-13
relative error = 8.3702613260464878581889062499993e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9354
Order of pole = 5.626
x[1] = -0.924
y[1] (analytic) = -1.2676054167030722942343789029571
y[1] (numeric) = -1.2676054167031800328970615445543
absolute error = 1.077386626826415972e-13
relative error = 8.4993848450774351356909132799999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9344
Order of pole = 5.626
x[1] = -0.923
y[1] (analytic) = -1.2717299430291564678747211762303
y[1] (numeric) = -1.2717299430292662064350924922387
absolute error = 1.097385603713160084e-13
relative error = 8.6290773424684610289747922800003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9334
Order of pole = 5.626
x[1] = -0.922
y[1] (analytic) = -1.2758723825899109054232445840927
y[1] (numeric) = -1.2758723825900226634708379843547
absolute error = 1.117580475934002620e-13
relative error = 8.7593437336217798992891376000000e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9324
Order of pole = 5.626
x[1] = -0.921
y[1] (analytic) = -1.280032832739757148151669518471
y[1] (numeric) = -1.2800328327398709454894557987049
absolute error = 1.137973377862802339e-13
relative error = 8.8901889760679533464767877900001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9314
Order of pole = 5.626
x[1] = -0.92
y[1] (analytic) = -1.2842113914687268841949535629161
y[1] (numeric) = -1.2842113914688427408419017461685
absolute error = 1.158566469481832524e-13
relative error = 9.0216180698786920444851199999999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9304
Order of pole = 5.626
x[1] = -0.919
y[1] (analytic) = -1.288408157407308641378378008257
y[1] (numeric) = -1.2884081574074265775720497413427
absolute error = 1.179361936717330857e-13
relative error = 9.1536360580841568697935606300001e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9293
Order of pole = 5.626
x[1] = -0.918
y[1] (analytic) = -1.2926232298313367630040146085453
y[1] (numeric) = -1.2926232298314567992031925903086
absolute error = 1.200361991779817633e-13
relative error = 9.2862480270948132208620405599996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9283
Order of pole = 5.626
x[1] = -0.917
y[1] (analytic) = -1.2968567086669230820396754298098
y[1] (numeric) = -1.2968567086670452389270263553478
absolute error = 1.221568873509255380e-13
relative error = 9.4194591071278933471249593999995e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9273
Order of pole = 5.626
x[1] = -0.916
y[1] (analytic) = -1.3011086944954317136938005355821
y[1] (numeric) = -1.3011086944955560121785730479945
absolute error = 1.242984847725124124e-13
relative error = 9.5532744726385220024004070400003e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9263
Order of pole = 5.626
x[1] = -0.915
y[1] (analytic) = -1.3053792885584973909547331992383
y[1] (numeric) = -1.3053792885586238521754913480162
absolute error = 1.264612207581487779e-13
relative error = 9.6876993427555616178254662499996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9253
Order of pole = 5.626
x[1] = -0.914
y[1] (analytic) = -1.3096685927630877723231885321479
y[1] (numeric) = -1.3096685927632164176505812449877
absolute error = 1.286453273927128398e-13
relative error = 9.8227389817222340263050571199996e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9243
Order of pole = 5.626
x[1] = -0.913
y[1] (analytic) = -1.3139767096866101556731673040805
y[1] (numeric) = -1.3139767096867410067127343867031
absolute error = 1.308510395670826226e-13
relative error = 9.9583986993415760604548232199999e-12 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9233
Order of pole = 5.626
x[1] = -0.912
y[1] (analytic) = -1.3183037425820630369398411387039
y[1] (numeric) = -1.3183037425821961155348563251911
absolute error = 1.330785950151864872e-13
relative error = 1.0094683851426787788402524160000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9223
Order of pole = 5.626
x[1] = -0.911
y[1] (analytic) = -1.3226497953832329571537875774513
y[1] (numeric) = -1.3226497953833682853881391616655
absolute error = 1.353282343515842142e-13
relative error = 1.0231599840256532271873424019999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9213
Order of pole = 5.626
x[1] = -0.91
y[1] (analytic) = -1.3270149727099370862201438218827
y[1] (numeric) = -1.327014972710074686421253408731
absolute error = 1.376002011095868483e-13
relative error = 1.0369152115035247086027930000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9202
Order of pole = 5.626
x[1] = -0.909
y[1] (analytic) = -1.3313993798733119967795472727922
y[1] (numeric) = -1.3313993798734518915213271964172
absolute error = 1.398947417799236250e-13
relative error = 1.0507346172358527916486012500000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9192
Order of pole = 5.626
x[1] = -0.908
y[1] (analytic) = -1.335803122881149086485921319016
y[1] (numeric) = -1.3358031228812912985917712834681
absolute error = 1.422121058499644521e-13
relative error = 1.0646187556683646356884635520000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9182
Order of pole = 5.626
x[1] = -0.907
y[1] (analytic) = -1.3402263084432771120950394467669
y[1] (numeric) = -1.3402263084434216646408829533111
absolute error = 1.445525458435065442e-13
relative error = 1.0785681860805263727718432060001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=19.0MB, alloc=4.4MB, time=1.29
Real estimate of pole used
Radius of convergence = 0.9172
Order of pole = 5.626
x[1] = -0.906
y[1] (analytic) = -1.3446690439769923038781642926751
y[1] (numeric) = -1.3446690439771392201955254266385
absolute error = 1.469163173611339634e-13
relative error = 1.0925834726336404473115057439999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9162
Order of pole = 5.626
x[1] = -0.905
y[1] (analytic) = -1.3491314376125365340577269732354
y[1] (numeric) = -1.3491314376126858377368481321946
absolute error = 1.493036791211589592e-13
relative error = 1.1066651844194753098569590000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9152
Order of pole = 5.626
x[1] = -0.904
y[1] (analytic) = -1.3536135981986240182078138633596
y[1] (numeric) = -1.3536135981987757331008150175054
absolute error = 1.517148930011541458e-13
relative error = 1.1208138955094339251833989120000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9142
Order of pole = 5.626
x[1] = -0.903
y[1] (analytic) = -1.3581156353080170338720028735771
y[1] (numeric) = -1.3581156353081711840960829582939
absolute error = 1.541502240800847168e-13
relative error = 1.1350301850042677235357759360000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9132
Order of pole = 5.626
x[1] = -0.902
y[1] (analytic) = -1.3626376592431511460256912140318
y[1] (numeric) = -1.3626376592433077559663722640681
absolute error = 1.566099406810500363e-13
relative error = 1.1493146370843426042791033040000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9122
Order of pole = 5.626
x[1] = -0.901
y[1] (analytic) = -1.3671797810418104344503459655956
y[1] (numeric) = -1.3671797810419695287647606097088
absolute error = 1.590943144146441132e-13
relative error = 1.1636678410604637767162575320000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9111
Order of pole = 5.626
x[1] = -0.9
y[1] (analytic) = -1.3717421124828532235939643347051
y[1] (numeric) = -1.371742112483014827214187279323
absolute error = 1.616036202229446179e-13
relative error = 1.1780903914252662644910000000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9101
Order of pole = 5.626
x[1] = -0.899
y[1] (analytic) = -1.3763247660919888210663417729105
y[1] (numeric) = -1.3763247660921529592027659131756
absolute error = 1.641381364241402651e-13
relative error = 1.1925828879051780116828250490000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9091
Order of pole = 5.626
x[1] = -0.898
y[1] (analytic) = -1.3809278551476057765604156102339
y[1] (numeric) = -1.3809278551477724747051734167844
absolute error = 1.666981447578065505e-13
relative error = 1.2071459355129626172736299599999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9081
Order of pole = 5.626
x[1] = -0.897
y[1] (analytic) = -1.3855514936866521787028949919356
y[1] (numeric) = -1.3855514936868214626333258319321
absolute error = 1.692839304308399965e-13
relative error = 1.2217801446008488165325004450000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9071
Order of pole = 5.626
x[1] = -0.896
y[1] (analytic) = -1.3901957965105685131195335276968
y[1] (numeric) = -1.3901957965107404089016975889288
absolute error = 1.718957821640612320e-13
relative error = 1.2364861309142539189826355200000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9061
Order of pole = 5.626
x[1] = -0.895
y[1] (analytic) = -1.3948608791912736108536914731631
y[1] (numeric) = -1.3948608791914481448459309705715
absolute error = 1.745339922394974084e-13
relative error = 1.2512645156461085334943095000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9051
Order of pole = 5.626
x[1] = -0.894
y[1] (analytic) = -1.399546858077204222202225496714
y[1] (numeric) = -1.3995468580773814210587738513383
absolute error = 1.771988565483546243e-13
relative error = 1.2661159254917899631728911120000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9041
Order of pole = 5.626
x[1] = -0.893
y[1] (analytic) = -1.4042538502994087570312061028052
y[1] (numeric) = -1.4042538502995886477058457940244
absolute error = 1.798906746396912192e-13
relative error = 1.2810409927046718089241997440000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9031
Order of pole = 5.626
x[1] = -0.892
y[1] (analytic) = -1.4089819737776957387064797029497
y[1] (numeric) = -1.4089819737778783484562495059226
absolute error = 1.826097497698029729e-13
relative error = 1.2960403551522973726551899519999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.902
Order of pole = 5.626
x[1] = -0.891
y[1] (analytic) = -1.413731347226837524921662636677
y[1] (numeric) = -1.4137313472270228813106149681159
absolute error = 1.853563889523314389e-13
relative error = 1.3111146563731845902542547190000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.901
Order of pole = 5.626
x[1] = -0.89
y[1] (analytic) = -1.4185020901628298549297912390473
y[1] (numeric) = -1.4185020901630179858328003458723
absolute error = 1.881309030091068250e-13
relative error = 1.3262645456342702931342500000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.9
Order of pole = 5.626
x[1] = -0.889
y[1] (analytic) = -1.4232943229092077889855832511187
y[1] (numeric) = -1.4232943229093987225922049881525
absolute error = 1.909336066217370338e-13
relative error = 1.3414906779890017468367647220000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.899
Order of pole = 5.626
x[1] = -0.888
y[1] (analytic) = -1.4281081666034186121841344631703
y[1] (numeric) = -1.4281081666036123770025184178369
absolute error = 1.937648183839546666e-13
relative error = 1.3567937143360834797405419520000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.898
Order of pole = 5.626
x[1] = -0.887
y[1] (analytic) = -1.4329437432032522813399387588215
y[1] (numeric) = -1.4329437432034489062007934928202
absolute error = 1.966248608547339987e-13
relative error = 1.3721743214788875530637866610001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=22.8MB, alloc=4.4MB, time=1.56
Real estimate of pole used
Radius of convergence = 0.897
Order of pole = 5.626
x[1] = -0.886
y[1] (analytic) = -1.4378011754933300000884535283164
y[1] (numeric) = -1.4378011754935295141490657184503
absolute error = 1.995140606121901339e-13
relative error = 1.3876331721855355042695445840000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.896
Order of pole = 5.626
x[1] = -0.885
y[1] (analytic) = -1.4426805870916515140121253696644
y[1] (numeric) = -1.4426805870918539467604336424266
absolute error = 2.024327483082727622e-13
relative error = 1.4031709452496603674407407500000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.895
Order of pole = 5.626
x[1] = -0.884
y[1] (analytic) = -1.4475821024562017242949487676374
y[1] (numeric) = -1.44758210245640710555367303478
absolute error = 2.053812587242671426e-13
relative error = 1.4187883255518571930186103040001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.894
Order of pole = 5.626
x[1] = -0.883
y[1] (analytic) = -1.4525058468916172251953750000215
y[1] (numeric) = -1.4525058468918255851262021151838
absolute error = 2.083599308271151623e-13
relative error = 1.4344860041218307030643731010001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8929
Order of pole = 5.626
x[1] = -0.882
y[1] (analytic) = -1.4574519465559133774978583909607
y[1] (numeric) = -1.4574519465561247466056849604941
absolute error = 2.113691078265695334e-13
relative error = 1.4502646782012487693198353120000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8919
Order of pole = 5.626
x[1] = -0.881
y[1] (analytic) = -1.4624205284672725370596775546123
y[1] (numeric) = -1.4624205284674869461969107490284
absolute error = 2.144091372331944161e-13
relative error = 1.4661250513073105526243564009999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8909
Order of pole = 5.626
x[1] = -0.88
y[1] (analytic) = -1.4674117205108940646130728775357
y[1] (numeric) = -1.467411720511111544983990103517
absolute error = 2.174803709172259813e-13
relative error = 1.4820678332970382392847360000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8899
Order of pole = 5.626
x[1] = -0.879
y[1] (analytic) = -1.4724256514459067501143879634775
y[1] (numeric) = -1.4724256514461273332795562701377
absolute error = 2.205831651683066602e-13
relative error = 1.4980937404323014546811402780000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8889
Order of pole = 5.626
x[1] = -0.878
y[1] (analytic) = -1.4774624509123442921529995342211
y[1] (numeric) = -1.4774624509125680100337556412848
absolute error = 2.237178807561070637e-13
relative error = 1.5142034954455835549472688240000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8879
Order of pole = 5.626
x[1] = -0.877
y[1] (analytic) = -1.4825222494381844802445926880049
y[1] (numeric) = -1.482522249438411365127584537796
absolute error = 2.268848829918497911e-13
relative error = 1.5303978276064991010754081630000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8869
Order of pole = 5.626
x[1] = -0.876
y[1] (analytic) = -1.4876051784464527352370300107803
y[1] (numeric) = -1.4876051784466828197788207603771
absolute error = 2.300845417907495968e-13
relative error = 1.5466774727890719803234119680000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8859
Order of pole = 5.626
x[1] = -0.875
y[1] (analytic) = -1.4927113702623906705539358600583
y[1] (numeric) = -1.4927113702626239877856712446872
absolute error = 2.333172317353846289e-13
relative error = 1.5630431735397837443886718750000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8848
Order of pole = 5.626
x[1] = -0.874
y[1] (analytic) = -1.4978409581206903445924520343095
y[1] (numeric) = -1.4978409581209269279245920480181
absolute error = 2.365833321400137086e-13
relative error = 1.5794956791464018760004636640000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8838
Order of pole = 5.626
x[1] = -0.873
y[1] (analytic) = -1.5029940761727948822787179358928
y[1] (numeric) = -1.5029940761730347655058337907713
absolute error = 2.398832271158548785e-13
relative error = 1.5960357457075978363389303450000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8828
Order of pole = 5.626
x[1] = -0.872
y[1] (analytic) = -1.5081708594942661515688065672661
y[1] (numeric) = -1.5081708594945093688744439079736
absolute error = 2.432173056373407075e-13
relative error = 1.6126641362033648593562496000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8818
Order of pole = 5.626
x[1] = -0.871
y[1] (analytic) = -1.513371444092220188565446317884
y[1] (numeric) = -1.513371444092466774527055683996
absolute error = 2.465859616093661120e-13
relative error = 1.6293816205662456253577283200001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8808
Order of pole = 5.626
x[1] = -0.87
y[1] (analytic) = -1.5185959669128310729032365835843
y[1] (numeric) = -1.5185959669130810624971721283053
absolute error = 2.499895939355447210e-13
relative error = 1.6461889757533800541266300000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8798
Order of pole = 5.626
x[1] = -0.869
y[1] (analytic) = -1.5238445658489039631386022470804
y[1] (numeric) = -1.5238445658491573917451897371778
absolute error = 2.534286065874900974e-13
relative error = 1.6630869858193836460569013660000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8788
Order of pole = 5.626
x[1] = -0.868
y[1] (analytic) = -1.529117379747518010066828056647
y[1] (numeric) = -1.5291173797477749134755031950468
absolute error = 2.569034086751383998e-13
relative error = 1.6800764419900668719843439359999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8778
Order of pole = 5.626
x[1] = -0.867
y[1] (analytic) = -1.5344145484177398741785901072737
y[1] (numeric) = -1.5344145484180002885931082366442
absolute error = 2.604144145181293705e-13
relative error = 1.6971581427370063464699849150000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8768
Order of pole = 5.626
x[1] = -0.866
y[1] (analytic) = -1.5397362126384085818639004496732
y[1] (numeric) = -1.5397362126386725439076187124894
absolute error = 2.639620437182628162e-13
relative error = 1.7143328938529785843555151520000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=26.7MB, alloc=4.4MB, time=1.82
Real estimate of pole used
Radius of convergence = 0.8757
Order of pole = 5.626
x[1] = -0.865
y[1] (analytic) = -1.5450825141659924634737665268303
y[1] (numeric) = -1.5450825141662600101949995748878
absolute error = 2.675467212330480575e-13
relative error = 1.7316015085282673614184093750000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8747
Order of pole = 5.626
x[1] = -0.864
y[1] (analytic) = -1.5504535957425189249606259208454
y[1] (numeric) = -1.5504535957427900938380762849643
absolute error = 2.711688774503641189e-13
relative error = 1.7489648074278557949325148160000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8737
Order of pole = 5.626
x[1] = -0.863
y[1] (analytic) = -1.5558496011035778135392574546282
y[1] (numeric) = -1.555849601103852642487521703375
absolute error = 2.748289482642487468e-13
relative error = 1.7664236187695144524343717959999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8727
Order of pole = 5.626
x[1] = -0.862
y[1] (analytic) = -1.561270674986399146641923482474
y[1] (numeric) = -1.5612706749866776740170753171321
absolute error = 2.785273751518346581e-13
relative error = 1.7839787784027969491958701679999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8717
Order of pole = 5.626
x[1] = -0.861
y[1] (analytic) = -1.5667169631380059823865198193511
y[1] (numeric) = -1.5667169631382882469917712710913
absolute error = 2.822646052514517402e-13
relative error = 1.8016311298889546318274841620000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8707
Order of pole = 5.626
x[1] = -0.86
y[1] (analytic) = -1.5721886123234432188360773265248
y[1] (numeric) = -1.5721886123237292599275192407807
absolute error = 2.860410914419142559e-13
relative error = 1.8193815245817821395073039999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8697
Order of pole = 5.626
x[1] = -0.859
y[1] (analytic) = -1.5776857703340831185036747275529
y[1] (numeric) = -1.5776857703343729757960977399905
absolute error = 2.898572924230124376e-13
relative error = 1.8372308217094057796263529040000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8687
Order of pole = 5.626
x[1] = -0.858
y[1] (analytic) = -1.5832085859960083638503121118408
y[1] (numeric) = -1.5832085859963020775231093400356
absolute error = 2.937136727972281948e-13
relative error = 1.8551798884570268185160909760000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8677
Order of pole = 5.626
x[1] = -0.857
y[1] (analytic) = -1.5887572091784734589362098299482
y[1] (numeric) = -1.5887572091787710696393625249572
absolute error = 2.976107031526950090e-13
relative error = 1.8732296000506319804194013699999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8666
Order of pole = 5.626
x[1] = -0.856
y[1] (analytic) = -1.594331790802445301920014236235
y[1] (numeric) = -1.5943317908027468507801616586743
absolute error = 3.015488601474224393e-13
relative error = 1.8913808398416835958138362880000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8656
Order of pole = 5.626
x[1] = -0.855
y[1] (analytic) = -1.5999324828492237627572116456687
y[1] (numeric) = -1.5999324828495292913838064516911
absolute error = 3.055286265948060224e-13
relative error = 1.9096344993928020200884079999998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8646
Order of pole = 5.626
x[1] = -0.854
y[1] (analytic) = -1.6055594383691431102304025318619
y[1] (numeric) = -1.6055594383694526607219529755832
absolute error = 3.095504915504437213e-13
relative error = 1.9279914785644531473926070320000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8636
Order of pole = 5.626
x[1] = -0.853
y[1] (analytic) = -1.6112128114903551423517233516925
y[1] (numeric) = -1.6112128114906687573021236321342
absolute error = 3.136149504002804417e-13
relative error = 1.9464526856026539707487569090000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8626
Order of pole = 5.626
x[1] = -0.852
y[1] (analytic) = -1.6168927574276948842134041806586
y[1] (numeric) = -1.6168927574280126067183542831854
absolute error = 3.177225049501025268e-13
relative error = 1.9650190372277093937132157440000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8616
Order of pole = 5.626
x[1] = -0.851
y[1] (analytic) = -1.6225994324916297275280245597819
y[1] (numeric) = -1.6225994324919516011915409642992
absolute error = 3.218736635164045173e-13
relative error = 1.9836914587239936132603388229999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8606
Order of pole = 5.626
x[1] = -0.85
y[1] (analytic) = -1.6283329940972928963973132505598
y[1] (numeric) = -1.6283329940976189653383319014274
absolute error = 3.260689410186508676e-13
relative error = 2.0024708840307896406484999999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8596
Order of pole = 5.626
x[1] = -0.849
y[1] (analytic) = -1.6340936007736021342791937713569
y[1] (numeric) = -1.6340936007739324431382667270613
absolute error = 3.303088590729557044e-13
relative error = 2.0213582558342006743945351559999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8586
Order of pole = 5.626
x[1] = -0.848
y[1] (analytic) = -1.6398814121724645176890990549246
y[1] (numeric) = -1.6398814121727991116351862590548
absolute error = 3.345939460872041302e-13
relative error = 2.0403545256601472733915299839999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8575
Order of pole = 5.626
x[1] = -0.847
y[1] (analytic) = -1.6456965890780683128752868101502
y[1] (numeric) = -1.6456965890784072376126444491362
absolute error = 3.389247373576389860e-13
relative error = 2.0594606539684644392926107799999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8565
Order of pole = 5.626
x[1] = -0.846
y[1] (analytic) = -1.6515392934162628025509332405935
y[1] (numeric) = -1.6515392934166061043261001780113
absolute error = 3.433017751669374178e-13
relative error = 2.0786776102481129465675050079999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8555
Order of pole = 5.626
memory used=30.5MB, alloc=4.4MB, time=2.09
x[1] = -0.845
y[1] (analytic) = -1.6574096882640270207501477684324
y[1] (numeric) = -1.6574096882643747463590315704552
absolute error = 3.477256088838020228e-13
relative error = 2.0980063731135194473365565000002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8545
Order of pole = 5.626
x[1] = -0.844
y[1] (analytic) = -1.6633079378590283450027469863256
y[1] (numeric) = -1.6633079378593805417978110781183
absolute error = 3.521967950640917927e-13
relative error = 2.1174479304020600821056663679999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8535
Order of pole = 5.626
x[1] = -0.843
y[1] (analytic) = -1.6692342076092719062956949212883
y[1] (numeric) = -1.6692342076096286221932484398152
absolute error = 3.567158975535185269e-13
relative error = 2.1370032792727025676615367830000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8525
Order of pole = 5.626
x[1] = -0.842
y[1] (analytic) = -1.6751886641028417887096331295281
y[1] (numeric) = -1.6751886641032030721972250643647
absolute error = 3.612834875919348366e-13
relative error = 2.1566734263058218815502778080000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8515
Order of pole = 5.626
x[1] = -0.841
y[1] (analytic) = -1.6811714751177350021889945367492
y[1] (numeric) = -1.6811714751181009023329137770928
absolute error = 3.659001439192403436e-13
relative error = 2.1764593876042049697733309560000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8505
Order of pole = 5.626
x[1] = -0.84
y[1] (analytic) = -1.6871828096317892236259583198358
y[1] (numeric) = -1.6871828096321597900788412529764
absolute error = 3.705664528829331406e-13
relative error = 2.1963621888952600416618240000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8495
Order of pole = 5.626
x[1] = -0.839
y[1] (analytic) = -1.6932228378327053133141317009617
y[1] (numeric) = -1.6932228378330805963226790350344
absolute error = 3.752830085473340727e-13
relative error = 2.2163828656344462819501857130001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8484
Order of pole = 5.626
x[1] = -0.838
y[1] (analytic) = -1.699291731128165625859544239898
y[1] (numeric) = -1.6992917311285456762723487517936
absolute error = 3.800504128045118956e-13
relative error = 2.2365224631099400405230272319999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8474
Order of pole = 5.626
x[1] = -0.837
y[1] (analytic) = -1.7053896621560491468265513132913
y[1] (numeric) = -1.7053896621564340161020382511578
absolute error = 3.848692754869378665e-13
relative error = 2.2567820365485537660208422450000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8464
Order of pole = 5.626
x[1] = -0.836
y[1] (analytic) = -1.7115168047947444987468410876636
y[1] (numeric) = -1.7115168047951342389613229865031
absolute error = 3.897402144818988395e-13
relative error = 2.2771626512229241923287651200002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8454
Order of pole = 5.626
x[1] = -0.835
y[1] (analytic) = -1.7176733341735618726332340160297
y[1] (numeric) = -1.7176733341739565364890817144958
absolute error = 3.946638558476984661e-13
relative error = 2.2976653825599865512718803750001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8444
Order of pole = 5.626
x[1] = -0.834
y[1] (analytic) = -1.7238594266832449538187023660578
y[1] (numeric) = -1.7238594266836445946526340426858
absolute error = 3.996408339316766280e-13
relative error = 2.3182913162507517806675011199999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8434
Order of pole = 5.626
x[1] = -0.833
y[1] (analytic) = -1.7300752599865839237874028365729
y[1] (numeric) = -1.7300752599869885955788929143533
absolute error = 4.046717914900777804e-13
relative error = 2.3390415483614039794299167480000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8424
Order of pole = 5.626
x[1] = -0.832
y[1] (analytic) = -1.7363210130291306326809285389167
y[1] (numeric) = -1.7363210130295403900607383383511
absolute error = 4.097573798097994344e-13
relative error = 2.3599171854457355826018385920000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8414
Order of pole = 5.626
x[1] = -0.831
y[1] (analytic) = -1.7425968660500170503519060230893
y[1] (numeric) = -1.7425968660504319486107380756688
absolute error = 4.148982588320525795e-13
relative error = 2.3809193446589380198359468450000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8404
Order of pole = 5.626
x[1] = -0.83
y[1] (analytic) = -1.7489030005928781172009856817312
y[1] (numeric) = -1.7489030005932982122982636481462
absolute error = 4.200950972779664150e-13
relative error = 2.4020491538727658253360499999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8393
Order of pole = 5.626
x[1] = -0.829
y[1] (analytic) = -1.7552395995168801295747360388632
y[1] (numeric) = -1.7552395995173054781475122092197
absolute error = 4.253485727761703565e-13
relative error = 2.4233077517920924824430427850001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8383
Order of pole = 5.626
x[1] = -0.828
y[1] (analytic) = -1.7616068470078558082235302646312
y[1] (numeric) = -1.7616068470082864675955226515058
absolute error = 4.306593719923868746e-13
relative error = 2.4446962880728765019361457919999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8373
Order of pole = 5.626
x[1] = -0.827
y[1] (analytic) = -1.7680049285895472122228234362272
y[1] (numeric) = -1.7680049285899832404135845055703
absolute error = 4.360281907610693431e-13
relative error = 2.4662159234415565546407199729998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8363
Order of pole = 5.626
x[1] = -0.826
y[1] (analytic) = -1.774434031134957674850919505327
y[1] (numeric) = -1.7744340311353991305851386250131
absolute error = 4.414557342191196861e-13
relative error = 2.4878678298158946903964353360000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8353
Order of pole = 5.626
x[1] = -0.825
y[1] (analytic) = -1.7808943428778139521941174833737
y[1] (numeric) = -1.780894342878260894911059204633
absolute error = 4.469427169417212593e-13
relative error = 2.5096531904272870149162656250000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=34.3MB, alloc=4.4MB, time=2.37
Real estimate of pole used
Radius of convergence = 0.8343
Order of pole = 5.626
x[1] = -0.824
y[1] (analytic) = -1.7873860534241397897187495138309
y[1] (numeric) = -1.7873860534245922795818298368719
absolute error = 4.524898630803230410e-13
relative error = 2.5315731999445614367887718400001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8333
Order of pole = 5.626
x[1] = -0.823
y[1] (analytic) = -1.7939093537639421267118651337083
y[1] (numeric) = -1.7939093537644002246183679455789
absolute error = 4.580979065028118706e-13
relative error = 2.5536290645992823961583935019999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8323
Order of pole = 5.626
x[1] = -0.822
y[1] (analytic) = -1.8004644362830111733510061160912
y[1] (numeric) = -1.8004644362834749409419420262389
absolute error = 4.637675909359101477e-13
relative error = 2.5758220023125827906006902960001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8313
Order of pole = 5.626
x[1] = -0.821
y[1] (analytic) = -1.8070514947748356102215296773666
y[1] (numeric) = -1.8070514947753051098916395144509
absolute error = 4.694996701098370843e-13
relative error = 2.5981532428235435717183682230000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8302
Order of pole = 5.626
x[1] = -0.82
y[1] (analytic) = -1.8136707244526341753601950058762
y[1] (numeric) = -1.8136707244531094702681002781899
absolute error = 4.752949079052723137e-13
relative error = 2.6206240278191418506014160000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8292
Order of pole = 5.626
x[1] = -0.819
y[1] (analytic) = -1.8203223219615049193691959147911
y[1] (numeric) = -1.8203223219619860734476985761501
absolute error = 4.811540785026613590e-13
relative error = 2.6432356110657885774001898100001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8282
Order of pole = 5.626
x[1] = -0.818
y[1] (analytic) = -1.8270064853906934248185150415763
y[1] (numeric) = -1.8270064853911805027850489447803
absolute error = 4.870779665339032040e-13
relative error = 2.6659892585424772403315612800000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8272
Order of pole = 5.626
x[1] = -0.817
y[1] (analytic) = -1.8337234142859813020394545286774
y[1] (numeric) = -1.8337234142864743694066909896201
absolute error = 4.930673672364609427e-13
relative error = 2.6888862485755652987459620509999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8262
Order of pole = 5.626
x[1] = -0.816
y[1] (analytic) = -1.8404733096621962895115754875575
y[1] (numeric) = -1.8404733096626954125981854248016
absolute error = 4.991230866099372441e-13
relative error = 2.7119278719752104086367887360001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8252
Order of pole = 5.626
x[1] = -0.815
y[1] (analytic) = -1.8472563740158453033622144170508
y[1] (numeric) = -1.8472563740163505493037895741873
absolute error = 5.052459415751571365e-13
relative error = 2.7351154321734838042824568750002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8242
Order of pole = 5.626
x[1] = -0.814
y[1] (analytic) = -1.8540728113378717970354503022977
y[1] (numeric) = -1.8540728113383832337955861037059
absolute error = 5.114367601358014082e-13
relative error = 2.7584502453641835647229738080000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8232
Order of pole = 5.626
x[1] = -0.813
y[1] (analytic) = -1.8609228271265388089491339578728
y[1] (numeric) = -1.8609228271270565053306765925885
absolute error = 5.176963815426347157e-13
relative error = 2.7819336406443707875143031290000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8222
Order of pole = 5.626
x[1] = -0.812
y[1] (analytic) = -1.867806628400439092947676191544
y[1] (numeric) = -1.8678066284009631186041365648562
absolute error = 5.240256564603733122e-13
relative error = 2.8055669601576520550126780160001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8211
Order of pole = 5.626
x[1] = -0.811
y[1] (analytic) = -1.8747244237116337435780916486818
y[1] (numeric) = -1.8747244237121641690252288868266
absolute error = 5.304254471372381448e-13
relative error = 2.8293515592392319337699664880000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8201
Order of pole = 5.626
x[1] = -0.81
y[1] (analytic) = -1.8816764231589207456707329694172
y[1] (numeric) = -1.8816764231594576422983102093338
absolute error = 5.368966275772399166e-13
relative error = 2.8532888065627595851782059999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8191
Order of pole = 5.626
x[1] = -0.809
y[1] (analytic) = -1.888662838401234895397702429192
y[1] (numeric) = -1.8886628384017783354814176727684
absolute error = 5.434400837152435764e-13
relative error = 2.8773800842889939188081135559999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8181
Order of pole = 5.626
x[1] = -0.808
y[1] (analytic) = -1.8956838826711805579146288317687
y[1] (numeric) = -1.8956838826717306146282236923553
absolute error = 5.500567135948605866e-13
relative error = 2.9016267882163121010409809919998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8171
Order of pole = 5.626
x[1] = -0.807
y[1] (analytic) = -1.9027397707886987448689363638825
y[1] (numeric) = -1.9027397707892554922964855821035
absolute error = 5.567474275492182210e-13
relative error = 2.9260303279330865948687940300000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8161
Order of pole = 5.626
x[1] = -0.806
y[1] (analytic) = -1.909830719174870013483557663832
y[1] (numeric) = -1.9098307191754335266319423198934
absolute error = 5.635131483846560614e-13
relative error = 2.9505921269719562663354222240002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8151
Order of pole = 5.626
x[1] = -0.805
y[1] (analytic) = -1.9169569458658547076029627528077
y[1] (numeric) = -1.9169569458664250624145301536135
absolute error = 5.703548115674008058e-13
relative error = 2.9753136229660175027872872500000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8141
Order of pole = 5.626
x[1] = -0.804
y[1] (analytic) = -1.924118670526972080022155995597
y[1] (numeric) = -1.9241186705275493533875692670516
absolute error = 5.772733654132714546e-13
relative error = 3.0001962678069616559975773439998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=38.1MB, alloc=4.4MB, time=2.64
Real estimate of pole used
Radius of convergence = 0.8131
Order of pole = 5.626
x[1] = -0.803
y[1] (analytic) = -1.931316114466919854612763229623
y[1] (numeric) = -1.9313161144675041243840436975397
absolute error = 5.842697712804679167e-13
relative error = 3.0252415278051855123022647090001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.812
Order of pole = 5.626
x[1] = -0.802
y[1] (analytic) = -1.9385495006521358062173810937547
y[1] (numeric) = -1.9385495006527271512211465908325
absolute error = 5.913450037654970778e-13
relative error = 3.0504508838519019150827550240001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.811
Order of pole = 5.626
x[1] = -0.801
y[1] (analytic) = -1.9458190537213029560079440864848
y[1] (numeric) = -1.9458190537219014560588463778716
absolute error = 5.985000509022913868e-13
relative error = 3.0758258315832780590587570679999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.81
Order of pole = 5.626
x[1] = -0.8
y[1] (analytic) = -1.953125
y[1] (numeric) = -1.9531250000006057359143645760507
absolute error = 6.057359143645760507e-13
relative error = 3.1013678815466293795840000000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.809
Order of pole = 5.626
x[1] = -0.799
y[1] (analytic) = -1.9604675675154986086865545815472
y[1] (numeric) = -1.9604675675161116622962261235358
absolute error = 6.130536096715419886e-13
relative error = 3.1270785593686973957431865139999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.808
Order of pole = 5.626
x[1] = -0.798
y[1] (analytic) = -1.9678469860117092563067016414472
y[1] (numeric) = -1.9678469860123297104730985242208
absolute error = 6.204541663968827736e-13
relative error = 3.1529594059260402913214037120001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.807
Order of pole = 5.626
x[1] = -0.797
y[1] (analytic) = -1.975263486964277259099813210591
y[1] (numeric) = -1.97526348696490519772819446548
absolute error = 6.279386283812548890e-13
relative error = 3.1790119775175654381908039700001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.806
Order of pole = 5.626
x[1] = -0.796
y[1] (analytic) = -1.9827173035958307230199125726357
y[1] (numeric) = -1.9827173035964662310738607943885
absolute error = 6.355080539482217528e-13
relative error = 3.2052378460392335340121134079999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.805
Order of pole = 5.626
x[1] = -0.795
y[1] (analytic) = -1.9902086708913821228013480678431
y[1] (numeric) = -1.9902086708920252863174718109463
absolute error = 6.431635161237431032e-13
relative error = 3.2316385991609644416598410000002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8039
Order of pole = 5.626
x[1] = -0.794
y[1] (analytic) = -1.9977378256138852559804559230874
y[1] (numeric) = -1.9977378256145361620833151955978
absolute error = 6.509061028592725104e-13
relative error = 3.2582158405057752954702831359998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8029
Order of pole = 5.626
x[1] = -0.793
y[1] (analytic) = -2.0053050063199493374930471312832
y[1] (numeric) = -2.0053050063206080744103056582579
absolute error = 6.587369172585269747e-13
relative error = 3.2849711898311819160390439789999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8019
Order of pole = 5.626
x[1] = -0.792
y[1] (analytic) = -2.0129104533757120227888516838625
y[1] (numeric) = -2.0129104533763786798666596776382
absolute error = 6.666570778079937757e-13
relative error = 3.3119062832128949891478236159998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.8009
Order of pole = 5.626
x[1] = -0.791
y[1] (analytic) = -2.020554408972873170036153638601
y[1] (numeric) = -2.0205544089735478377547648795961
absolute error = 6.746677186112409951e-13
relative error = 3.3390227732308430275063401209999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7999
Order of pole = 5.626
x[1] = -0.79
y[1] (analytic) = -2.0282371171448911749374795908639
y[1] (numeric) = -2.0282371171455739449271066902492
absolute error = 6.827699896270993853e-13
relative error = 3.3663223291575545382892670000002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7989
Order of pole = 5.626
x[1] = -0.789
y[1] (analytic) = -2.0359588237833437349451661012474
y[1] (numeric) = -2.0359588237840347000020778858065
absolute error = 6.909650569117845591e-13
relative error = 3.3938066371489323702172247789998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7979
Order of pole = 5.626
x[1] = -0.788
y[1] (analytic) = -2.0437197766544549232588128793716
y[1] (numeric) = -2.0437197766551541773616779091627
absolute error = 6.992541028650297911e-13
relative error = 3.4214774004374537018058113920000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7969
Order of pole = 5.626
x[1] = -0.787
y[1] (analytic) = -2.0515202254157904769099931792492
y[1] (numeric) = -2.0515202254164981152364734803087
absolute error = 7.076383264803010595e-13
relative error = 3.4493363395278296090718547849999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7959
Order of pole = 5.626
x[1] = -0.786
y[1] (analytic) = -2.0593604216331232274981882982627
y[1] (numeric) = -2.0593604216338393464417874656077
absolute error = 7.161189435991673450e-13
relative error = 3.4773851923951587461029332000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7948
Order of pole = 5.626
x[1] = -0.785
y[1] (analytic) = -2.0672406187974706277408703548134
y[1] (numeric) = -2.0672406187981953249280402553999
absolute error = 7.246971871699005865e-13
relative error = 3.5056257146856101129903056250000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7938
Order of pole = 5.626
x[1] = -0.784
y[1] (analytic) = -2.0751610723423063519451929043171
y[1] (numeric) = -2.0751610723430397262527032854533
absolute error = 7.333743075103811362e-13
relative error = 3.5340596799196704887928340480000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7928
Order of pole = 5.626
x[1] = -0.783
y[1] (analytic) = -2.0831220396609479738041654095807
memory used=41.9MB, alloc=4.4MB, time=2.91
y[1] (numeric) = -2.0831220396616901253767407955898
absolute error = 7.421515725753860091e-13
relative error = 3.5626888796979926218662505169999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7918
Order of pole = 5.626
x[1] = -0.782
y[1] (analytic) = -2.0911237801241227505718763491408
y[1] (numeric) = -2.0911237801248737808401046878523
absolute error = 7.510302682283387115e-13
relative error = 3.5915151239098808292925693200000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7908
Order of pole = 5.626
x[1] = -0.781
y[1] (analytic) = -2.0991665550977135686857719189918
y[1] (numeric) = -2.0991665550984735803842895199454
absolute error = 7.600116985176009536e-13
relative error = 3.6205402409444512269713029760000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7898
Order of pole = 5.626
x[1] = -0.78
y[1] (analytic) = -2.1072506279606871322847654208601
y[1] (numeric) = -2.1072506279614562294707228089611
absolute error = 7.690971859573881010e-13
relative error = 3.6497660779045043810575200000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7888
Order of pole = 5.626
x[1] = -0.779
y[1] (analytic) = -2.1153762641232065028257122097987
y[1] (numeric) = -2.1153762641239847908975256016019
absolute error = 7.782880718133918032e-13
relative error = 3.6791945008231487579639344480003e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7878
Order of pole = 5.626
x[1] = -0.778
y[1] (analytic) = -2.1235437310449301251332969635414
y[1] (numeric) = -2.1235437310457177108496901583922
absolute error = 7.875857163931948508e-13
relative error = 3.7088273948832139351172596160000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7868
Order of pole = 5.626
x[1] = -0.777
y[1] (analytic) = -2.1317532982534995027355010062484
y[1] (numeric) = -2.1317532982542964942348425712147
absolute error = 7.969914993415649663e-13
relative error = 3.7386666646394931589406150789998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7857
Order of pole = 5.626
x[1] = -0.776
y[1] (analytic) = -2.140005237363217713244502686066
y[1] (numeric) = -2.1400052373640242200644434019746
absolute error = 8.065068199407159086e-13
relative error = 3.7687142342438554135024015360002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7847
Order of pole = 5.626
x[1] = -0.775
y[1] (analytic) = -2.1482998220939209828471686079689
y[1] (numeric) = -2.1482998220947371159445842339649
absolute error = 8.161330974156259960e-13
relative error = 3.7989720476732678198181249999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7837
Order of pole = 5.626
x[1] = -0.774
y[1] (analytic) = -2.1566373282900455676763749335044
y[1] (numeric) = -2.1566373282908714394476194394103
absolute error = 8.258717712445059059e-13
relative error = 3.8294420689607698194420206160000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7827
Order of pole = 5.626
x[1] = -0.773
y[1] (analytic) = -2.1650180339398922189505167310244
y[1] (numeric) = -2.1650180339407279432519912404144
absolute error = 8.357243014745093900e-13
relative error = 3.8601262824294411976282063000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7817
Order of pole = 5.626
x[1] = -0.772
y[1] (analytic) = -2.1734422191950905383000858109763
y[1] (numeric) = -2.1734422191959362304691285933606
absolute error = 8.456921690427823843e-13
relative error = 3.8910266929294067195703072640000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7807
Order of pole = 5.626
x[1] = -0.771
y[1] (analytic) = -2.1819101663902655596535974109681
y[1] (numeric) = -2.181910166391121336529700358816
absolute error = 8.557768761029478479e-13
relative error = 3.9221453260779207709486692690000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7797
Order of pole = 5.626
x[1] = -0.77
y[1] (analytic) = -2.1904221600629089244370067443099
y[1] (numeric) = -2.1904221600637749043833638698832
absolute error = 8.659799463571255733e-13
relative error = 3.9534842285025760935536889999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7787
Order of pole = 5.626
x[1] = -0.769
y[1] (analytic) = -2.1989784869734570476577724679092
y[1] (numeric) = -2.1989784869743333505831660560628
absolute error = 8.763029253935881536e-13
relative error = 3.9850454680876813907370714240002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7777
Order of pole = 5.626
x[1] = -0.768
y[1] (analytic) = -2.2075794361255787037037037037036
y[1] (numeric) = -2.2075794361264654510847338599801
absolute error = 8.867473810301562765e-13
relative error = 4.0168311342238532784409804800002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7766
Order of pole = 5.626
x[1] = -0.767
y[1] (analytic) = -2.2162252987866744923945940476183
y[1] (numeric) = -2.2162252987875718072982574861612
absolute error = 8.973149036634385429e-13
relative error = 4.0488433380608687787146324269998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7756
Order of pole = 5.626
x[1] = -0.766
y[1] (analytic) = -2.224916368508590677988441363673
y[1] (numeric) = -2.2249163685094986850950653867458
absolute error = 9.080071066240230728e-13
relative error = 4.0810842127638252609153898879999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7746
Order of pole = 5.626
x[1] = -0.765
y[1] (analytic) = -2.2336529411485499264709372435661
y[1] (numeric) = -2.2336529411494687520974749738411
absolute error = 9.188256265377302750e-13
relative error = 4.1135559137726554814295937500001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7736
Order of pole = 5.626
x[1] = -0.764
y[1] (analytic) = -2.2424353148903014995541679804348
y[1] (numeric) = -2.2424353148912312716778610187512
absolute error = 9.297721236930383164e-13
relative error = 4.1462606190650461355087260159999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7726
Order of pole = 5.626
x[1] = -0.763
y[1] (analytic) = -2.251263790265493497385507179126
y[1] (numeric) = -2.2512637902664343456679219741504
absolute error = 9.408482824147950244e-13
relative error = 4.1792005294228090787922170680000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=45.7MB, alloc=4.5MB, time=3.18
Real estimate of pole used
Radius of convergence = 0.7716
Order of pole = 5.626
x[1] = -0.762
y[1] (analytic) = -2.2601386701752697760280326626562
y[1] (numeric) = -2.2601386701762218318394769948601
absolute error = 9.520558114443322039e-13
relative error = 4.2123778687017551508939943919999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7706
Order of pole = 5.626
x[1] = -0.761
y[1] (analytic) = -2.2690602599120942003271299638595
y[1] (numeric) = -2.2690602599130575967714560645114
absolute error = 9.633964443261006519e-13
relative error = 4.2457948841051213481365370390000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7696
Order of pole = 5.626
x[1] = -0.76
y[1] (analytic) = -2.2780288671818049278320454876804
y[1] (numeric) = -2.2780288671827797997718464341698
absolute error = 9.748719398009464894e-13
relative error = 4.2794538464606028613085440000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7686
Order of pole = 5.626
x[1] = -0.759
y[1] (analytic) = -2.2870448021259014550039521392055
y[1] (numeric) = -2.287044802126887939086158291035
absolute error = 9.864840822061518295e-13
relative error = 4.3133570505010423343645383050001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7675
Order of pole = 5.626
x[1] = -0.758
y[1] (analytic) = -2.2961083773440671930216527244822
y[1] (numeric) = -2.2961083773450654277035350897261
absolute error = 9.982346818823652439e-13
relative error = 4.3475068151488295242908897680002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7665
Order of pole = 5.626
x[1] = -0.757
y[1] (analytic) = -2.3052199079169303771005742987441
y[1] (numeric) = -2.3052199079179405026761618487289
absolute error = 1.0101255755875499848e-12
relative error = 4.3819054838040653794841898640000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7655
Order of pole = 5.626
x[1] = -0.756
y[1] (analytic) = -2.3143797114290661503785436486089
y[1] (numeric) = -2.314379711430088309005461729081
absolute error = 1.0221586269180804721e-12
relative error = 4.4165554246365454277082207360000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7645
Order of pole = 5.626
x[1] = -0.755
y[1] (analytic) = -2.3235881079922427011014678977424
y[1] (numeric) = -2.3235881079932770368282050178974
absolute error = 1.0343357267371201550e-12
relative error = 4.4514590308816182184717562499999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7635
Order of pole = 5.626
x[1] = -0.754
y[1] (analytic) = -2.3328454202689143700721089984511
y[1] (numeric) = -2.3328454202699610288657194149731
absolute error = 1.0466587936104165220e-12
relative error = 4.4866187211399754780369940799999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7625
Order of pole = 5.626
x[1] = -0.753
y[1] (analytic) = -2.342151973495964684114420054234
y[1] (numeric) = -2.342151973497023813888669705979
absolute error = 1.0591297742496517450e-12
relative error = 4.5220369396814315206937086500001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7615
Order of pole = 5.626
x[1] = -0.752
y[1] (analytic) = -2.3515080955087023106633404929544
y[1] (numeric) = -2.3515080955097740613073039831729
absolute error = 1.0717506439634902185e-12
relative error = 4.5577161567527503853701324799999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7605
Order of pole = 5.626
x[1] = -0.751
y[1] (analytic) = -2.3609141167651129685246164405216
y[1] (numeric) = -2.3609141167661974919317329076128
absolute error = 1.0845234071164670912e-12
relative error = 4.5936588688895801148382229119998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7595
Order of pole = 5.626
x[1] = -0.75
y[1] (analytic) = -2.3703703703703703703703703703703
y[1] (numeric) = -2.3703703703714678204679662351451
absolute error = 1.0974500975958647748e-12
relative error = 4.6298675992325545186875000000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7584
Order of pole = 5.626
x[1] = -0.749
y[1] (analytic) = -2.3798771921016093136531990931554
y[1] (numeric) = -2.3798771921027198464324858205343
absolute error = 1.1105327792867273789e-12
relative error = 4.6663448978476237637141889610000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7574
Order of pole = 5.626
x[1] = -0.748
y[1] (analytic) = -2.3894349204329640783441040138989
y[1] (numeric) = -2.3894349204340878518906591799357
absolute error = 1.1237735465551660368e-12
relative error = 4.7030933420506761045380290560001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7564
Order of pole = 5.626
x[1] = -0.747
y[1] (analytic) = -2.3990438965608753322372917444871
y[1] (numeric) = -2.3990438965620125067620318556561
absolute error = 1.1371745247401111690e-12
relative error = 4.7401155367365140589698318700001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7554
Order of pole = 5.626
x[1] = -0.746
y[1] (analytic) = -2.4087044644296687875277359910374
y[1] (numeric) = -2.4087044644308195253983896619263
absolute error = 1.1507378706536708889e-12
relative error = 4.7774141147122493807167601040001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7544
Order of pole = 5.626
x[1] = -0.745
y[1] (analytic) = -2.4184169707574088959654456583219
y[1] (numeric) = -2.4184169707585733617385359162904
absolute error = 1.1644657730902579685e-12
relative error = 4.8149917370351821958020081249998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7534
Order of pole = 5.626
x[1] = -0.744
y[1] (analytic) = -2.4281817650620309141338982566198
y[1] (numeric) = -2.4281817650632092745872429076943
absolute error = 1.1783604533446510745e-12
relative error = 4.8528510933552307421777740800002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7524
Order of pole = 5.626
x[1] = -0.743
y[1] (analytic) = -2.4379991996877547152995106274908
y[1] (numeric) = -2.437999199688947139465249786831
absolute error = 1.1924241657391593402e-12
relative error = 4.8909949022619792072636586140001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7514
Order of pole = 5.626
x[1] = -0.742
y[1] (analytic) = -2.4478696298317837698449525251352
y[1] (numeric) = -2.4478696298329904290431125879151
absolute error = 1.2066591981600627799e-12
relative error = 4.9294259116364122882982479119999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=49.5MB, alloc=4.5MB, time=3.45
Real estimate of pole used
Radius of convergence = 0.7504
Order of pole = 5.626
x[1] = -0.741
y[1] (analytic) = -2.4577934135712927625423710988308
y[1] (numeric) = -2.4577934135725138304149746033789
absolute error = 1.2210678726035045481e-12
relative error = 4.9681468990074061665449441010001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7493
Order of pole = 5.626
x[1] = -0.74
y[1] (analytic) = -2.4677709118907073618541843523582
y[1] (numeric) = -2.4677709118919430143999153669953
absolute error = 1.2356525457310146371e-12
relative error = 5.0071606719130467530421040000000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7483
Order of pole = 5.626
x[1] = -0.739
y[1] (analytic) = -2.4778024887092797040802114816317
y[1] (numeric) = -2.4778024887105301196896463298987
absolute error = 1.2504156094348482670e-12
relative error = 5.0464700682668472134208487300001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7473
Order of pole = 5.626
x[1] = -0.738
y[1] (analytic) = -2.4878885109089632035119273057289
y[1] (numeric) = -2.4878885109102285630033406316864
absolute error = 1.2653594914133259575e-12
relative error = 5.0860779567289379306391293999998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7463
Order of pole = 5.626
x[1] = -0.737
y[1] (analytic) = -2.4980293483625903488191476787313
y[1] (numeric) = -2.4980293483638708354749040448321
absolute error = 1.2804866557563661008e-12
relative error = 5.1259872370823032891220574240001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7453
Order of pole = 5.626
x[1] = -0.736
y[1] (analytic) = -2.5082253739623571956932686775704
y[1] (numeric) = -2.5082253739636529952968100823227
absolute error = 1.2957996035414047523e-12
relative error = 5.1662008406141408448459898880002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7443
Order of pole = 5.626
x[1] = -0.735
y[1] (analytic) = -2.51847696364861831631629929958
y[1] (numeric) = -2.5184769636499296171897392009363
absolute error = 1.3113008734399013563e-12
relative error = 5.2067217305024197200226811250002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7433
Order of pole = 5.626
x[1] = -0.734
y[1] (analytic) = -2.5287844964389960175285630760685
y[1] (numeric) = -2.5287844964403230105708977092623
absolute error = 1.3269930423346331938e-12
relative error = 5.2475529022077162846384199520000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7423
Order of pole = 5.626
x[1] = -0.733
y[1] (analytic) = -2.5391483544578076916425330983765
y[1] (numeric) = -2.5391483544591505703684810838896
absolute error = 1.3428787259479855131e-12
relative error = 5.2886973838704064905907366469999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7413
Order of pole = 5.626
x[1] = -0.732
y[1] (analytic) = -2.5495689229658152167084632797622
y[1] (numeric) = -2.5495689229671741772879447283231
absolute error = 1.3589605794814485609e-12
relative error = 5.3301582367132955178523893120000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7402
Order of pole = 5.626
x[1] = -0.731
y[1] (analytic) = -2.5600465903903003766921674358228
y[1] (numeric) = -2.5600465903916756179904339729086
absolute error = 1.3752412982665370858e-12
relative error = 5.3719385554497667232848204780001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7392
Order of pole = 5.626
x[1] = -0.73
y[1] (analytic) = -2.5705817483554703264895878586282
y[1] (numeric) = -2.5705817483568620501080152109623
absolute error = 1.3917236184273523341e-12
relative error = 5.4140414686975332295457970000002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7382
Order of pole = 5.626
x[1] = -0.729
y[1] (analytic) = -2.5811747917131971819900315081167
y[1] (numeric) = -2.5811747917146055923075865192227
absolute error = 1.4084103175550111060e-12
relative error = 5.4564701393980768708695083400001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7372
Order of pole = 5.626
x[1] = -0.728
y[1] (analytic) = -2.5918261185740958715237184021148
y[1] (numeric) = -2.5918261185755211757391125732013
absolute error = 1.4253042153941710865e-12
relative error = 5.4992277652418606071034444799999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7362
Order of pole = 5.626
x[1] = -0.727
y[1] (analytic) = -2.6025361303389444420034101395271
y[1] (numeric) = -2.602536130340386850177952025943
absolute error = 1.4424081745418864159e-12
relative error = 5.5423175790994019436519646970000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7352
Order of pole = 5.626
x[1] = -0.726
y[1] (analytic) = -2.6133052317304510709084415550069
y[1] (numeric) = -2.6133052317319107960096005873267
absolute error = 1.4597251011590323198e-12
relative error = 5.5857428494582963438739688480001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7342
Order of pole = 5.626
x[1] = -0.725
y[1] (analytic) = -2.6241338308253720939767928164335
y[1] (numeric) = -2.6241338308268493519224873590168
absolute error = 1.4772579456945425833e-12
relative error = 5.6295068808662811037662031250003e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7332
Order of pole = 5.626
x[1] = -0.724
y[1] (analytic) = -2.6350223390869854180814979946004
y[1] (numeric) = -2.6350223390884804277851207033232
absolute error = 1.4950097036227087228e-12
relative error = 5.6736130143804316445726686720001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7321
Order of pole = 5.626
x[1] = -0.723
y[1] (analytic) = -2.6459711713979237492865370258804
y[1] (numeric) = -2.6459711713994367327027308207811
absolute error = 1.5129834161937949007e-12
relative error = 5.7180646280225837319051144689998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7311
Order of pole = 5.626
x[1] = -0.722
y[1] (analytic) = -2.6569807460933721275195165332327
y[1] (numeric) = -2.656980746094903309690714761156
absolute error = 1.5311821711982279233e-12
relative error = 5.7628651372410766632359141840001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7301
Order of pole = 5.626
x[1] = -0.721
y[1] (analytic) = -2.6680514849946343216792995658351
y[1] (numeric) = -2.6680514849961839307830441929195
absolute error = 1.5496091037446270844e-12
relative error = 5.8080179953789140617891946840002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
memory used=53.4MB, alloc=4.5MB, time=3.71
Real estimate of pole used
Radius of convergence = 0.7291
Order of pole = 5.626
x[1] = -0.72
y[1] (analytic) = -2.6791838134430727023319615912208
y[1] (numeric) = -2.6791838134446409697290135353824
absolute error = 1.5682673970519441616e-12
relative error = 5.8535266941484405442887680000001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7281
Order of pole = 5.626
x[1] = -0.719
y[1] (analytic) = -2.6903781603344262734539803107741
y[1] (numeric) = -2.6903781603360134337372363003015
absolute error = 1.5871602832559895274e-12
relative error = 5.8993947641126341389137237660001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7271
Order of pole = 5.626
x[1] = -0.718
y[1] (analytic) = -2.7016349581535116099736495494029
y[1] (numeric) = -2.701634958155117901017880175539
absolute error = 1.6062910442306261361e-12
relative error = 5.9456257751731160327813417520001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7261
Order of pole = 5.626
x[1] = -0.717
y[1] (analytic) = -2.7129546430093115141568769223607
y[1] (numeric) = -2.7129546430109371771693008414254
absolute error = 1.6256630124239190647e-12
relative error = 5.9922233370649809181368430109999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7251
Order of pole = 5.626
x[1] = -0.716
y[1] (analytic) = -2.7243376546704562711986161585216
y[1] (numeric) = -2.7243376546721015507703256928632
absolute error = 1.6452795717095343416e-12
relative error = 6.0391910998585529479793935360003e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7241
Order of pole = 5.626
x[1] = -0.715
y[1] (analytic) = -2.7357844366011024527333393292608
y[1] (numeric) = -2.7357844366027675968915930162427
absolute error = 1.6651441582536869819e-12
relative error = 6.0865327544681740603510666250002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.723
Order of pole = 5.626
x[1] = -0.714
y[1] (analytic) = -2.747295435997214286384625800669
y[1] (numeric) = -2.7472954359988995466460237451563
absolute error = 1.6852602613979444873e-12
relative error = 6.1342520331681332660317983120001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.722
Order of pole = 5.626
x[1] = -0.713
y[1] (analytic) = -2.7588711038232526799529061806125
y[1] (numeric) = -2.7588711038249583113774643791391
absolute error = 1.7056314245581985266e-12
relative error = 6.1823527101158472748637928020002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.721
Order of pole = 5.626
x[1] = -0.712
y[1] (analytic) = -2.7705118948492770604097485137645
y[1] (numeric) = -2.770511894851003321655888637907
absolute error = 1.7262612461401241425e-12
relative error = 6.2308386018824047442641023999999e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.72
Order of pole = 5.626
x[1] = -0.711
y[1] (analytic) = -2.7822182676884652605452394936406
y[1] (numeric) = -2.7822182676902124139257109462341
absolute error = 1.7471533804714525935e-12
relative error = 6.2797135679905883161480529850000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.719
Order of pole = 5.626
x[1] = -0.71
y[1] (analytic) = -2.7939906848350567599207624241782
y[1] (numeric) = -2.7939906848368250714595138150337
absolute error = 1.7683115387513908555e-12
relative error = 6.3289815114604905248286049999997e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.718
Order of pole = 5.626
x[1] = -0.709
y[1] (analytic) = -2.805829612702724661731917576432
y[1] (numeric) = -2.8058296127045144012219351043287
absolute error = 1.7897394900175278967e-12
relative error = 6.3786463793628416691450636429998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.717
Order of pole = 5.626
x[1] = -0.708
y[1] (analytic) = -2.8177355216633818633049323626257
y[1] (numeric) = -2.8177355216651933043670629376895
absolute error = 1.8114410621305750638e-12
relative error = 6.4287121633801696977669538560000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.716
Order of pole = 5.626
x[1] = -0.707
y[1] (analytic) = -2.8297088860864269552544896847392
y[1] (numeric) = -2.8297088860882603753972669800709
absolute error = 1.8334201427772953317e-12
relative error = 6.4791829003759142403822370309998e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.715
Order of pole = 5.626
x[1] = -0.706
y[1] (analytic) = -2.8417501843784354628416497000919
y[1] (numeric) = -2.8417501843802911435221416838268
absolute error = 1.8556806804919837349e-12
relative error = 6.5300626729716189785136317840000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7139
Order of pole = 5.626
x[1] = -0.705
y[1] (analytic) = -2.8538598990233021228080126397455
y[1] (numeric) = -2.8538598990251803494937095087852
absolute error = 1.8782266856968690397e-12
relative error = 6.5813556101323286579210921250000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7129
Order of pole = 5.626
x[1] = -0.704
y[1] (analytic) = -2.8660385166228399699474079639368
y[1] (numeric) = -2.8660385166247410321791697785838
absolute error = 1.9010622317618146470e-12
relative error = 6.6330658877603192377363660800002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7119
Order of pole = 5.626
x[1] = -0.703
y[1] (analytic) = -2.8782865279378420899305255604119
y[1] (numeric) = -2.8782865279397662813866092652154
absolute error = 1.9241914560837048035e-12
relative error = 6.6851977292972918206475084450001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7109
Order of pole = 5.626
x[1] = -0.702
y[1] (analytic) = -2.890604427929611978442750920247
y[1] (numeric) = -2.8906044279315595970039368307474
absolute error = 1.9476185611859105004e-12
relative error = 6.7377554063351632964386336320001e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7099
Order of pole = 5.626
x[1] = -0.701
y[1] (analytic) = -2.9029927158019685315531547212295
y[1] (numeric) = -2.9029927158039398793689929591333
absolute error = 1.9713478158382379038e-12
relative error = 6.7907432392355888685982188380000e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7089
Order of pole = 5.626
memory used=57.2MB, alloc=4.5MB, time=3.98
x[1] = -0.7
y[1] (analytic) = -2.9154518950437317784256559766763
y[1] (numeric) = -2.9154518950457271619818537475181
absolute error = 1.9953835561977708418e-12
relative error = 6.8441655977583539873740000000002e-11 %
h = 0.001
TOP MAIN SOLVE Loop
Real estimate of pole used
Radius of convergence = 0.7079
Order of pole = 5.626
x[1] = -0.699
y[1] (analytic) = -2.9279824734716955550347845928237
y[1] (numeric) = -2.9279824734737152852217556205629
absolute error = 2.0197301869710277392e-12
relative error = 6.8980269016987755595620058080004e-11 %
h = 0.001
Finished!
diff ( y , x , 1 ) = m1 * 3.0 / x / 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=57.4MB, alloc=4.5MB, time=4.00