(%i1) batch(diffeq.max)
read and interpret file: /home/dennis/mastersource/mine/omnisode/diffeq.max
(%i2) load(stringproc)
(%o2) /usr/share/maxima/5.27.0/share/stringproc/stringproc.mac
(%i3) display_poles() := block([rad_given],
if glob_type_given_pole = 4 then (rad_given :
sqrt(expt(array_given_rad_poles , 2.0)
1, 2
+ expt(array_x - array_given_rad_poles , 2.0)),
1 1, 1
omniout_float(ALWAYS, "Radius of convergence (given) for eq 1 ", 4,
rad_given, 4, " "), omniout_float(ALWAYS,
"Order of pole (given) ", 4,
array_given_ord_poles , 4, " ")) elseif glob_type_given_pole = 3
1, 1
then omniout_str(ALWAYS, "NO POLE (given) for Equation 1")
else omniout_str(ALWAYS, "NO INFO (given) for Equation 1"),
if array_poles # glob_large_float then (omniout_float(ALWAYS,
1, 1
"Radius of convergence (ratio test) for eq 1 ", 4, array_poles , 4,
1, 1
" "), omniout_str(ALWAYS,
"Order of pole (ratio test) Not computed"))
else omniout_str(ALWAYS, "NO POLE (ratio test) for Equation 1"),
if (array_real_poles > 0.0) and (array_real_poles # glob_large_float)
1, 1 1, 1
then (omniout_float(ALWAYS,
"Radius of convergence (three term test) for eq 1 ", 4, array_real_poles ,
1, 1
4, " "), omniout_float(ALWAYS,
"Order of pole (three term test) ", 4, array_real_poles ,
1, 2
4, " ")) else omniout_str(ALWAYS,
"NO REAL POLE (three term test) for Equation 1"),
if (array_complex_poles > 0.0) and (array_complex_poles #
1, 1 1, 1
glob_large_float)
then (omniout_float(ALWAYS,
"Radius of convergence (six term test) for eq 1 ", 4,
array_complex_poles , 4, " "), omniout_float(ALWAYS,
1, 1
"Order of pole (six term test) ", 4,
array_complex_poles , 4, " ")) else omniout_str(ALWAYS,
1, 2
"NO COMPLEX POLE (six term test) for Equation 1"))
(%o3) display_poles() := block([rad_given],
if glob_type_given_pole = 4 then (rad_given :
sqrt(expt(array_given_rad_poles , 2.0)
1, 2
+ expt(array_x - array_given_rad_poles , 2.0)),
1 1, 1
omniout_float(ALWAYS, "Radius of convergence (given) for eq 1 ", 4,
rad_given, 4, " "), omniout_float(ALWAYS,
"Order of pole (given) ", 4,
array_given_ord_poles , 4, " ")) elseif glob_type_given_pole = 3
1, 1
then omniout_str(ALWAYS, "NO POLE (given) for Equation 1")
else omniout_str(ALWAYS, "NO INFO (given) for Equation 1"),
if array_poles # glob_large_float then (omniout_float(ALWAYS,
1, 1
"Radius of convergence (ratio test) for eq 1 ", 4, array_poles , 4,
1, 1
" "), omniout_str(ALWAYS,
"Order of pole (ratio test) Not computed"))
else omniout_str(ALWAYS, "NO POLE (ratio test) for Equation 1"),
if (array_real_poles > 0.0) and (array_real_poles # glob_large_float)
1, 1 1, 1
then (omniout_float(ALWAYS,
"Radius of convergence (three term test) for eq 1 ", 4, array_real_poles ,
1, 1
4, " "), omniout_float(ALWAYS,
"Order of pole (three term test) ", 4, array_real_poles ,
1, 2
4, " ")) else omniout_str(ALWAYS,
"NO REAL POLE (three term test) for Equation 1"),
if (array_complex_poles > 0.0) and (array_complex_poles #
1, 1 1, 1
glob_large_float)
then (omniout_float(ALWAYS,
"Radius of convergence (six term test) for eq 1 ", 4,
array_complex_poles , 4, " "), omniout_float(ALWAYS,
1, 1
"Order of pole (six term test) ", 4,
array_complex_poles , 4, " ")) else omniout_str(ALWAYS,
1, 2
"NO COMPLEX POLE (six term test) for Equation 1"))
(%i4) check_sign(x0, xf) := block([ret],
if xf > x0 then ret : 1.0 else ret : - 1.0, ret)
(%o4) check_sign(x0, xf) := block([ret],
if xf > x0 then ret : 1.0 else ret : - 1.0, ret)
(%i5) est_size_answer() := block([min_size], min_size : glob_large_float,
if omniabs(array_y ) < min_size then (min_size : omniabs(array_y ),
1 1
omniout_float(ALWAYS, "min_size", 32, min_size, 32, "")),
if min_size < 1.0 then (min_size : 1.0,
omniout_float(ALWAYS, "min_size", 32, min_size, 32, "")), min_size)
(%o5) est_size_answer() := block([min_size], min_size : glob_large_float,
if omniabs(array_y ) < min_size then (min_size : omniabs(array_y ),
1 1
omniout_float(ALWAYS, "min_size", 32, min_size, 32, "")),
if min_size < 1.0 then (min_size : 1.0,
omniout_float(ALWAYS, "min_size", 32, min_size, 32, "")), min_size)
(%i6) test_suggested_h() := block([max_estimated_step_error, hn_div_ho,
hn_div_ho_2, hn_div_ho_3, no_terms, est_tmp], max_estimated_step_error : 0.0,
no_terms : glob_max_terms, hn_div_ho : 0.5, hn_div_ho_2 : 0.25,
hn_div_ho_3 : 0.125, omniout_float(ALWAYS, "hn_div_ho", 32, hn_div_ho, 32,
""), omniout_float(ALWAYS, "hn_div_ho_2", 32, hn_div_ho_2, 32, ""),
omniout_float(ALWAYS, "hn_div_ho_3", 32, hn_div_ho_3, 32, ""),
est_tmp : omniabs(array_y hn_div_ho_3 + array_y hn_div_ho_2
no_terms no_terms - 1
+ array_y hn_div_ho + array_y ),
no_terms - 2 no_terms - 3
if est_tmp >= max_estimated_step_error then max_estimated_step_error :
est_tmp, omniout_float(ALWAYS, "max_estimated_step_error", 32,
max_estimated_step_error, 32, ""), max_estimated_step_error)
(%o6) test_suggested_h() := block([max_estimated_step_error, hn_div_ho,
hn_div_ho_2, hn_div_ho_3, no_terms, est_tmp], max_estimated_step_error : 0.0,
no_terms : glob_max_terms, hn_div_ho : 0.5, hn_div_ho_2 : 0.25,
hn_div_ho_3 : 0.125, omniout_float(ALWAYS, "hn_div_ho", 32, hn_div_ho, 32,
""), omniout_float(ALWAYS, "hn_div_ho_2", 32, hn_div_ho_2, 32, ""),
omniout_float(ALWAYS, "hn_div_ho_3", 32, hn_div_ho_3, 32, ""),
est_tmp : omniabs(array_y hn_div_ho_3 + array_y hn_div_ho_2
no_terms no_terms - 1
+ array_y hn_div_ho + array_y ),
no_terms - 2 no_terms - 3
if est_tmp >= max_estimated_step_error then max_estimated_step_error :
est_tmp, omniout_float(ALWAYS, "max_estimated_step_error", 32,
max_estimated_step_error, 32, ""), max_estimated_step_error)
(%i7) reached_interval() := block([ret],
if glob_check_sign array_x >= glob_check_sign glob_next_display
1
then ret : true else ret : false, return(ret))
(%o7) reached_interval() := block([ret],
if glob_check_sign array_x >= glob_check_sign glob_next_display
1
then ret : true else ret : false, return(ret))
(%i8) display_alot(iter) := block([abserr, analytic_val_y, ind_var,
numeric_val, relerr, term_no], if reached_interval()
then (if iter >= 0 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 : omniabs(numeric_val - analytic_val_y),
omniout_float(ALWAYS, "y[1] (numeric) ", 33, numeric_val,
20, " "), if omniabs(analytic_val_y) # 0.0
abserr 100.0
then (relerr : -----------------------,
omniabs(analytic_val_y)
if relerr > 1.0E-34 then glob_good_digits : 3 - floor(log10(relerr))
else glob_good_digits : 16) else (relerr : - 1.0, glob_good_digits : - 1),
if glob_iter = 1 then array_1st_rel_error : relerr
1
else array_last_rel_error : relerr, omniout_float(ALWAYS,
1
"absolute error ", 4, abserr, 20, " "),
omniout_float(ALWAYS, "relative error ", 4, relerr, 20,
"%"), omniout_int(INFO, "Correct digits ", 32,
glob_good_digits, 4, " "), omniout_float(ALWAYS,
"h ", 4, glob_h, 20, " "))))
(%o8) display_alot(iter) := block([abserr, analytic_val_y, ind_var,
numeric_val, relerr, term_no], if reached_interval()
then (if iter >= 0 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 : omniabs(numeric_val - analytic_val_y),
omniout_float(ALWAYS, "y[1] (numeric) ", 33, numeric_val,
20, " "), if omniabs(analytic_val_y) # 0.0
abserr 100.0
then (relerr : -----------------------,
omniabs(analytic_val_y)
if relerr > 1.0E-34 then glob_good_digits : 3 - floor(log10(relerr))
else glob_good_digits : 16) else (relerr : - 1.0, glob_good_digits : - 1),
if glob_iter = 1 then array_1st_rel_error : relerr
1
else array_last_rel_error : relerr, omniout_float(ALWAYS,
1
"absolute error ", 4, abserr, 20, " "),
omniout_float(ALWAYS, "relative error ", 4, relerr, 20,
"%"), omniout_int(INFO, "Correct digits ", 32,
glob_good_digits, 4, " "), omniout_float(ALWAYS,
"h ", 4, glob_h, 20, " "))))
(%i9) adjust_for_pole(h_param) := (block([hnew, sz2, tmp], hnew : h_param,
glob_normmax : glob_small_float, if omniabs(array_y_higher ) >
1, 1
glob_small_float then (tmp : omniabs(array_y_higher ),
1, 1
if tmp < glob_normmax then glob_normmax : tmp),
if glob_look_poles and (omniabs(array_pole ) > glob_small_float)
1
array_pole
1
and (array_pole # glob_large_float) then (sz2 : -----------,
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"),
return(hnew))), 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 ), hnew : sz2), return(hnew))
1
(%o9) adjust_for_pole(h_param) := (block([hnew, sz2, tmp], hnew : h_param,
glob_normmax : glob_small_float, if omniabs(array_y_higher ) >
1, 1
glob_small_float then (tmp : omniabs(array_y_higher ),
1, 1
if tmp < glob_normmax then glob_normmax : tmp),
if glob_look_poles and (omniabs(array_pole ) > glob_small_float)
1
array_pole
1
and (array_pole # glob_large_float) then (sz2 : -----------,
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"),
return(hnew))), 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 ), hnew : sz2), return(hnew))
1
(%i10) prog_report(x_start, x_end) := block([clock_sec, opt_clock_sec,
clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec],
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(clock_sec1) + convfloat(glob_orig_start_sec)
+ convfloat(glob_max_sec), expect_sec :
comp_expect_sec(convfloat(x_end), convfloat(x_start),
convfloat(glob_h) + convfloat(array_x ),
1
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(glob_h) + convfloat(array_x ),
1
convfloat(opt_clock_sec)), glob_total_exp_sec :
total_clock_sec + glob_optimal_expect_sec,
percent_done : comp_percent(convfloat(x_end), convfloat(x_start),
convfloat(glob_h) + convfloat(array_x )), glob_percent_done : percent_done,
1
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)),
omniout_str_noeol(INFO, "Expected Total Time "),
omniout_timestr(convfloat(glob_total_exp_sec))),
omniout_str_noeol(INFO, "Time to Timeout "),
omniout_timestr(convfloat(left_sec)), omniout_float(INFO,
"Percent Done ", 33, percent_done, 4, "%"))
(%o10) prog_report(x_start, x_end) := block([clock_sec, opt_clock_sec,
clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec],
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(clock_sec1) + convfloat(glob_orig_start_sec)
+ convfloat(glob_max_sec), expect_sec :
comp_expect_sec(convfloat(x_end), convfloat(x_start),
convfloat(glob_h) + convfloat(array_x ),
1
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(glob_h) + convfloat(array_x ),
1
convfloat(opt_clock_sec)), glob_total_exp_sec :
total_clock_sec + glob_optimal_expect_sec,
percent_done : comp_percent(convfloat(x_end), convfloat(x_start),
convfloat(glob_h) + convfloat(array_x )), glob_percent_done : percent_done,
1
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)),
omniout_str_noeol(INFO, "Expected Total Time "),
omniout_timestr(convfloat(glob_total_exp_sec))),
omniout_str_noeol(INFO, "Time to Timeout "),
omniout_timestr(convfloat(left_sec)), omniout_float(INFO,
"Percent Done ", 33, percent_done, 4, "%"))
(%i11) check_for_pole() := block([cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1,
nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found_sing, h_new, ratio,
term, local_test, tmp_rad, tmp_ratio, prev_tmp_rad],
array_pole : glob_large_float, array_pole : glob_large_float,
1 2
tmp_rad : glob_large_float, prev_tmp_rad : glob_large_float,
tmp_ratio : glob_large_float, rad_c : glob_large_float,
array_poles : glob_large_float, array_poles : glob_large_float,
1, 1 1, 2
found_sing : 1, n : - 10 - 1 + glob_max_terms, cnt : 0,
while (cnt < 5) and (found_sing = 1) do (if (omniabs(array_y_higher ) =
1, n
0.0) or (omniabs(array_y_higher ) = 0.0) then found_sing : 0
1, 1 + n
array_y_higher glob_h
1, n tmp_rad
else (tmp_rad : omniabs(-------------------------), tmp_ratio : ------------,
array_y_higher prev_tmp_rad
1, 1 + n
if (cnt > 0) and (tmp_ratio < 2.0) and (tmp_ratio > 0.5)
then (if tmp_rad < rad_c then rad_c : tmp_rad) elseif cnt = 0
then (if tmp_rad < rad_c then rad_c : tmp_rad) elseif cnt > 0
then found_sing : 0), prev_tmp_rad : tmp_rad, cnt : 1 + cnt, n : 1 + n),
if found_sing = 1 then (if rad_c < array_pole
1
then (array_pole : rad_c, array_poles : rad_c)), n : glob_max_terms,
1 1, 1
m : - 1 - 1 + n, while (m >= 10) and ((omniabs(array_y_higher ) = 0.0)
1, m
or (omniabs(array_y_higher ) = 0.0)
1, m - 1
or (omniabs(array_y_higher ) = 0.0)) do m : m - 1,
1, m - 2
array_y_higher array_y_higher
1, m 1, m - 1
if m > 10 then (rm0 : ----------------------, rm1 : ----------------------,
array_y_higher array_y_higher
1, m - 1 1, m - 2
hdrc : convfloat(m) rm0 - convfloat(m - 1) rm1,
glob_h
if omniabs(hdrc) > 0.0 then (rcs : ------,
hdrc
rm1 convfloat((m - 2) (m - 2)) - rm0 convfloat(m - 3)
ord_no : -----------------------------------------------------,
hdrc
array_real_poles : rcs, array_real_poles : ord_no)
1, 1 1, 2
else (array_real_poles : glob_large_float,
1, 1
array_real_poles : glob_large_float))
1, 2
else (array_real_poles : glob_large_float,
1, 1
array_real_poles : glob_large_float), n : - 1 - 1 + glob_max_terms,
1, 2
cnt : 0, while (cnt < 5) and (n >= 10) do (if omniabs(array_y_higher ) #
1, n
0.0 then cnt : 1 + cnt else cnt : 0, n : n - 1), m : cnt + n,
if m <= 10 then (rad_c : glob_large_float, ord_no : glob_large_float)
array_y_higher array_y_higher
1, m 1, m - 1
else (rm0 : ----------------------, rm1 : ----------------------,
array_y_higher array_y_higher
1, m - 1 1, m - 2
array_y_higher array_y_higher
1, m - 2 1, m - 3
rm2 : ----------------------, rm3 : ----------------------,
array_y_higher array_y_higher
1, m - 3 1, m - 4
array_y_higher
1, m - 4
rm4 : ----------------------, nr1 : convfloat(m - 3) rm2
array_y_higher
1, m - 5
- 2.0 convfloat(m - 2) rm1 + convfloat(m - 1) rm0,
nr2 : convfloat(m - 4) rm3 - 2.0 convfloat(m - 3) rm2 + convfloat(m - 2) rm1,
- 1.0 2.0 - 1.0 - 1.0 2.0 - 1.0 5.0 8.0 3.0
dr1 : ----- + --- + -----, dr2 : ----- + --- + -----, ds1 : --- - --- + ---,
rm3 rm2 rm1 rm4 rm3 rm2 rm3 rm2 rm1
5.0 8.0 3.0
ds2 : --- - --- + ---, if (omniabs(nr1 dr2 - nr2 dr1) = 0.0)
rm4 rm3 rm2
or (omniabs(dr1) = 0.0) then (rad_c : glob_large_float,
ord_no : glob_large_float) else (if omniabs(nr1 dr2 - nr2 dr1) # 0.0
dr1 dr2 - ds2 dr1 + ds1 dr2
then (rcs : ---------------------------,
nr1 dr2 - nr2 dr1
rcs nr1 - ds1 convfloat(m)
ord_no : ------------- - ------------,
2.0 dr1 2.0
if omniabs(rcs) # 0.0 then (if rcs > 0.0 then rad_c : sqrt(rcs) omniabs(glob_h)
else rad_c : glob_large_float) else (rad_c : glob_large_float,
ord_no : glob_large_float)) else (rad_c : glob_large_float,
ord_no : glob_large_float)), array_complex_poles : rad_c,
1, 1
array_complex_poles : ord_no), if array_pole glob_ratio_of_radius <
1, 2 1
omniabs(glob_h) then (h_new : array_pole glob_ratio_of_radius, term : 1,
1
ratio : 1.0, while term <= glob_max_terms do (array_y :
term
array_y ratio, array_y_higher : array_y_higher ratio,
term 1, term 1, term
ratio h_new
array_x : array_x ratio, ratio : ---------------, term : 1 + term),
term term omniabs(glob_h)
glob_h : h_new), if reached_interval() then display_poles())
(%o11) check_for_pole() := block([cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1,
nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found_sing, h_new, ratio,
term, local_test, tmp_rad, tmp_ratio, prev_tmp_rad],
array_pole : glob_large_float, array_pole : glob_large_float,
1 2
tmp_rad : glob_large_float, prev_tmp_rad : glob_large_float,
tmp_ratio : glob_large_float, rad_c : glob_large_float,
array_poles : glob_large_float, array_poles : glob_large_float,
1, 1 1, 2
found_sing : 1, n : - 10 - 1 + glob_max_terms, cnt : 0,
while (cnt < 5) and (found_sing = 1) do (if (omniabs(array_y_higher ) =
1, n
0.0) or (omniabs(array_y_higher ) = 0.0) then found_sing : 0
1, 1 + n
array_y_higher glob_h
1, n tmp_rad
else (tmp_rad : omniabs(-------------------------), tmp_ratio : ------------,
array_y_higher prev_tmp_rad
1, 1 + n
if (cnt > 0) and (tmp_ratio < 2.0) and (tmp_ratio > 0.5)
then (if tmp_rad < rad_c then rad_c : tmp_rad) elseif cnt = 0
then (if tmp_rad < rad_c then rad_c : tmp_rad) elseif cnt > 0
then found_sing : 0), prev_tmp_rad : tmp_rad, cnt : 1 + cnt, n : 1 + n),
if found_sing = 1 then (if rad_c < array_pole
1
then (array_pole : rad_c, array_poles : rad_c)), n : glob_max_terms,
1 1, 1
m : - 1 - 1 + n, while (m >= 10) and ((omniabs(array_y_higher ) = 0.0)
1, m
or (omniabs(array_y_higher ) = 0.0)
1, m - 1
or (omniabs(array_y_higher ) = 0.0)) do m : m - 1,
1, m - 2
array_y_higher array_y_higher
1, m 1, m - 1
if m > 10 then (rm0 : ----------------------, rm1 : ----------------------,
array_y_higher array_y_higher
1, m - 1 1, m - 2
hdrc : convfloat(m) rm0 - convfloat(m - 1) rm1,
glob_h
if omniabs(hdrc) > 0.0 then (rcs : ------,
hdrc
rm1 convfloat((m - 2) (m - 2)) - rm0 convfloat(m - 3)
ord_no : -----------------------------------------------------,
hdrc
array_real_poles : rcs, array_real_poles : ord_no)
1, 1 1, 2
else (array_real_poles : glob_large_float,
1, 1
array_real_poles : glob_large_float))
1, 2
else (array_real_poles : glob_large_float,
1, 1
array_real_poles : glob_large_float), n : - 1 - 1 + glob_max_terms,
1, 2
cnt : 0, while (cnt < 5) and (n >= 10) do (if omniabs(array_y_higher ) #
1, n
0.0 then cnt : 1 + cnt else cnt : 0, n : n - 1), m : cnt + n,
if m <= 10 then (rad_c : glob_large_float, ord_no : glob_large_float)
array_y_higher array_y_higher
1, m 1, m - 1
else (rm0 : ----------------------, rm1 : ----------------------,
array_y_higher array_y_higher
1, m - 1 1, m - 2
array_y_higher array_y_higher
1, m - 2 1, m - 3
rm2 : ----------------------, rm3 : ----------------------,
array_y_higher array_y_higher
1, m - 3 1, m - 4
array_y_higher
1, m - 4
rm4 : ----------------------, nr1 : convfloat(m - 3) rm2
array_y_higher
1, m - 5
- 2.0 convfloat(m - 2) rm1 + convfloat(m - 1) rm0,
nr2 : convfloat(m - 4) rm3 - 2.0 convfloat(m - 3) rm2 + convfloat(m - 2) rm1,
- 1.0 2.0 - 1.0 - 1.0 2.0 - 1.0 5.0 8.0 3.0
dr1 : ----- + --- + -----, dr2 : ----- + --- + -----, ds1 : --- - --- + ---,
rm3 rm2 rm1 rm4 rm3 rm2 rm3 rm2 rm1
5.0 8.0 3.0
ds2 : --- - --- + ---, if (omniabs(nr1 dr2 - nr2 dr1) = 0.0)
rm4 rm3 rm2
or (omniabs(dr1) = 0.0) then (rad_c : glob_large_float,
ord_no : glob_large_float) else (if omniabs(nr1 dr2 - nr2 dr1) # 0.0
dr1 dr2 - ds2 dr1 + ds1 dr2
then (rcs : ---------------------------,
nr1 dr2 - nr2 dr1
rcs nr1 - ds1 convfloat(m)
ord_no : ------------- - ------------,
2.0 dr1 2.0
if omniabs(rcs) # 0.0 then (if rcs > 0.0 then rad_c : sqrt(rcs) omniabs(glob_h)
else rad_c : glob_large_float) else (rad_c : glob_large_float,
ord_no : glob_large_float)) else (rad_c : glob_large_float,
ord_no : glob_large_float)), array_complex_poles : rad_c,
1, 1
array_complex_poles : ord_no), if array_pole glob_ratio_of_radius <
1, 2 1
omniabs(glob_h) then (h_new : array_pole glob_ratio_of_radius, term : 1,
1
ratio : 1.0, while term <= glob_max_terms do (array_y :
term
array_y ratio, array_y_higher : array_y_higher ratio,
term 1, term 1, term
ratio h_new
array_x : array_x ratio, ratio : ---------------, term : 1 + term),
term term omniabs(glob_h)
glob_h : h_new), if reached_interval() then display_poles())
(%i12) get_norms() := block([iii], if not glob_initial_pass
then (iii : 1, while iii <= glob_max_terms do (array_norms : 0.0,
iii
iii : 1 + iii), iii : 1, while iii <=
glob_max_terms do (if omniabs(array_y ) > array_norms
iii iii
then array_norms : omniabs(array_y ), iii : 1 + iii)))
iii iii
(%o12) get_norms() := block([iii], if not glob_initial_pass
then (iii : 1, while iii <= glob_max_terms do (array_norms : 0.0,
iii
iii : 1 + iii), iii : 1, while iii <=
glob_max_terms do (if omniabs(array_y ) > array_norms
iii iii
then array_norms : omniabs(array_y ), iii : 1 + iii)))
iii iii
(%i13) atomall() := block([kkk, order_d, adj2, adj3, temporary, term, temp,
temp2], array_tmp1 : array_m1 array_const_2D0 ,
1 1 1
array_tmp1
1
array_tmp2 : array_x - array_const_6D0 , array_tmp3 : -----------,
1 1 1 1 array_tmp2
1
array_tmp3
1
array_tmp4 : array_x - array_const_6D0 , array_tmp5 : -----------,
1 1 1 1 array_tmp4
1
array_tmp5
1
array_tmp6 : array_x - array_const_6D0 , array_tmp7 : -----------,
1 1 1 1 array_tmp6
1
array_tmp8 : array_tmp7 + array_const_0D0 ,
1 1 1
if not array_y_set_initial then (if 1 <= glob_max_terms
1, 2
then (temporary : array_tmp8 expt(glob_h, 1) factorial_3(0, 1),
1
array_y : temporary, array_y_higher : temporary,
2 1, 2
temporary 1.0
temporary : -------------, array_y_higher : temporary, 0)), kkk : 2,
glob_h 2, 1
array_tmp1 : array_m1 array_const_2D0 , array_tmp2 : array_x ,
2 2 1 2 2
array_tmp1 - array_tmp3 array_tmp2
2 1 2
array_tmp3 : -------------------------------------, array_tmp4 : array_x ,
2 array_tmp2 2 2
1
array_tmp3 - array_tmp5 array_tmp4
2 1 2
array_tmp5 : -------------------------------------, array_tmp6 : array_x ,
2 array_tmp4 2 2
1
array_tmp5 - array_tmp7 array_tmp6
2 1 2
array_tmp7 : -------------------------------------,
2 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
2 2 1, 3
then (if 2 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(1, 2), array_y : temporary,
2 3
temporary 2.0
array_y_higher : temporary, temporary : -------------,
1, 3 glob_h
array_y_higher : temporary, 0)), kkk : 3,
2, 2
array_tmp1 : array_m1 array_const_2D0 ,
3 3 1
array_tmp1 - array_tmp3 array_tmp2
3 2 2
array_tmp3 : -------------------------------------,
3 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
3 2 2
array_tmp5 : -------------------------------------,
3 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
3 2 2
array_tmp7 : -------------------------------------,
3 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
3 3 1, 4
then (if 3 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(2, 3), array_y : temporary,
3 4
temporary 3.0
array_y_higher : temporary, temporary : -------------,
1, 4 glob_h
array_y_higher : temporary, 0)), kkk : 4,
2, 3
array_tmp1 : array_m1 array_const_2D0 ,
4 4 1
array_tmp1 - array_tmp3 array_tmp2
4 3 2
array_tmp3 : -------------------------------------,
4 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
4 3 2
array_tmp5 : -------------------------------------,
4 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
4 3 2
array_tmp7 : -------------------------------------,
4 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
4 4 1, 5
then (if 4 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(3, 4), array_y : temporary,
4 5
temporary 4.0
array_y_higher : temporary, temporary : -------------,
1, 5 glob_h
array_y_higher : temporary, 0)), kkk : 5,
2, 4
array_tmp1 : array_m1 array_const_2D0 ,
5 5 1
array_tmp1 - array_tmp3 array_tmp2
5 4 2
array_tmp3 : -------------------------------------,
5 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
5 4 2
array_tmp5 : -------------------------------------,
5 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
5 4 2
array_tmp7 : -------------------------------------,
5 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
5 5 1, 6
then (if 5 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(4, 5), array_y : temporary,
5 6
temporary 5.0
array_y_higher : temporary, temporary : -------------,
1, 6 glob_h
array_y_higher : temporary, 0)), kkk : 6,
2, 5
while kkk <= glob_max_terms do (array_tmp1 : array_m1 array_const_2D0 ,
kkk kkk 1
- ats(kkk, array_tmp2, array_tmp3, 2)
array_tmp3 : -------------------------------------,
kkk array_tmp2
1
- ats(kkk, array_tmp4, array_tmp5, 2)
array_tmp5 : -------------------------------------,
kkk array_tmp4
1
- ats(kkk, array_tmp6, array_tmp7, 2)
array_tmp7 : -------------------------------------,
kkk array_tmp6
1
array_tmp8 : array_tmp7 , order_d : 1,
kkk kkk
if order_d + kkk < glob_max_terms then (if not subscript(array_y_set_initial,
1, order_d + kkk) then (temporary : array_tmp8 expt(glob_h, order_d)
kkk
factorial_3(kkk - 1, - 1 + order_d + kkk), array_y : temporary,
order_d + kkk
array_y_higher : temporary, term : - 1 + order_d + kkk,
1, order_d + kkk
adj2 : - 1 + order_d + kkk, adj3 : 2, while term >=
1 do (if adj3 <= 1 + order_d then (if adj2 > 0
temporary convfp(adj2)
then temporary : ---------------------- else temporary : temporary,
glob_h
array_y_higher : temporary), term : term - 1, adj2 : adj2 - 1,
adj3, term
adj3 : 1 + adj3))), kkk : 1 + kkk))
(%o13) atomall() := block([kkk, order_d, adj2, adj3, temporary, term, temp,
temp2], array_tmp1 : array_m1 array_const_2D0 ,
1 1 1
array_tmp1
1
array_tmp2 : array_x - array_const_6D0 , array_tmp3 : -----------,
1 1 1 1 array_tmp2
1
array_tmp3
1
array_tmp4 : array_x - array_const_6D0 , array_tmp5 : -----------,
1 1 1 1 array_tmp4
1
array_tmp5
1
array_tmp6 : array_x - array_const_6D0 , array_tmp7 : -----------,
1 1 1 1 array_tmp6
1
array_tmp8 : array_tmp7 + array_const_0D0 ,
1 1 1
if not array_y_set_initial then (if 1 <= glob_max_terms
1, 2
then (temporary : array_tmp8 expt(glob_h, 1) factorial_3(0, 1),
1
array_y : temporary, array_y_higher : temporary,
2 1, 2
temporary 1.0
temporary : -------------, array_y_higher : temporary, 0)), kkk : 2,
glob_h 2, 1
array_tmp1 : array_m1 array_const_2D0 , array_tmp2 : array_x ,
2 2 1 2 2
array_tmp1 - array_tmp3 array_tmp2
2 1 2
array_tmp3 : -------------------------------------, array_tmp4 : array_x ,
2 array_tmp2 2 2
1
array_tmp3 - array_tmp5 array_tmp4
2 1 2
array_tmp5 : -------------------------------------, array_tmp6 : array_x ,
2 array_tmp4 2 2
1
array_tmp5 - array_tmp7 array_tmp6
2 1 2
array_tmp7 : -------------------------------------,
2 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
2 2 1, 3
then (if 2 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(1, 2), array_y : temporary,
2 3
temporary 2.0
array_y_higher : temporary, temporary : -------------,
1, 3 glob_h
array_y_higher : temporary, 0)), kkk : 3,
2, 2
array_tmp1 : array_m1 array_const_2D0 ,
3 3 1
array_tmp1 - array_tmp3 array_tmp2
3 2 2
array_tmp3 : -------------------------------------,
3 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
3 2 2
array_tmp5 : -------------------------------------,
3 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
3 2 2
array_tmp7 : -------------------------------------,
3 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
3 3 1, 4
then (if 3 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(2, 3), array_y : temporary,
3 4
temporary 3.0
array_y_higher : temporary, temporary : -------------,
1, 4 glob_h
array_y_higher : temporary, 0)), kkk : 4,
2, 3
array_tmp1 : array_m1 array_const_2D0 ,
4 4 1
array_tmp1 - array_tmp3 array_tmp2
4 3 2
array_tmp3 : -------------------------------------,
4 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
4 3 2
array_tmp5 : -------------------------------------,
4 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
4 3 2
array_tmp7 : -------------------------------------,
4 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
4 4 1, 5
then (if 4 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(3, 4), array_y : temporary,
4 5
temporary 4.0
array_y_higher : temporary, temporary : -------------,
1, 5 glob_h
array_y_higher : temporary, 0)), kkk : 5,
2, 4
array_tmp1 : array_m1 array_const_2D0 ,
5 5 1
array_tmp1 - array_tmp3 array_tmp2
5 4 2
array_tmp3 : -------------------------------------,
5 array_tmp2
1
array_tmp3 - array_tmp5 array_tmp4
5 4 2
array_tmp5 : -------------------------------------,
5 array_tmp4
1
array_tmp5 - array_tmp7 array_tmp6
5 4 2
array_tmp7 : -------------------------------------,
5 array_tmp6
1
array_tmp8 : array_tmp7 , if not array_y_set_initial
5 5 1, 6
then (if 5 <= glob_max_terms then (temporary :
array_tmp8 expt(glob_h, 1) factorial_3(4, 5), array_y : temporary,
5 6
temporary 5.0
array_y_higher : temporary, temporary : -------------,
1, 6 glob_h
array_y_higher : temporary, 0)), kkk : 6,
2, 5
while kkk <= glob_max_terms do (array_tmp1 : array_m1 array_const_2D0 ,
kkk kkk 1
- ats(kkk, array_tmp2, array_tmp3, 2)
array_tmp3 : -------------------------------------,
kkk array_tmp2
1
- ats(kkk, array_tmp4, array_tmp5, 2)
array_tmp5 : -------------------------------------,
kkk array_tmp4
1
- ats(kkk, array_tmp6, array_tmp7, 2)
array_tmp7 : -------------------------------------,
kkk array_tmp6
1
array_tmp8 : array_tmp7 , order_d : 1,
kkk kkk
if order_d + kkk < glob_max_terms then (if not subscript(array_y_set_initial,
1, order_d + kkk) then (temporary : array_tmp8 expt(glob_h, order_d)
kkk
factorial_3(kkk - 1, - 1 + order_d + kkk), array_y : temporary,
order_d + kkk
array_y_higher : temporary, term : - 1 + order_d + kkk,
1, order_d + kkk
adj2 : - 1 + order_d + kkk, adj3 : 2, while term >=
1 do (if adj3 <= 1 + order_d then (if adj2 > 0
temporary convfp(adj2)
then temporary : ---------------------- else temporary : temporary,
glob_h
array_y_higher : temporary), term : term - 1, adj2 : adj2 - 1,
adj3, term
adj3 : 1 + adj3))), kkk : 1 + kkk))
log(x)
(%i14) log10(x) := ---------
log(10.0)
log(x)
(%o14) log10(x) := ---------
log(10.0)
(%i15) omniout_str(iolevel, str) := if glob_iolevel >= iolevel
then printf(true, "~a~%", string(str))
(%o15) omniout_str(iolevel, str) := if glob_iolevel >= iolevel
then printf(true, "~a~%", string(str))
(%i16) omniout_str_noeol(iolevel, str) :=
if glob_iolevel >= iolevel then printf(true, "~a", string(str))
(%o16) omniout_str_noeol(iolevel, str) :=
if glob_iolevel >= iolevel then printf(true, "~a", string(str))
(%i17) omniout_labstr(iolevel, label, str) :=
if glob_iolevel >= iolevel then printf(true, "~a = ~a~%", string(label),
string(str))
(%o17) omniout_labstr(iolevel, label, str) :=
if glob_iolevel >= iolevel then printf(true, "~a = ~a~%", string(label),
string(str))
(%i18) omniout_float(iolevel, prelabel, prelen, value, vallen, postlabel) :=
if glob_iolevel >= iolevel then (if vallen = 4
then printf(true, "~a = ~g ~s ~%", prelabel, value, postlabel)
else printf(true, "~a = ~g ~s ~%", prelabel, value, postlabel))
(%o18) omniout_float(iolevel, prelabel, prelen, value, vallen, postlabel) :=
if glob_iolevel >= iolevel then (if vallen = 4
then printf(true, "~a = ~g ~s ~%", prelabel, value, postlabel)
else printf(true, "~a = ~g ~s ~%", prelabel, value, postlabel))
(%i19) omniout_int(iolevel, prelabel, prelen, value, vallen, postlabel) :=
if glob_iolevel >= iolevel then (printf(true, "~a = ~d ~a~%", prelabel, value,
postlabel), newline())
(%o19) omniout_int(iolevel, prelabel, prelen, value, vallen, postlabel) :=
if glob_iolevel >= iolevel then (printf(true, "~a = ~d ~a~%", prelabel, value,
postlabel), newline())
(%i20) omniout_float_arr(iolevel, prelabel, elemnt, prelen, value, vallen,
postlabel) := if glob_iolevel >= iolevel
then (sprint(prelabel, "[", elemnt, "]=", value, postlabel), newline())
(%o20) omniout_float_arr(iolevel, prelabel, elemnt, prelen, value, vallen,
postlabel) := if glob_iolevel >= iolevel
then (sprint(prelabel, "[", elemnt, "]=", value, postlabel), newline())
(%i21) dump_series(iolevel, dump_label, series_name, arr_series, numb) :=
block([i], if glob_iolevel >= iolevel then (i : 1,
while i <= numb do (sprint(dump_label, series_name, "i = ", i, "series = ",
array_series ), newline(), i : 1 + i)))
i
(%o21) dump_series(iolevel, dump_label, series_name, arr_series, numb) :=
block([i], if glob_iolevel >= iolevel then (i : 1,
while i <= numb do (sprint(dump_label, series_name, "i = ", i, "series = ",
array_series ), newline(), i : 1 + i)))
i
(%i22) dump_series_2(iolevel, dump_label, series_name2, arr_series2, numb,
subnum, arr_x) := (array_series2, numb, subnum) :=
block([i, sub, ts_term], if glob_iolevel >= iolevel
then (sub : 1, while sub <= subnum do (i : 1,
while i <= num do (sprint(dump_label, series_name, "sub = ", sub, "i = ", i,
"series2 = ", array_series2 ), i : 1 + i), sub : 1 + sub)))
sub, i
(%o22) dump_series_2(iolevel, dump_label, series_name2, arr_series2, numb,
subnum, arr_x) := (array_series2, numb, subnum) :=
block([i, sub, ts_term], if glob_iolevel >= iolevel
then (sub : 1, while sub <= subnum do (i : 1,
while i <= num do (sprint(dump_label, series_name, "sub = ", sub, "i = ", i,
"series2 = ", array_series2 ), i : 1 + i), sub : 1 + sub)))
sub, i
(%i23) cs_info(iolevel, str) := if glob_iolevel >= iolevel
then sprint(concat("cs_info ", str, " glob_correct_start_flag = ",
glob_correct_start_flag, "glob_h := ", glob_h, "glob_reached_optimal_h := ",
glob_reached_optimal_h))
(%o23) cs_info(iolevel, str) := if glob_iolevel >= iolevel
then sprint(concat("cs_info ", str, " glob_correct_start_flag = ",
glob_correct_start_flag, "glob_h := ", glob_h, "glob_reached_optimal_h := ",
glob_reached_optimal_h))
(%i24) logitem_time(fd, secs_in) := block([days, days_int, hours, hours_int,
minutes, minutes_int, sec_int, seconds, secs, years, years_int],
secs : convfloat(secs_in), printf(fd, "
~%"),
secs
if secs >= 0 then (years_int : trunc(----------------),
glob_sec_in_year
sec_temp : mod(trunc(secs), trunc(glob_sec_in_year)),
sec_temp
days_int : trunc(---------------), sec_temp :
glob_sec_in_day
sec_temp
mod(sec_temp, trunc(glob_sec_in_day)), hours_int : trunc(----------------),
glob_sec_in_hour
sec_temp : mod(sec_temp, trunc(glob_sec_in_hour)),
sec_temp
minutes_int : trunc(------------------),
glob_sec_in_minute
sec_int : mod(sec_temp, trunc(glob_sec_in_minute)),
if years_int > 0 then printf(fd,
"= ~d Years ~d Days ~d Hours ~d Minutes ~d Seconds~%", years_int, days_int,
hours_int, minutes_int, sec_int) elseif days_int > 0
then printf(fd, "= ~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,
hours_int, minutes_int, sec_int) elseif hours_int > 0
then printf(fd, "= ~d Hours ~d Minutes ~d Seconds~%", hours_int, minutes_int,
sec_int) elseif minutes_int > 0 then printf(fd, "= ~d Minutes ~d Seconds~%",
minutes_int, sec_int) else printf(fd, "= ~d Seconds~%", sec_int))
else printf(fd, " Unknown~%"), printf(fd, " | ~%"))
(%o24) logitem_time(fd, secs_in) := block([days, days_int, hours, hours_int,
minutes, minutes_int, sec_int, seconds, secs, years, years_int],
secs : convfloat(secs_in), printf(fd, "~%"),
secs
if secs >= 0 then (years_int : trunc(----------------),
glob_sec_in_year
sec_temp : mod(trunc(secs), trunc(glob_sec_in_year)),
sec_temp
days_int : trunc(---------------), sec_temp :
glob_sec_in_day
sec_temp
mod(sec_temp, trunc(glob_sec_in_day)), hours_int : trunc(----------------),
glob_sec_in_hour
sec_temp : mod(sec_temp, trunc(glob_sec_in_hour)),
sec_temp
minutes_int : trunc(------------------),
glob_sec_in_minute
sec_int : mod(sec_temp, trunc(glob_sec_in_minute)),
if years_int > 0 then printf(fd,
"= ~d Years ~d Days ~d Hours ~d Minutes ~d Seconds~%", years_int, days_int,
hours_int, minutes_int, sec_int) elseif days_int > 0
then printf(fd, "= ~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,
hours_int, minutes_int, sec_int) elseif hours_int > 0
then printf(fd, "= ~d Hours ~d Minutes ~d Seconds~%", hours_int, minutes_int,
sec_int) elseif minutes_int > 0 then printf(fd, "= ~d Minutes ~d Seconds~%",
minutes_int, sec_int) else printf(fd, "= ~d Seconds~%", sec_int))
else printf(fd, " Unknown~%"), printf(fd, " | ~%"))
(%i25) omniout_timestr(secs_in) := block([days, days_int, hours, hours_int,
minutes, minutes_int, sec_int, seconds, secs, years, years_int],
secs : convfloat(secs_in), if secs >= 0
secs
then (years_int : trunc(----------------),
glob_sec_in_year
sec_temp : mod(trunc(secs), trunc(glob_sec_in_year)),
sec_temp
days_int : trunc(---------------), sec_temp :
glob_sec_in_day
sec_temp
mod(sec_temp, trunc(glob_sec_in_day)), hours_int : trunc(----------------),
glob_sec_in_hour
sec_temp : mod(sec_temp, trunc(glob_sec_in_hour)),
sec_temp
minutes_int : trunc(------------------),
glob_sec_in_minute
sec_int : mod(sec_temp, trunc(glob_sec_in_minute)),
if years_int > 0 then printf(true,
"= ~d Years ~d Days ~d Hours ~d Minutes ~d Seconds~%", years_int, days_int,
hours_int, minutes_int, sec_int) elseif days_int > 0
then printf(true, "= ~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,
hours_int, minutes_int, sec_int) elseif hours_int > 0
then printf(true, "= ~d Hours ~d Minutes ~d Seconds~%", hours_int,
minutes_int, sec_int) elseif minutes_int > 0
then printf(true, "= ~d Minutes ~d Seconds~%", minutes_int, sec_int)
else printf(true, "= ~d Seconds~%", sec_int)) else printf(true, " Unknown~%"))
(%o25) omniout_timestr(secs_in) := block([days, days_int, hours, hours_int,
minutes, minutes_int, sec_int, seconds, secs, years, years_int],
secs : convfloat(secs_in), if secs >= 0
secs
then (years_int : trunc(----------------),
glob_sec_in_year
sec_temp : mod(trunc(secs), trunc(glob_sec_in_year)),
sec_temp
days_int : trunc(---------------), sec_temp :
glob_sec_in_day
sec_temp
mod(sec_temp, trunc(glob_sec_in_day)), hours_int : trunc(----------------),
glob_sec_in_hour
sec_temp : mod(sec_temp, trunc(glob_sec_in_hour)),
sec_temp
minutes_int : trunc(------------------),
glob_sec_in_minute
sec_int : mod(sec_temp, trunc(glob_sec_in_minute)),
if years_int > 0 then printf(true,
"= ~d Years ~d Days ~d Hours ~d Minutes ~d Seconds~%", years_int, days_int,
hours_int, minutes_int, sec_int) elseif days_int > 0
then printf(true, "= ~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,
hours_int, minutes_int, sec_int) elseif hours_int > 0
then printf(true, "= ~d Hours ~d Minutes ~d Seconds~%", hours_int,
minutes_int, sec_int) elseif minutes_int > 0
then printf(true, "= ~d Minutes ~d Seconds~%", minutes_int, sec_int)
else printf(true, "= ~d Seconds~%", sec_int)) else printf(true, " Unknown~%"))
(%i26) ats(mmm_ats, arr_a, arr_b, jjj_ats) :=
block([iii_ats, lll_ats, ma_ats, ret_ats], ret_ats : 0.0,
if jjj_ats <= mmm_ats then (ma_ats : 1 + mmm_ats, iii_ats : jjj_ats,
while iii_ats <= mmm_ats do (lll_ats : ma_ats - iii_ats,
ret_ats : arr_a arr_b + ret_ats, iii_ats : 1 + iii_ats)),
iii_ats lll_ats
ret_ats)
(%o26) ats(mmm_ats, arr_a, arr_b, jjj_ats) :=
block([iii_ats, lll_ats, ma_ats, ret_ats], ret_ats : 0.0,
if jjj_ats <= mmm_ats then (ma_ats : 1 + mmm_ats, iii_ats : jjj_ats,
while iii_ats <= mmm_ats do (lll_ats : ma_ats - iii_ats,
ret_ats : arr_a arr_b + ret_ats, iii_ats : 1 + iii_ats)),
iii_ats lll_ats
ret_ats)
(%i27) att(mmm_att, arr_aa, arr_bb, jjj_att) :=
block([al_att, iii_att, lll_att, ma_att, ret_att], ret_att : 0.0,
if jjj_att <= mmm_att then (ma_att : 2 + mmm_att, 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 : arr_aa arr_bb convfp(al_att) + ret_att,
iii_att lll_att
ret_att
iii_att : 1 + iii_att), ret_att : ---------------), ret_att)
convfp(mmm_att)
(%o27) att(mmm_att, arr_aa, arr_bb, jjj_att) :=
block([al_att, iii_att, lll_att, ma_att, ret_att], ret_att : 0.0,
if jjj_att <= mmm_att then (ma_att : 2 + mmm_att, 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 : arr_aa arr_bb convfp(al_att) + ret_att,
iii_att lll_att
ret_att
iii_att : 1 + iii_att), ret_att : ---------------), ret_att)
convfp(mmm_att)
(%i28) display_pole_debug(typ, m, radius, order2) :=
(if typ = 1 then omniout_str(ALWAYS, "Real")
else omniout_str(ALWAYS, "Complex"), omniout_int(ALWAYS, "m", 4, m, 4, " "),
omniout_float(ALWAYS, "DBG Radius of convergence ", 4, radius, 4, " "),
omniout_float(ALWAYS, "DBG Order of pole ", 4, order2, 4, " "))
(%o28) display_pole_debug(typ, m, radius, order2) :=
(if typ = 1 then omniout_str(ALWAYS, "Real")
else omniout_str(ALWAYS, "Complex"), omniout_int(ALWAYS, "m", 4, m, 4, " "),
omniout_float(ALWAYS, "DBG Radius of convergence ", 4, radius, 4, " "),
omniout_float(ALWAYS, "DBG Order of pole ", 4, order2, 4, " "))
(%i29) logditto(file) := (printf(file, ""), printf(file, "ditto"),
printf(file, " | "))
(%o29) logditto(file) := (printf(file, ""), printf(file, "ditto"),
printf(file, " | "))
(%i30) logitem_integer(file, n) := (printf(file, ""),
printf(file, "~d", n), printf(file, " | "))
(%o30) logitem_integer(file, n) := (printf(file, ""),
printf(file, "~d", n), printf(file, " | "))
(%i31) logitem_str(file, str) := (printf(file, ""), printf(file, str),
printf(file, " | "))
(%o31) logitem_str(file, str) := (printf(file, ""), printf(file, str),
printf(file, " | "))
(%i32) logitem_good_digits(file, rel_error) :=
block([good_digits], printf(file, ""),
if rel_error # - 1.0 then (if rel_error > + 1.0E-34
then (good_digits : 1 - floor(log10(rel_error)),
printf(file, "~d", good_digits)) else (good_digits : 16,
printf(file, "~d", good_digits))) else printf(file, "Unknown"),
printf(file, " | "))
(%o32) logitem_good_digits(file, rel_error) :=
block([good_digits], printf(file, ""),
if rel_error # - 1.0 then (if rel_error > + 1.0E-34
then (good_digits : 1 - floor(log10(rel_error)),
printf(file, "~d", good_digits)) else (good_digits : 16,
printf(file, "~d", good_digits))) else printf(file, "Unknown"),
printf(file, " | "))
(%i33) log_revs(file, revs) := printf(file, revs)
(%o33) log_revs(file, revs) := printf(file, revs)
(%i34) logitem_float(file, x) := (printf(file, ""), printf(file, "~g", x),
printf(file, " | "))
(%o34) logitem_float(file, x) := (printf(file, ""), printf(file, "~g", x),
printf(file, " | "))
(%i35) logitem_pole(file, pole) := (printf(file, ""),
if pole = 0 then printf(file, "NA") elseif pole = 1 then printf(file, "Real")
elseif pole = 2 then printf(file, "Complex") elseif pole = 4
then printf(file, "Yes") else printf(file, "No"), printf(file, " | "))
(%o35) logitem_pole(file, pole) := (printf(file, ""),
if pole = 0 then printf(file, "NA") elseif pole = 1 then printf(file, "Real")
elseif pole = 2 then printf(file, "Complex") elseif pole = 4
then printf(file, "Yes") else printf(file, "No"), printf(file, " | "))
(%i36) logstart(file) := printf(file, "")
(%o36) logstart(file) := printf(file, "
")
(%i37) logend(file) := printf(file, "
~%")
(%o37) logend(file) := printf(file, "~%")
(%i38) chk_data() := block([errflag], errflag : false,
if (glob_max_terms < 15) or (glob_max_terms > 512)
then (omniout_str(ALWAYS, "Illegal max_terms = -- Using 30"),
glob_max_terms : 30), if glob_max_iter < 2
then (omniout_str(ALWAYS, "Illegal max_iter"), errflag : true),
if errflag then quit())
(%o38) chk_data() := block([errflag], errflag : false,
if (glob_max_terms < 15) or (glob_max_terms > 512)
then (omniout_str(ALWAYS, "Illegal max_terms = -- Using 30"),
glob_max_terms : 30), if glob_max_iter < 2
then (omniout_str(ALWAYS, "Illegal max_iter"), errflag : true),
if errflag then quit())
(%i39) comp_expect_sec(t_end2, t_start2, t2, clock_sec2) :=
block([ms2, rrr, sec_left, sub1, sub2], ms2 : clock_sec2,
sub1 : t_end2 - t_start2, sub2 : t2 - t_start2,
if sub1 = 0.0 then sec_left : 0.0 else (if sub2 > 0.0
sub1
then (rrr : ----, sec_left : rrr ms2 - ms2) else sec_left : 0.0), sec_left)
sub2
(%o39) comp_expect_sec(t_end2, t_start2, t2, clock_sec2) :=
block([ms2, rrr, sec_left, sub1, sub2], ms2 : clock_sec2,
sub1 : t_end2 - t_start2, sub2 : t2 - t_start2,
if sub1 = 0.0 then sec_left : 0.0 else (if sub2 > 0.0
sub1
then (rrr : ----, sec_left : rrr ms2 - ms2) else sec_left : 0.0), sec_left)
sub2
(%i40) comp_percent(t_end2, t_start2, t2) :=
block([rrr, sub1, sub2], sub1 : t_end2 - t_start2, sub2 : t2 - t_start2,
100.0 sub2
if sub2 > glob_small_float then rrr : ---------- else rrr : 0.0, rrr)
sub1
(%o40) comp_percent(t_end2, t_start2, t2) :=
block([rrr, sub1, sub2], sub1 : t_end2 - t_start2, sub2 : t2 - t_start2,
100.0 sub2
if sub2 > glob_small_float then rrr : ---------- else rrr : 0.0, rrr)
sub1
(%i41) factorial_2(nnn) := nnn!
(%o41) factorial_2(nnn) := nnn!
(%i42) factorial_1(nnn) := block([ret],
if nnn <= glob_max_terms then (if array_fact_1 = 0
nnn
then (ret : factorial_2(nnn), array_fact_1 : ret)
nnn
else ret : array_fact_1 ) else ret : factorial_2(nnn), ret)
nnn
(%o42) factorial_1(nnn) := block([ret],
if nnn <= glob_max_terms then (if array_fact_1 = 0
nnn
then (ret : factorial_2(nnn), array_fact_1 : ret)
nnn
else ret : array_fact_1 ) else ret : factorial_2(nnn), ret)
nnn
(%i43) factorial_3(mmm, nnn) := block([ret],
if (nnn <= glob_max_terms) and (mmm <= glob_max_terms)
factorial_1(mmm)
then (if array_fact_2 = 0 then (ret : ----------------,
mmm, nnn factorial_1(nnn)
array_fact_2 : ret) else ret : array_fact_2 )
mmm, nnn mmm, nnn
factorial_2(mmm)
else ret : ----------------, ret)
factorial_2(nnn)
(%o43) factorial_3(mmm, nnn) := block([ret],
if (nnn <= glob_max_terms) and (mmm <= glob_max_terms)
factorial_1(mmm)
then (if array_fact_2 = 0 then (ret : ----------------,
mmm, nnn factorial_1(nnn)
array_fact_2 : ret) else ret : array_fact_2 )
mmm, nnn mmm, nnn
factorial_2(mmm)
else ret : ----------------, ret)
factorial_2(nnn)
(%i44) convfp(mmm) := mmm
(%o44) convfp(mmm) := mmm
(%i45) convfloat(mmm) := mmm
(%o45) convfloat(mmm) := mmm
(%i46) elapsed_time_seconds() := block([t], t : elapsed_real_time(), t)
(%o46) elapsed_time_seconds() := block([t], t : elapsed_real_time(), t)
(%i47) Si(x) := 0.0
(%o47) Si(x) := 0.0
(%i48) Ci(x) := 0.0
(%o48) Ci(x) := 0.0
(%i49) ln(x) := log(x)
(%o49) ln(x) := log(x)
(%i50) arcsin(x) := asin(x)
(%o50) arcsin(x) := asin(x)
(%i51) arccos(x) := acos(x)
(%o51) arccos(x) := acos(x)
(%i52) arctan(x) := atan(x)
(%o52) arctan(x) := atan(x)
(%i53) omniabs(x) := abs(x)
(%o53) omniabs(x) := abs(x)
(%i54) expt(x, y) := (if (x <= 0.0) and (y < 0.0)
y
then print("expt error x = ", x, "y = ", y), x )
(%o54) expt(x, y) := (if (x <= 0.0) and (y < 0.0)
y
then print("expt error x = ", x, "y = ", y), x )
(%i55) estimated_needed_step_error(x_start, x_end, estimated_h,
estimated_answer) := block([desired_abs_gbl_error, range, estimated_steps,
step_error], omniout_float(ALWAYS, "glob_desired_digits_correct", 32,
glob_desired_digits_correct, 32, ""), desired_abs_gbl_error :
expt(10.0, - glob_desired_digits_correct) omniabs(estimated_answer),
omniout_float(ALWAYS, "desired_abs_gbl_error", 32, desired_abs_gbl_error, 32,
""), range : x_end - x_start, omniout_float(ALWAYS, "range", 32, range, 32,
range
""), estimated_steps : -----------, omniout_float(ALWAYS, "estimated_steps",
estimated_h
desired_abs_gbl_error
32, estimated_steps, 32, ""), step_error : omniabs(---------------------),
estimated_steps
omniout_float(ALWAYS, "step_error", 32, step_error, 32, ""), step_error)
(%o55) estimated_needed_step_error(x_start, x_end, estimated_h,
estimated_answer) := block([desired_abs_gbl_error, range, estimated_steps,
step_error], omniout_float(ALWAYS, "glob_desired_digits_correct", 32,
glob_desired_digits_correct, 32, ""), desired_abs_gbl_error :
expt(10.0, - glob_desired_digits_correct) omniabs(estimated_answer),
omniout_float(ALWAYS, "desired_abs_gbl_error", 32, desired_abs_gbl_error, 32,
""), range : x_end - x_start, omniout_float(ALWAYS, "range", 32, range, 32,
range
""), estimated_steps : -----------, omniout_float(ALWAYS, "estimated_steps",
estimated_h
desired_abs_gbl_error
32, estimated_steps, 32, ""), step_error : omniabs(---------------------),
estimated_steps
omniout_float(ALWAYS, "step_error", 32, step_error, 32, ""), step_error)
1.0
-------
x - 6.0
(%i56) exact_soln_y(x) := block(-------)
x - 6.0
1.0
-------
x - 6.0
(%o56) exact_soln_y(x) := block(-------)
x - 6.0
(%i57) main() := block([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, max_terms,
opt_iter, tmp, subiter, est_needed_step_err, estimated_step_error, min_value,
est_answer, best_h, found_h, repeat_it],
define_variable(glob_max_terms, 30, fixnum),
define_variable(glob_iolevel, 5, fixnum),
define_variable(glob_yes_pole, 4, fixnum),
define_variable(glob_no_pole, 3, fixnum),
define_variable(glob_not_given, 0, fixnum),
define_variable(ALWAYS, 1, fixnum), define_variable(INFO, 2, fixnum),
define_variable(DEBUGL, 3, fixnum), define_variable(DEBUGMASSIVE, 4, fixnum),
define_variable(MAX_UNCHANGED, 10, fixnum),
define_variable(glob_check_sign, 1.0, float),
define_variable(glob_desired_digits_correct, 8.0, float),
define_variable(glob_max_estimated_step_error, 0.0, float),
define_variable(glob_ratio_of_radius, 0.1, float),
define_variable(glob_percent_done, 0.0, float),
define_variable(glob_subiter_method, 3, fixnum),
define_variable(glob_total_exp_sec, 0.1, float),
define_variable(glob_optimal_expect_sec, 0.1, float),
define_variable(glob_html_log, true, boolean),
define_variable(glob_good_digits, 0, fixnum),
define_variable(glob_max_opt_iter, 10, fixnum),
define_variable(glob_dump, false, boolean),
define_variable(glob_djd_debug, true, boolean),
define_variable(glob_display_flag, true, boolean),
define_variable(glob_djd_debug2, true, boolean),
define_variable(glob_sec_in_minute, 60, fixnum),
define_variable(glob_min_in_hour, 60, fixnum),
define_variable(glob_hours_in_day, 24, fixnum),
define_variable(glob_days_in_year, 365, fixnum),
define_variable(glob_sec_in_hour, 3600, fixnum),
define_variable(glob_sec_in_day, 86400, fixnum),
define_variable(glob_sec_in_year, 31536000, fixnum),
define_variable(glob_almost_1, 0.999, float),
define_variable(glob_clock_sec, 0.0, float),
define_variable(glob_clock_start_sec, 0.0, float),
define_variable(glob_not_yet_finished, true, boolean),
define_variable(glob_initial_pass, true, boolean),
define_variable(glob_not_yet_start_msg, true, boolean),
define_variable(glob_reached_optimal_h, false, boolean),
define_variable(glob_optimal_done, false, boolean),
define_variable(glob_disp_incr, 0.1, float),
define_variable(glob_h, 0.1, float), define_variable(glob_max_h, 0.1, float),
define_variable(glob_min_h, 1.0E-6, float),
define_variable(glob_type_given_pole, 0, fixnum),
define_variable(glob_large_float, 9.0E+100, float),
define_variable(glob_last_good_h, 0.1, float),
define_variable(glob_look_poles, false, boolean),
define_variable(glob_neg_h, false, boolean),
define_variable(glob_display_interval, 0.0, float),
define_variable(glob_next_display, 0.0, float),
define_variable(glob_dump_analytic, false, boolean),
define_variable(glob_abserr, 1.0E-11, float),
define_variable(glob_relerr, 1.0E-11, float),
define_variable(glob_max_hours, 0.0, float),
define_variable(glob_max_iter, 1000, fixnum),
define_variable(glob_max_rel_trunc_err, 1.0E-11, float),
define_variable(glob_max_trunc_err, 1.0E-11, float),
define_variable(glob_no_eqs, 0, fixnum),
define_variable(glob_optimal_clock_start_sec, 0.0, float),
define_variable(glob_optimal_start, 0.0, float),
define_variable(glob_small_float, 0.0, float),
define_variable(glob_smallish_float, 0.0, float),
define_variable(glob_unchanged_h_cnt, 0, fixnum),
define_variable(glob_warned, false, boolean),
define_variable(glob_warned2, false, boolean),
define_variable(glob_max_sec, 10000.0, float),
define_variable(glob_orig_start_sec, 0.0, float),
define_variable(glob_start, 0, fixnum),
define_variable(glob_curr_iter_when_opt, 0, fixnum),
define_variable(glob_current_iter, 0, fixnum),
define_variable(glob_iter, 0, fixnum),
define_variable(glob_normmax, 0.0, float),
define_variable(glob_max_minutes, 0.0, float), ALWAYS : 1, INFO : 2,
DEBUGL : 3, DEBUGMASSIVE : 4, glob_iolevel : INFO,
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/sing6postode.ode#################"),
omniout_str(ALWAYS,
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
omniout_str(ALWAYS, "!"), omniout_str(ALWAYS,
"/* BEGIN FIRST INPUT BLOCK */"), omniout_str(ALWAYS, "Digits:64,"),
omniout_str(ALWAYS, "max_terms:40,"), omniout_str(ALWAYS, "!"),
omniout_str(ALWAYS, "/* END FIRST INPUT BLOCK */"),
omniout_str(ALWAYS, "/* BEGIN SECOND INPUT BLOCK */"),
omniout_str(ALWAYS, "x_start:2.0,"), omniout_str(ALWAYS, "x_end:3.0,"),
omniout_str(ALWAYS, "array_y_init[0 + 1] : exact_soln_y(x_start),"),
omniout_str(ALWAYS, "glob_look_poles:true,"),
omniout_str(ALWAYS, "glob_max_iter:100,"),
omniout_str(ALWAYS, "/* # Not Given = 0 */"),
omniout_str(ALWAYS, "/* # No Pole = 3 */"),
omniout_str(ALWAYS, "/* # Pole = 4 */"),
omniout_str(ALWAYS, "glob_type_given_pole:4,"),
omniout_str(ALWAYS, "/* # Real Part */"),
omniout_str(ALWAYS, "array_given_rad_poles[1,1]:6.0,"),
omniout_str(ALWAYS, "/* # Imag Part */"),
omniout_str(ALWAYS, "array_given_rad_poles[1,2]:0.0,"),
omniout_str(ALWAYS, "/* # Order */"), omniout_str(ALWAYS,
"array_given_ord_poles[1,1]:3.0,"), omniout_str(ALWAYS, "/* # Not Used */"),
omniout_str(ALWAYS, "array_given_ord_poles[1,2]:0.0,"),
omniout_str(ALWAYS, "/* END SECOND INPUT BLOCK */"),
omniout_str(ALWAYS, "/* BEGIN OVERRIDE BLOCK */"),
omniout_str(ALWAYS, "glob_desired_digits_correct:10,"),
omniout_str(ALWAYS, "glob_display_interval:0.01,"),
omniout_str(ALWAYS, "glob_look_poles:true,"),
omniout_str(ALWAYS, "glob_max_iter:10000000,"),
omniout_str(ALWAYS, "glob_max_minutes:3,"),
omniout_str(ALWAYS, "glob_subiter_method:3,"),
omniout_str(ALWAYS, "/* END OVERRIDE BLOCK */"), omniout_str(ALWAYS, "!"),
omniout_str(ALWAYS, "/* BEGIN USER DEF BLOCK */"),
omniout_str(ALWAYS, "exact_soln_y (x) := (block("),
omniout_str(ALWAYS, " (1.0/ ( x - 6.0 ) / ( x - 6.0 )) "),
omniout_str(ALWAYS, "));"), 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.0, glob_smallish_float : 0.0,
glob_large_float : 1.0E+100, glob_almost_1 : 0.99, Digits : 64,
max_terms : 40, glob_max_terms : max_terms, glob_html_log : true,
array(array_y_init, 1 + max_terms), array(array_norms, 1 + max_terms),
array(array_fact_1, 1 + max_terms), array(array_pole, 1 + 4),
array(array_real_pole, 1 + 4), array(array_complex_pole, 1 + 4),
array(array_1st_rel_error, 1 + 2), array(array_last_rel_error, 1 + 2),
array(array_type_pole, 1 + 2), array(array_type_real_pole, 1 + 2),
array(array_type_complex_pole, 1 + 2), array(array_y, 1 + max_terms),
array(array_x, 1 + max_terms), array(array_tmp0, 1 + max_terms),
array(array_tmp1, 1 + max_terms), array(array_tmp2, 1 + max_terms),
array(array_tmp3, 1 + max_terms), array(array_tmp4, 1 + max_terms),
array(array_tmp5, 1 + max_terms), array(array_tmp6, 1 + max_terms),
array(array_tmp7, 1 + max_terms), array(array_tmp8, 1 + max_terms),
array(array_m1, 1 + max_terms), array(array_y_higher, 1 + 2, 1 + max_terms),
array(array_y_higher_work, 1 + 2, 1 + max_terms),
array(array_y_higher_work2, 1 + 2, 1 + max_terms),
array(array_y_set_initial, 1 + 2, 1 + max_terms),
array(array_poles, 1 + 2, 1 + 3), array(array_given_rad_poles, 1 + 2, 1 + 3),
array(array_given_ord_poles, 1 + 2, 1 + 3),
array(array_real_poles, 1 + 2, 1 + 3),
array(array_complex_poles, 1 + 2, 1 + 3),
array(array_fact_2, 1 + max_terms, 1 + max_terms), term : 1,
while term <= max_terms do (array_y_init : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_norms : 0.0,
term
term : 1 + term), term : 1, while term <=
max_terms do (array_fact_1 : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_real_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_complex_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 2 do (array_1st_rel_error : 0.0, term : 1 + term),
term
term : 1, while term <= 2 do (array_last_rel_error : 0.0,
term
term : 1 + term), term : 1, while term <= 2 do (array_type_pole : 0.0,
term
term : 1 + term), term : 1, while term <=
2 do (array_type_real_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 2 do (array_type_complex_pole : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_y : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_x : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp0 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp1 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp2 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp3 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp4 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp5 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp6 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp7 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp8 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_m1 : 0.0, term : 1 + term),
term
ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_higher : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_higher_work : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <=
max_terms do (array_y_higher_work2 : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_set_initial : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <= 3 do (array_poles : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <=
3 do (array_given_rad_poles : 0.0, term : 1 + term), ord : 1 + ord),
ord, term
ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_given_ord_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_real_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_complex_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= max_terms do (term : 1,
while term <= max_terms do (array_fact_2 : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), array(array_y, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_y : 0.0, term : 1 + term),
term
array(array_x, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_x : 0.0, term : 1 + term),
term
array(array_m1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_m1 : 0.0, term : 1 + term),
term
array(array_tmp0, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp0 : 0.0, term : 1 + term),
term
array(array_tmp1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp1 : 0.0, term : 1 + term),
term
array(array_tmp2, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp2 : 0.0, term : 1 + term),
term
array(array_tmp3, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp3 : 0.0, term : 1 + term),
term
array(array_tmp4, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp4 : 0.0, term : 1 + term),
term
array(array_tmp5, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp5 : 0.0, term : 1 + term),
term
array(array_tmp6, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp6 : 0.0, term : 1 + term),
term
array(array_tmp7, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp7 : 0.0, term : 1 + term),
term
array(array_tmp8, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp8 : 0.0, term : 1 + term),
term
array(array_const_1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_const_1 : 0.0, term : 1 + term),
term
array_const_1 : 1, array(array_const_0D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_0D0 : 0.0, term : 1 + term),
term
array_const_0D0 : 0.0, array(array_const_2D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_2D0 : 0.0, term : 1 + term),
term
array_const_2D0 : 2.0, array(array_const_6D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_6D0 : 0.0, term : 1 + term),
term
array_const_6D0 : 6.0, array(array_m1, 1 + 1 + max_terms), term : 1,
1
while term <= max_terms do (array_m1 : 0.0, term : 1 + term),
term
array_m1 : - 1.0, iiif : 0, while iiif <= glob_max_terms do (jjjf : 0,
1
while jjjf <= glob_max_terms do (array_fact_1 : 0,
iiif
array_fact_2 : 0, jjjf : 1 + jjjf), iiif : 1 + iiif), x_start : 2.0,
iiif, jjjf
x_end : 3.0, array_y_init : exact_soln_y(x_start),
1 + 0
glob_look_poles : true, glob_max_iter : 100, glob_type_given_pole : 4,
array_given_rad_poles : 6.0, array_given_rad_poles : 0.0,
1, 1 1, 2
array_given_ord_poles : 3.0, array_given_ord_poles : 0.0,
1, 1 1, 2
glob_desired_digits_correct : 10, glob_display_interval : 0.01,
glob_look_poles : true, glob_max_iter : 10000000, glob_max_minutes : 3,
glob_subiter_method : 3, glob_last_good_h : glob_h,
glob_max_terms : max_terms, glob_max_sec :
convfloat(3600.0) convfloat(glob_max_hours)
+ convfloat(60.0) convfloat(glob_max_minutes),
if glob_h > 0.0 then (glob_neg_h : false,
glob_display_interval : omniabs(glob_display_interval))
else (glob_neg_h : true, glob_display_interval :
- omniabs(glob_display_interval)), chk_data(), array_y_set_initial : true,
1, 1
array_y_set_initial : false, array_y_set_initial : false,
1, 2 1, 3
array_y_set_initial : false, array_y_set_initial : false,
1, 4 1, 5
array_y_set_initial : false, array_y_set_initial : false,
1, 6 1, 7
array_y_set_initial : false, array_y_set_initial : false,
1, 8 1, 9
array_y_set_initial : false, array_y_set_initial : false,
1, 10 1, 11
array_y_set_initial : false, array_y_set_initial : false,
1, 12 1, 13
array_y_set_initial : false, array_y_set_initial : false,
1, 14 1, 15
array_y_set_initial : false, array_y_set_initial : false,
1, 16 1, 17
array_y_set_initial : false, array_y_set_initial : false,
1, 18 1, 19
array_y_set_initial : false, array_y_set_initial : false,
1, 20 1, 21
array_y_set_initial : false, array_y_set_initial : false,
1, 22 1, 23
array_y_set_initial : false, array_y_set_initial : false,
1, 24 1, 25
array_y_set_initial : false, array_y_set_initial : false,
1, 26 1, 27
array_y_set_initial : false, array_y_set_initial : false,
1, 28 1, 29
array_y_set_initial : false, array_y_set_initial : false,
1, 30 1, 31
array_y_set_initial : false, array_y_set_initial : false,
1, 32 1, 33
array_y_set_initial : false, array_y_set_initial : false,
1, 34 1, 35
array_y_set_initial : false, array_y_set_initial : false,
1, 36 1, 37
array_y_set_initial : false, array_y_set_initial : false,
1, 38 1, 39
array_y_set_initial : false, omniout_str(ALWAYS, "START of Optimize"),
1, 40
glob_check_sign : check_sign(x_start, x_end),
glob_h : check_sign(x_start, x_end), found_h : false, glob_h : glob_min_h,
if glob_max_h < glob_h then glob_h : glob_max_h,
if glob_display_interval < glob_h then glob_h : glob_display_interval,
best_h : glob_h, min_value : glob_large_float, est_answer : est_size_answer(),
opt_iter : 1, est_needed_step_err : estimated_needed_step_error(x_start,
x_end, glob_h, est_answer), omniout_float(ALWAYS, "est_needed_step_err", 32,
est_needed_step_err, 16, ""), estimated_step_error : 0.0,
while (opt_iter <= 100) and (not found_h) do (omniout_int(ALWAYS, "opt_iter",
32, opt_iter, 4, ""), array_x : x_start, array_x : glob_h,
1 2
glob_next_display : x_start, order_diff : 1, term_no : 1,
while term_no <= order_diff do (array_y :
term_no
array_y_init expt(glob_h, term_no - 1)
term_no
---------------------------------------------, term_no : 1 + term_no),
factorial_1(term_no - 1)
rows : order_diff, r_order : 1, while r_order <= rows do (term_no : 1,
while term_no <= 1 - r_order + rows do (it : - 1 + r_order + term_no,
array_y_init expt(glob_h, term_no - 1)
it
array_y_higher : ----------------------------------------,
r_order, term_no factorial_1(term_no - 1)
term_no : 1 + term_no), r_order : 1 + r_order), atomall(),
estimated_step_error : test_suggested_h(),
omniout_float(ALWAYS, "estimated_step_error", 32, estimated_step_error, 32,
""), if ((estimated_step_error > est_needed_step_err) and (opt_iter = 1))
or (glob_h >= glob_max_h) then (found_h : true, glob_h : glob_max_h,
best_h : glob_h) elseif (estimated_step_error > est_needed_step_err)
glob_h
and (not found_h) then (glob_h : ------, best_h : glob_h, found_h : true)
2.0
else (glob_h : glob_h 2.0, best_h : glob_h),
omniout_float(ALWAYS, "best_h", 32, best_h, 32, ""), opt_iter : 1 + opt_iter),
if (not found_h) and (opt_iter = 1) then (omniout_str(ALWAYS,
"Beginning glob_h too large."), found_h : false),
if opt_iter > 100 then (glob_h : glob_max_h, found_h : false),
if glob_display_interval < glob_h then glob_h : glob_display_interval,
if glob_html_log then html_log_file : openw("entry.html"),
if found_h then (omniout_str(ALWAYS, "START of Soultion"), array_x : x_start,
1
array_x : glob_h, glob_next_display : x_start, order_diff : 1, term_no : 1,
2
while term_no <= order_diff do (array_y :
term_no
array_y_init expt(glob_h, term_no - 1)
term_no
---------------------------------------------, term_no : 1 + term_no),
factorial_1(term_no - 1)
rows : order_diff, r_order : 1, while r_order <= rows do (term_no : 1,
while term_no <= 1 - r_order + rows do (it : - 1 + r_order + term_no,
array_y_init expt(glob_h, term_no - 1)
it
array_y_higher : ----------------------------------------,
r_order, term_no factorial_1(term_no - 1)
term_no : 1 + term_no), r_order : 1 + r_order), current_iter : 1,
glob_clock_start_sec : elapsed_time_seconds(),
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 (glob_check_sign array_x < glob_check_sign x_end)
1
and (convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec) < convfloat(glob_max_sec)) do (if reached_interval
() then (omniout_str(INFO, " "), omniout_str(INFO, "TOP MAIN SOLVE Loop")),
glob_iter : 1 + glob_iter, glob_clock_sec : elapsed_time_seconds(),
glob_current_iter : 1 + glob_current_iter, atomall(),
display_alot(current_iter), if glob_look_poles then check_for_pole(),
if reached_interval() then glob_next_display :
glob_display_interval + glob_next_display, array_x : glob_h + array_x ,
1 1
array_x : glob_h, order_diff : 2, ord : 2, calc_term : 1,
2
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
2, iii
array_y_higher
2, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 2, calc_term : 1, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, ord : 1, calc_term : 2,
factorial_1(calc_term - 1)
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
1, iii
array_y_higher
1, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 1, calc_term : 2, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, ord : 1, calc_term : 1,
factorial_1(calc_term - 1)
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
1, iii
array_y_higher
1, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 1, calc_term : 1, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, term_no : glob_max_terms,
factorial_1(calc_term - 1)
while term_no >= 1 do (array_y : array_y_higher_work2 ,
term_no 1, term_no
ord : 1, while ord <= order_diff do (array_y_higher :
ord, term_no
array_y_higher_work2 , ord : 1 + ord), term_no : term_no - 1)),
ord, term_no
omniout_str(ALWAYS, "Finished!"), if glob_iter >= glob_max_iter
then omniout_str(ALWAYS,
"Maximum Iterations Reached before Solution Completed!"),
if elapsed_time_seconds() - convfloat(glob_orig_start_sec) >=
convfloat(glob_max_sec) then omniout_str(ALWAYS,
"Maximum Time Reached before Solution Completed!"),
glob_clock_sec : elapsed_time_seconds(), omniout_str(INFO, "diff ( y , x , 1 )\
= m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
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,
"2013-05-26T04:50:59-05:00"), logitem_str(html_log_file, "Maxima"),
logitem_str(html_log_file, "sing6"),
logitem_str(html_log_file,
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
logitem_float(html_log_file, x_start), logitem_float(html_log_file, x_end),
logitem_float(html_log_file, array_x ), logitem_float(html_log_file, glob_h),
1
logitem_str(html_log_file, "16"), logitem_good_digits(html_log_file,
array_last_rel_error ), logitem_integer(html_log_file, glob_max_terms),
1
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_time(html_log_file, convfloat(glob_clock_sec)),
if glob_percent_done < 100.0 then (logitem_time(html_log_file,
convfloat(glob_total_exp_sec)), 0) else (logitem_str(html_log_file, "Done"),
0), log_revs(html_log_file, " 189 | "), logitem_str(html_log_file, "sing6 diffeq.max"),
logitem_str(html_log_file, "sing6 maxima results"
), logitem_str(html_log_file, "All Tests - All Languages"),
logend(html_log_file)), if glob_html_log then close(html_log_file)))
(%o57) main() := block([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, max_terms,
opt_iter, tmp, subiter, est_needed_step_err, estimated_step_error, min_value,
est_answer, best_h, found_h, repeat_it],
define_variable(glob_max_terms, 30, fixnum),
define_variable(glob_iolevel, 5, fixnum),
define_variable(glob_yes_pole, 4, fixnum),
define_variable(glob_no_pole, 3, fixnum),
define_variable(glob_not_given, 0, fixnum),
define_variable(ALWAYS, 1, fixnum), define_variable(INFO, 2, fixnum),
define_variable(DEBUGL, 3, fixnum), define_variable(DEBUGMASSIVE, 4, fixnum),
define_variable(MAX_UNCHANGED, 10, fixnum),
define_variable(glob_check_sign, 1.0, float),
define_variable(glob_desired_digits_correct, 8.0, float),
define_variable(glob_max_estimated_step_error, 0.0, float),
define_variable(glob_ratio_of_radius, 0.1, float),
define_variable(glob_percent_done, 0.0, float),
define_variable(glob_subiter_method, 3, fixnum),
define_variable(glob_total_exp_sec, 0.1, float),
define_variable(glob_optimal_expect_sec, 0.1, float),
define_variable(glob_html_log, true, boolean),
define_variable(glob_good_digits, 0, fixnum),
define_variable(glob_max_opt_iter, 10, fixnum),
define_variable(glob_dump, false, boolean),
define_variable(glob_djd_debug, true, boolean),
define_variable(glob_display_flag, true, boolean),
define_variable(glob_djd_debug2, true, boolean),
define_variable(glob_sec_in_minute, 60, fixnum),
define_variable(glob_min_in_hour, 60, fixnum),
define_variable(glob_hours_in_day, 24, fixnum),
define_variable(glob_days_in_year, 365, fixnum),
define_variable(glob_sec_in_hour, 3600, fixnum),
define_variable(glob_sec_in_day, 86400, fixnum),
define_variable(glob_sec_in_year, 31536000, fixnum),
define_variable(glob_almost_1, 0.999, float),
define_variable(glob_clock_sec, 0.0, float),
define_variable(glob_clock_start_sec, 0.0, float),
define_variable(glob_not_yet_finished, true, boolean),
define_variable(glob_initial_pass, true, boolean),
define_variable(glob_not_yet_start_msg, true, boolean),
define_variable(glob_reached_optimal_h, false, boolean),
define_variable(glob_optimal_done, false, boolean),
define_variable(glob_disp_incr, 0.1, float),
define_variable(glob_h, 0.1, float), define_variable(glob_max_h, 0.1, float),
define_variable(glob_min_h, 1.0E-6, float),
define_variable(glob_type_given_pole, 0, fixnum),
define_variable(glob_large_float, 9.0E+100, float),
define_variable(glob_last_good_h, 0.1, float),
define_variable(glob_look_poles, false, boolean),
define_variable(glob_neg_h, false, boolean),
define_variable(glob_display_interval, 0.0, float),
define_variable(glob_next_display, 0.0, float),
define_variable(glob_dump_analytic, false, boolean),
define_variable(glob_abserr, 1.0E-11, float),
define_variable(glob_relerr, 1.0E-11, float),
define_variable(glob_max_hours, 0.0, float),
define_variable(glob_max_iter, 1000, fixnum),
define_variable(glob_max_rel_trunc_err, 1.0E-11, float),
define_variable(glob_max_trunc_err, 1.0E-11, float),
define_variable(glob_no_eqs, 0, fixnum),
define_variable(glob_optimal_clock_start_sec, 0.0, float),
define_variable(glob_optimal_start, 0.0, float),
define_variable(glob_small_float, 0.0, float),
define_variable(glob_smallish_float, 0.0, float),
define_variable(glob_unchanged_h_cnt, 0, fixnum),
define_variable(glob_warned, false, boolean),
define_variable(glob_warned2, false, boolean),
define_variable(glob_max_sec, 10000.0, float),
define_variable(glob_orig_start_sec, 0.0, float),
define_variable(glob_start, 0, fixnum),
define_variable(glob_curr_iter_when_opt, 0, fixnum),
define_variable(glob_current_iter, 0, fixnum),
define_variable(glob_iter, 0, fixnum),
define_variable(glob_normmax, 0.0, float),
define_variable(glob_max_minutes, 0.0, float), ALWAYS : 1, INFO : 2,
DEBUGL : 3, DEBUGMASSIVE : 4, glob_iolevel : INFO,
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/sing6postode.ode#################"),
omniout_str(ALWAYS,
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
omniout_str(ALWAYS, "!"), omniout_str(ALWAYS,
"/* BEGIN FIRST INPUT BLOCK */"), omniout_str(ALWAYS, "Digits:64,"),
omniout_str(ALWAYS, "max_terms:40,"), omniout_str(ALWAYS, "!"),
omniout_str(ALWAYS, "/* END FIRST INPUT BLOCK */"),
omniout_str(ALWAYS, "/* BEGIN SECOND INPUT BLOCK */"),
omniout_str(ALWAYS, "x_start:2.0,"), omniout_str(ALWAYS, "x_end:3.0,"),
omniout_str(ALWAYS, "array_y_init[0 + 1] : exact_soln_y(x_start),"),
omniout_str(ALWAYS, "glob_look_poles:true,"),
omniout_str(ALWAYS, "glob_max_iter:100,"),
omniout_str(ALWAYS, "/* # Not Given = 0 */"),
omniout_str(ALWAYS, "/* # No Pole = 3 */"),
omniout_str(ALWAYS, "/* # Pole = 4 */"),
omniout_str(ALWAYS, "glob_type_given_pole:4,"),
omniout_str(ALWAYS, "/* # Real Part */"),
omniout_str(ALWAYS, "array_given_rad_poles[1,1]:6.0,"),
omniout_str(ALWAYS, "/* # Imag Part */"),
omniout_str(ALWAYS, "array_given_rad_poles[1,2]:0.0,"),
omniout_str(ALWAYS, "/* # Order */"), omniout_str(ALWAYS,
"array_given_ord_poles[1,1]:3.0,"), omniout_str(ALWAYS, "/* # Not Used */"),
omniout_str(ALWAYS, "array_given_ord_poles[1,2]:0.0,"),
omniout_str(ALWAYS, "/* END SECOND INPUT BLOCK */"),
omniout_str(ALWAYS, "/* BEGIN OVERRIDE BLOCK */"),
omniout_str(ALWAYS, "glob_desired_digits_correct:10,"),
omniout_str(ALWAYS, "glob_display_interval:0.01,"),
omniout_str(ALWAYS, "glob_look_poles:true,"),
omniout_str(ALWAYS, "glob_max_iter:10000000,"),
omniout_str(ALWAYS, "glob_max_minutes:3,"),
omniout_str(ALWAYS, "glob_subiter_method:3,"),
omniout_str(ALWAYS, "/* END OVERRIDE BLOCK */"), omniout_str(ALWAYS, "!"),
omniout_str(ALWAYS, "/* BEGIN USER DEF BLOCK */"),
omniout_str(ALWAYS, "exact_soln_y (x) := (block("),
omniout_str(ALWAYS, " (1.0/ ( x - 6.0 ) / ( x - 6.0 )) "),
omniout_str(ALWAYS, "));"), 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.0, glob_smallish_float : 0.0,
glob_large_float : 1.0E+100, glob_almost_1 : 0.99, Digits : 64,
max_terms : 40, glob_max_terms : max_terms, glob_html_log : true,
array(array_y_init, 1 + max_terms), array(array_norms, 1 + max_terms),
array(array_fact_1, 1 + max_terms), array(array_pole, 1 + 4),
array(array_real_pole, 1 + 4), array(array_complex_pole, 1 + 4),
array(array_1st_rel_error, 1 + 2), array(array_last_rel_error, 1 + 2),
array(array_type_pole, 1 + 2), array(array_type_real_pole, 1 + 2),
array(array_type_complex_pole, 1 + 2), array(array_y, 1 + max_terms),
array(array_x, 1 + max_terms), array(array_tmp0, 1 + max_terms),
array(array_tmp1, 1 + max_terms), array(array_tmp2, 1 + max_terms),
array(array_tmp3, 1 + max_terms), array(array_tmp4, 1 + max_terms),
array(array_tmp5, 1 + max_terms), array(array_tmp6, 1 + max_terms),
array(array_tmp7, 1 + max_terms), array(array_tmp8, 1 + max_terms),
array(array_m1, 1 + max_terms), array(array_y_higher, 1 + 2, 1 + max_terms),
array(array_y_higher_work, 1 + 2, 1 + max_terms),
array(array_y_higher_work2, 1 + 2, 1 + max_terms),
array(array_y_set_initial, 1 + 2, 1 + max_terms),
array(array_poles, 1 + 2, 1 + 3), array(array_given_rad_poles, 1 + 2, 1 + 3),
array(array_given_ord_poles, 1 + 2, 1 + 3),
array(array_real_poles, 1 + 2, 1 + 3),
array(array_complex_poles, 1 + 2, 1 + 3),
array(array_fact_2, 1 + max_terms, 1 + max_terms), term : 1,
while term <= max_terms do (array_y_init : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_norms : 0.0,
term
term : 1 + term), term : 1, while term <=
max_terms do (array_fact_1 : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_real_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 4 do (array_complex_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 2 do (array_1st_rel_error : 0.0, term : 1 + term),
term
term : 1, while term <= 2 do (array_last_rel_error : 0.0,
term
term : 1 + term), term : 1, while term <= 2 do (array_type_pole : 0.0,
term
term : 1 + term), term : 1, while term <=
2 do (array_type_real_pole : 0.0, term : 1 + term), term : 1,
term
while term <= 2 do (array_type_complex_pole : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_y : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_x : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp0 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp1 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp2 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp3 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp4 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp5 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp6 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp7 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_tmp8 : 0.0, term : 1 + term),
term
term : 1, while term <= max_terms do (array_m1 : 0.0, term : 1 + term),
term
ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_higher : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_higher_work : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <=
max_terms do (array_y_higher_work2 : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= max_terms do (array_y_set_initial : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <= 3 do (array_poles : 0.0,
ord, term
term : 1 + term), ord : 1 + ord), ord : 1,
while ord <= 2 do (term : 1, while term <=
3 do (array_given_rad_poles : 0.0, term : 1 + term), ord : 1 + ord),
ord, term
ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_given_ord_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_real_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= 2 do (term : 1,
while term <= 3 do (array_complex_poles : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), ord : 1, while ord <= max_terms do (term : 1,
while term <= max_terms do (array_fact_2 : 0.0, term : 1 + term),
ord, term
ord : 1 + ord), array(array_y, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_y : 0.0, term : 1 + term),
term
array(array_x, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_x : 0.0, term : 1 + term),
term
array(array_m1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_m1 : 0.0, term : 1 + term),
term
array(array_tmp0, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp0 : 0.0, term : 1 + term),
term
array(array_tmp1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp1 : 0.0, term : 1 + term),
term
array(array_tmp2, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp2 : 0.0, term : 1 + term),
term
array(array_tmp3, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp3 : 0.0, term : 1 + term),
term
array(array_tmp4, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp4 : 0.0, term : 1 + term),
term
array(array_tmp5, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp5 : 0.0, term : 1 + term),
term
array(array_tmp6, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp6 : 0.0, term : 1 + term),
term
array(array_tmp7, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp7 : 0.0, term : 1 + term),
term
array(array_tmp8, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_tmp8 : 0.0, term : 1 + term),
term
array(array_const_1, 1 + 1 + max_terms), term : 1,
while term <= 1 + max_terms do (array_const_1 : 0.0, term : 1 + term),
term
array_const_1 : 1, array(array_const_0D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_0D0 : 0.0, term : 1 + term),
term
array_const_0D0 : 0.0, array(array_const_2D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_2D0 : 0.0, term : 1 + term),
term
array_const_2D0 : 2.0, array(array_const_6D0, 1 + 1 + max_terms), term : 1,
1
while term <= 1 + max_terms do (array_const_6D0 : 0.0, term : 1 + term),
term
array_const_6D0 : 6.0, array(array_m1, 1 + 1 + max_terms), term : 1,
1
while term <= max_terms do (array_m1 : 0.0, term : 1 + term),
term
array_m1 : - 1.0, iiif : 0, while iiif <= glob_max_terms do (jjjf : 0,
1
while jjjf <= glob_max_terms do (array_fact_1 : 0,
iiif
array_fact_2 : 0, jjjf : 1 + jjjf), iiif : 1 + iiif), x_start : 2.0,
iiif, jjjf
x_end : 3.0, array_y_init : exact_soln_y(x_start),
1 + 0
glob_look_poles : true, glob_max_iter : 100, glob_type_given_pole : 4,
array_given_rad_poles : 6.0, array_given_rad_poles : 0.0,
1, 1 1, 2
array_given_ord_poles : 3.0, array_given_ord_poles : 0.0,
1, 1 1, 2
glob_desired_digits_correct : 10, glob_display_interval : 0.01,
glob_look_poles : true, glob_max_iter : 10000000, glob_max_minutes : 3,
glob_subiter_method : 3, glob_last_good_h : glob_h,
glob_max_terms : max_terms, glob_max_sec :
convfloat(3600.0) convfloat(glob_max_hours)
+ convfloat(60.0) convfloat(glob_max_minutes),
if glob_h > 0.0 then (glob_neg_h : false,
glob_display_interval : omniabs(glob_display_interval))
else (glob_neg_h : true, glob_display_interval :
- omniabs(glob_display_interval)), chk_data(), array_y_set_initial : true,
1, 1
array_y_set_initial : false, array_y_set_initial : false,
1, 2 1, 3
array_y_set_initial : false, array_y_set_initial : false,
1, 4 1, 5
array_y_set_initial : false, array_y_set_initial : false,
1, 6 1, 7
array_y_set_initial : false, array_y_set_initial : false,
1, 8 1, 9
array_y_set_initial : false, array_y_set_initial : false,
1, 10 1, 11
array_y_set_initial : false, array_y_set_initial : false,
1, 12 1, 13
array_y_set_initial : false, array_y_set_initial : false,
1, 14 1, 15
array_y_set_initial : false, array_y_set_initial : false,
1, 16 1, 17
array_y_set_initial : false, array_y_set_initial : false,
1, 18 1, 19
array_y_set_initial : false, array_y_set_initial : false,
1, 20 1, 21
array_y_set_initial : false, array_y_set_initial : false,
1, 22 1, 23
array_y_set_initial : false, array_y_set_initial : false,
1, 24 1, 25
array_y_set_initial : false, array_y_set_initial : false,
1, 26 1, 27
array_y_set_initial : false, array_y_set_initial : false,
1, 28 1, 29
array_y_set_initial : false, array_y_set_initial : false,
1, 30 1, 31
array_y_set_initial : false, array_y_set_initial : false,
1, 32 1, 33
array_y_set_initial : false, array_y_set_initial : false,
1, 34 1, 35
array_y_set_initial : false, array_y_set_initial : false,
1, 36 1, 37
array_y_set_initial : false, array_y_set_initial : false,
1, 38 1, 39
array_y_set_initial : false, omniout_str(ALWAYS, "START of Optimize"),
1, 40
glob_check_sign : check_sign(x_start, x_end),
glob_h : check_sign(x_start, x_end), found_h : false, glob_h : glob_min_h,
if glob_max_h < glob_h then glob_h : glob_max_h,
if glob_display_interval < glob_h then glob_h : glob_display_interval,
best_h : glob_h, min_value : glob_large_float, est_answer : est_size_answer(),
opt_iter : 1, est_needed_step_err : estimated_needed_step_error(x_start,
x_end, glob_h, est_answer), omniout_float(ALWAYS, "est_needed_step_err", 32,
est_needed_step_err, 16, ""), estimated_step_error : 0.0,
while (opt_iter <= 100) and (not found_h) do (omniout_int(ALWAYS, "opt_iter",
32, opt_iter, 4, ""), array_x : x_start, array_x : glob_h,
1 2
glob_next_display : x_start, order_diff : 1, term_no : 1,
while term_no <= order_diff do (array_y :
term_no
array_y_init expt(glob_h, term_no - 1)
term_no
---------------------------------------------, term_no : 1 + term_no),
factorial_1(term_no - 1)
rows : order_diff, r_order : 1, while r_order <= rows do (term_no : 1,
while term_no <= 1 - r_order + rows do (it : - 1 + r_order + term_no,
array_y_init expt(glob_h, term_no - 1)
it
array_y_higher : ----------------------------------------,
r_order, term_no factorial_1(term_no - 1)
term_no : 1 + term_no), r_order : 1 + r_order), atomall(),
estimated_step_error : test_suggested_h(),
omniout_float(ALWAYS, "estimated_step_error", 32, estimated_step_error, 32,
""), if ((estimated_step_error > est_needed_step_err) and (opt_iter = 1))
or (glob_h >= glob_max_h) then (found_h : true, glob_h : glob_max_h,
best_h : glob_h) elseif (estimated_step_error > est_needed_step_err)
glob_h
and (not found_h) then (glob_h : ------, best_h : glob_h, found_h : true)
2.0
else (glob_h : glob_h 2.0, best_h : glob_h),
omniout_float(ALWAYS, "best_h", 32, best_h, 32, ""), opt_iter : 1 + opt_iter),
if (not found_h) and (opt_iter = 1) then (omniout_str(ALWAYS,
"Beginning glob_h too large."), found_h : false),
if opt_iter > 100 then (glob_h : glob_max_h, found_h : false),
if glob_display_interval < glob_h then glob_h : glob_display_interval,
if glob_html_log then html_log_file : openw("entry.html"),
if found_h then (omniout_str(ALWAYS, "START of Soultion"), array_x : x_start,
1
array_x : glob_h, glob_next_display : x_start, order_diff : 1, term_no : 1,
2
while term_no <= order_diff do (array_y :
term_no
array_y_init expt(glob_h, term_no - 1)
term_no
---------------------------------------------, term_no : 1 + term_no),
factorial_1(term_no - 1)
rows : order_diff, r_order : 1, while r_order <= rows do (term_no : 1,
while term_no <= 1 - r_order + rows do (it : - 1 + r_order + term_no,
array_y_init expt(glob_h, term_no - 1)
it
array_y_higher : ----------------------------------------,
r_order, term_no factorial_1(term_no - 1)
term_no : 1 + term_no), r_order : 1 + r_order), current_iter : 1,
glob_clock_start_sec : elapsed_time_seconds(),
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 (glob_check_sign array_x < glob_check_sign x_end)
1
and (convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec) < convfloat(glob_max_sec)) do (if reached_interval
() then (omniout_str(INFO, " "), omniout_str(INFO, "TOP MAIN SOLVE Loop")),
glob_iter : 1 + glob_iter, glob_clock_sec : elapsed_time_seconds(),
glob_current_iter : 1 + glob_current_iter, atomall(),
display_alot(current_iter), if glob_look_poles then check_for_pole(),
if reached_interval() then glob_next_display :
glob_display_interval + glob_next_display, array_x : glob_h + array_x ,
1 1
array_x : glob_h, order_diff : 2, ord : 2, calc_term : 1,
2
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
2, iii
array_y_higher
2, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 2, calc_term : 1, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, ord : 1, calc_term : 2,
factorial_1(calc_term - 1)
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
1, iii
array_y_higher
1, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 1, calc_term : 2, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, ord : 1, calc_term : 1,
factorial_1(calc_term - 1)
iii : glob_max_terms, while iii >= calc_term do (array_y_higher_work :
1, iii
array_y_higher
1, iii
---------------------------
expt(glob_h, calc_term - 1)
-------------------------------------, iii : iii - 1), temp_sum : 0.0,
factorial_3(iii - calc_term, iii - 1)
ord : 1, calc_term : 1, iii : glob_max_terms,
while iii >= calc_term do (temp_sum : array_y_higher_work + temp_sum,
ord, iii
iii : iii - 1), array_y_higher_work2 :
ord, calc_term
temp_sum expt(glob_h, calc_term - 1)
------------------------------------, term_no : glob_max_terms,
factorial_1(calc_term - 1)
while term_no >= 1 do (array_y : array_y_higher_work2 ,
term_no 1, term_no
ord : 1, while ord <= order_diff do (array_y_higher :
ord, term_no
array_y_higher_work2 , ord : 1 + ord), term_no : term_no - 1)),
ord, term_no
omniout_str(ALWAYS, "Finished!"), if glob_iter >= glob_max_iter
then omniout_str(ALWAYS,
"Maximum Iterations Reached before Solution Completed!"),
if elapsed_time_seconds() - convfloat(glob_orig_start_sec) >=
convfloat(glob_max_sec) then omniout_str(ALWAYS,
"Maximum Time Reached before Solution Completed!"),
glob_clock_sec : elapsed_time_seconds(), omniout_str(INFO, "diff ( y , x , 1 )\
= m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
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,
"2013-05-26T04:50:59-05:00"), logitem_str(html_log_file, "Maxima"),
logitem_str(html_log_file, "sing6"),
logitem_str(html_log_file,
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"),
logitem_float(html_log_file, x_start), logitem_float(html_log_file, x_end),
logitem_float(html_log_file, array_x ), logitem_float(html_log_file, glob_h),
1
logitem_str(html_log_file, "16"), logitem_good_digits(html_log_file,
array_last_rel_error ), logitem_integer(html_log_file, glob_max_terms),
1
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_time(html_log_file, convfloat(glob_clock_sec)),
if glob_percent_done < 100.0 then (logitem_time(html_log_file,
convfloat(glob_total_exp_sec)), 0) else (logitem_str(html_log_file, "Done"),
0), log_revs(html_log_file, " 189 | "), logitem_str(html_log_file, "sing6 diffeq.max"),
logitem_str(html_log_file, "sing6 maxima results"
), logitem_str(html_log_file, "All Tests - All Languages"),
logend(html_log_file)), if glob_html_log then close(html_log_file)))
(%i58) main()
"##############ECHO OF PROBLEM#################"
"##############temp/sing6postode.ode#################"
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"
"!"
"/* BEGIN FIRST INPUT BLOCK */"
"Digits:64,"
"max_terms:40,"
"!"
"/* END FIRST INPUT BLOCK */"
"/* BEGIN SECOND INPUT BLOCK */"
"x_start:2.0,"
"x_end:3.0,"
"array_y_init[0 + 1] : exact_soln_y(x_start),"
"glob_look_poles:true,"
"glob_max_iter:100,"
"/* # Not Given = 0 */"
"/* # No Pole = 3 */"
"/* # Pole = 4 */"
"glob_type_given_pole:4,"
"/* # Real Part */"
"array_given_rad_poles[1,1]:6.0,"
"/* # Imag Part */"
"array_given_rad_poles[1,2]:0.0,"
"/* # Order */"
"array_given_ord_poles[1,1]:3.0,"
"/* # Not Used */"
"array_given_ord_poles[1,2]:0.0,"
"/* END SECOND INPUT BLOCK */"
"/* BEGIN OVERRIDE BLOCK */"
"glob_desired_digits_correct:10,"
"glob_display_interval:0.01,"
"glob_look_poles:true,"
"glob_max_iter:10000000,"
"glob_max_minutes:3,"
"glob_subiter_method:3,"
"/* END OVERRIDE BLOCK */"
"!"
"/* BEGIN USER DEF BLOCK */"
"exact_soln_y (x) := (block("
" (1.0/ ( x - 6.0 ) / ( x - 6.0 )) "
"));"
""
""
"/* END USER DEF BLOCK */"
"#######END OF ECHO OF PROBLEM#################"
"START of Optimize"
min_size = 0.0 ""
min_size = 1. ""
glob_desired_digits_correct = 10. ""
desired_abs_gbl_error = 1.0000000000E-10 ""
range = 1. ""
estimated_steps = 1000000. ""
step_error = 1.0000000000000000E-16 ""
est_needed_step_err = 1.0000000000000000E-16 ""
opt_iter = 1
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.102907617541448200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-239 ""
estimated_step_error = 1.102907617541448200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-239 ""
best_h = 2.000000E-6 ""
opt_iter = 2
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 7.5791243583451780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-229 ""
estimated_step_error = 7.5791243583451780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-229 ""
best_h = 4.000000E-6 ""
opt_iter = 3
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 5.20833586711834200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-218 ""
estimated_step_error = 5.20833586711834200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-218 ""
best_h = 8.000000E-6 ""
opt_iter = 4
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 3.579142895742634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-207 ""
estimated_step_error = 3.579142895742634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-207 ""
best_h = 1.600000E-5 ""
opt_iter = 5
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 2.45957066268616960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-196 ""
estimated_step_error = 2.45957066268616960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-196 ""
best_h = 3.200000E-5 ""
opt_iter = 6
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.69020737840871320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-185 ""
estimated_step_error = 1.69020737840871320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-185 ""
best_h = 6.400000E-5 ""
opt_iter = 7
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.1615061866698728000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-174 ""
estimated_step_error = 1.1615061866698728000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-174 ""
best_h = 1.280000E-4 ""
opt_iter = 8
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 7.9818718670074800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-164 ""
estimated_step_error = 7.9818718670074800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-164 ""
best_h = 2.560000E-4 ""
opt_iter = 9
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 5.485185973080912000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-153 ""
estimated_step_error = 5.485185973080912000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-153 ""
best_h = 5.120000E-4 ""
opt_iter = 10
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 3.7695084665146490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-142 ""
estimated_step_error = 3.7695084665146490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-142 ""
best_h = 1.024000E-3 ""
opt_iter = 11
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 2.590547817884197300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-131 ""
estimated_step_error = 2.590547817884197300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-131 ""
best_h = 2.048000E-3 ""
opt_iter = 12
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.780432668747878000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-120 ""
estimated_step_error = 1.780432668747878000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-120 ""
best_h = 4.096000E-3 ""
opt_iter = 13
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.22380891722821610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-109 ""
estimated_step_error = 1.22380891722821610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-109 ""
best_h = 8.192000E-3 ""
opt_iter = 14
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 8.414144536547603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-99 ""
estimated_step_error = 8.414144536547603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-99 ""
best_h = 1.638400E-2 ""
opt_iter = 15
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 5.7879284749683810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-88 ""
estimated_step_error = 5.7879284749683810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-88 ""
best_h = 3.276800E-2 ""
opt_iter = 16
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 3.98539131684197740000000000000000000000000000000000000000000000000000000000000000000000000000E-77 ""
estimated_step_error = 3.98539131684197740000000000000000000000000000000000000000000000000000000000000000000000000000E-77 ""
best_h = 6.553600E-2 ""
opt_iter = 17
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 2.7497413242850616000000000000000000000000000000000000000000000000000000000000000000E-66 ""
estimated_step_error = 2.7497413242850616000000000000000000000000000000000000000000000000000000000000000000E-66 ""
best_h = 0.131072 ""
opt_iter = 18
hn_div_ho = 0.5 ""
hn_div_ho_2 = 0.25 ""
hn_div_ho_3 = 0.125 ""
max_estimated_step_error = 1.90490664041307500000000000000000000000000000000000000000000000000000000E-55 ""
estimated_step_error = 1.90490664041307500000000000000000000000000000000000000000000000000000000E-55 ""
best_h = 0.1 ""
"START of Soultion"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2. " "
y[1] (analytic) = 6.2500E-2 " "
y[1] (numeric) = 6.2500E-2 " "
absolute error = 0.0 " "
relative error = 0.0 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 4. " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.125 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.996999249812409 " "
Order of pole (three term test) = 1225.0262565641274 " "
Radius of convergence (six term test) for eq 1 = 3.9677393650482333 " "
Order of pole (six term test) = 8.37019342725398000000000000E-12 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.01 " "
y[1] (analytic) = 6.28136757934937500E-2 " "
y[1] (numeric) = 6.28136757934937300E-2 " "
absolute error = 2.775557561562891400000000000000000E-17 " "
relative error = 4.418715393583738700000000000000E-14 "%"
Correct digits = 17
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.99 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.1146875 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9870067516878778 " "
Order of pole (three term test) = 1225.0262565641274 " "
Radius of convergence (six term test) for eq 1 = 2.1779406085369892 " "
Order of pole (six term test) = -2.12061479487601900000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0199999999999996 " "
y[1] (analytic) = 6.31297189464912300E-2 " "
y[1] (numeric) = 6.31297189464912000E-2 " "
absolute error = 4.16333634234433700000000000000000E-17 " "
relative error = 6.59489129972712500000000000000E-14 "%"
Correct digits = 17
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.9800000000000004 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.104375 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.977014253563387 " "
Order of pole (three term test) = 1225.0262565641397 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0299999999999994 " "
y[1] (analytic) = 6.34481533414969800E-2 " "
y[1] (numeric) = 6.34481533414969000E-2 " "
absolute error = 6.93889390390722800000000000000000E-17 " "
relative error = 1.09363212930091480000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.9700000000000006 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.094062500000000 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.967021755438807 " "
Order of pole (three term test) = 1225.0262565641244 " "
Radius of convergence (six term test) for eq 1 = 5.834306351408388 " "
Order of pole (six term test) = -1.36498812253194050000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.039999999999999 " "
y[1] (analytic) = 6.37690031629425400E-2 " "
y[1] (numeric) = 6.37690031629424400E-2 " "
absolute error = 9.7144514654701200000000000000000E-17 " "
relative error = 1.52338142100916260000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.960000000000001 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.083750000000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.957029257314308 " "
Order of pole (three term test) = 1225.0262565641342 " "
Radius of convergence (six term test) for eq 1 = 3.211296926685283 " "
Order of pole (six term test) = -8.2234663523195200000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.049999999999999 " "
y[1] (analytic) = 6.40922929017785200E-2 " "
y[1] (numeric) = 6.40922929017784100E-2 " "
absolute error = 1.11022302462515650000000000000000E-16 " "
relative error = 1.73222547417140160000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.950000000000001 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.073437500000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9470367591898072 " "
Order of pole (three term test) = 1225.0262565641438 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0599999999999987 " "
y[1] (analytic) = 6.44180473601483800E-2 " "
y[1] (numeric) = 6.44180473601482300E-2 " "
absolute error = 1.38777878078144570000000000000000E-16 " "
relative error = 2.15433226813388670000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.9400000000000013 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.063125000000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9370442610652123 " "
Order of pole (three term test) = 1225.0262565641235 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0699999999999985 " "
y[1] (analytic) = 6.47462916561453400E-2 " "
y[1] (numeric) = 6.47462916561451800E-2 " "
absolute error = 1.66533453693773480000000000000000E-16 " "
relative error = 2.5720925389549640000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.9300000000000015 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.052812500000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9270517629407298 " "
Order of pole (three term test) = 1225.0262565641385 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0799999999999983 " "
y[1] (analytic) = 6.50770512286546800E-2 " "
y[1] (numeric) = 6.50770512286544800E-2 " "
absolute error = 1.9428902930940240000000000000000E-16 " "
relative error = 2.98552293998000300000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.9200000000000017 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.042500000000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9170592648161877 " "
Order of pole (three term test) = 1225.0262565641353 " "
Radius of convergence (six term test) for eq 1 = 2.527901053687441 " "
Order of pole (six term test) = -2.733813175836985500000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.089999999999998 " "
y[1] (analytic) = 6.54103518422824900E-2 " "
y[1] (numeric) = 6.54103518422822800E-2 " "
absolute error = 2.08166817117216850000000000000000E-16 " "
relative error = 3.18247511676972700000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.910000000000002 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.032187500000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.9070667666916847 " "
Order of pole (three term test) = 1225.0262565641442 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.099999999999998 " "
y[1] (analytic) = 6.57462195923733700E-2 " "
y[1] (numeric) = 6.57462195923731200E-2 " "
absolute error = 2.4980018054066022000000000000000E-16 " "
relative error = 3.7994607460234460000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.900000000000002 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.021875000000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.897074268567135 " "
Order of pole (three term test) = 1225.0262565641383 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1099999999999977 " "
y[1] (analytic) = 6.60846809101181400E-2 " "
y[1] (numeric) = 6.60846809101178700E-2 " "
absolute error = 2.77555756156289140000000000000000E-16 " "
relative error = 4.20000145773258840000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8900000000000023 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.011562500000003 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.887081770442597 " "
Order of pole (three term test) = 1225.026256564136 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1199999999999974 " "
y[1] (analytic) = 6.64257625677541900E-2 " "
y[1] (numeric) = 6.64257625677538800E-2 " "
absolute error = 3.1918911957973250000000000000000E-16 " "
relative error = 4.8052006818011317000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8800000000000026 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 4.001250000000003 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.8770892723180506 " "
Order of pole (three term test) = 1225.0262565641308 " "
Radius of convergence (six term test) for eq 1 = 1.1563115405738478 " "
Order of pole (six term test) = -2.165734258596785400000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1299999999999972 " "
y[1] (analytic) = 6.67694916838597200E-2 " "
y[1] (numeric) = 6.67694916838593600E-2 " "
absolute error = 3.6082248300317590000000000000000E-16 " "
relative error = 5.4040022456902730000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8700000000000028 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.9909375000000034 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.8670967741935525 " "
Order of pole (three term test) = 1225.0262565641417 " "
Radius of convergence (six term test) for eq 1 = 2.2553160696829595 " "
Order of pole (six term test) = 1.790567694115452500000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.139999999999997 " "
y[1] (analytic) = 6.7115895728744300E-2 " "
y[1] (numeric) = 6.71158957287439000E-2 " "
absolute error = 3.8857805861880480000000000000000E-16 " "
relative error = 5.7896576421967530000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.860000000000003 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.980625000000003 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.8571042760690264 " "
Order of pole (three term test) = 1225.0262565641428 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.149999999999997 " "
y[1] (analytic) = 6.74650025299374900E-2 " "
y[1] (numeric) = 6.74650025299370600E-2 " "
absolute error = 4.30211422042248160000000000000000E-16 " "
relative error = 6.3768088032212330000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.850000000000003 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.970312500000003 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.847111777944493 " "
Order of pole (three term test) = 1225.0262565641422 " "
Radius of convergence (six term test) for eq 1 = 6.793823534248678 " "
Order of pole (six term test) = 8.21671619632979900000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1599999999999966 " "
y[1] (analytic) = 6.78168402777776700E-2 " "
y[1] (numeric) = 6.78168402777772100E-2 " "
absolute error = 4.5796699765787710000000000000000E-16 " "
relative error = 6.7529981606640030000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8400000000000034 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.960000000000003 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.8371192798199085 " "
Order of pole (three term test) = 1225.026256564125 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1699999999999964 " "
y[1] (analytic) = 6.8171437531103100E-2 " "
y[1] (numeric) = 6.81714375311026100E-2 " "
absolute error = 4.857225732735060000000000000000E-16 " "
relative error = 7.1250158550917450000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8300000000000036 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.9496875000000045 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.82712678169536 " "
Order of pole (three term test) = 1225.0262565641192 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.179999999999996 " "
y[1] (analytic) = 6.85288232230474700E-2 " "
y[1] (numeric) = 6.85288232230469600E-2 " "
absolute error = 5.1347814888913490000000000000000E-16 " "
relative error = 7.4928785398498280000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.820000000000004 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.9393750000000036 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.8171342835708866 " "
Order of pole (three term test) = 1225.026256564138 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.189999999999996 " "
y[1] (analytic) = 6.88890266669420800E-2 " "
y[1] (numeric) = 6.88890266669415200E-2 " "
absolute error = 5.5511151231257830000000000000000E-16 " "
relative error = 8.0580542238806350000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.810000000000004 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.929062500000004 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.807141785446325 " "
Order of pole (three term test) = 1225.0262565641278 " "
Radius of convergence (six term test) for eq 1 = 3.5543355397685996 " "
Order of pole (six term test) = -4.93400875711813570000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1999999999999957 " "
y[1] (analytic) = 6.92520775623267200E-2 " "
y[1] (numeric) = 6.92520775623261200E-2 " "
absolute error = 5.9674487573602160000000000000000E-16 " "
relative error = 8.6169960056281700000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.8000000000000043 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.9187500000000046 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.79714928732182 " "
Order of pole (three term test) = 1225.0262565641365 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2099999999999955 " "
y[1] (analytic) = 6.96180060010719400E-2 " "
y[1] (numeric) = 6.96180060010713200E-2 " "
absolute error = 6.2450045135165060000000000000000E-16 " "
relative error = 8.9703869332602660000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7900000000000045 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.908437500000004 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.787156789197261 " "
Order of pole (three term test) = 1225.026256564127 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2199999999999953 " "
y[1] (analytic) = 6.99868424736147700E-2 " "
y[1] (numeric) = 6.99868424736141100E-2 " "
absolute error = 6.6613381477509390000000000000000E-16 " "
relative error = 9.5179863990324780000000000000E-13 "%"
Correct digits = 16
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7800000000000047 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8981250000000043 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.7771642910727325 " "
Order of pole (three term test) = 1225.0262565641278 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.229999999999995 " "
y[1] (analytic) = 7.03586178753102700E-2 " "
y[1] (numeric) = 7.03586178753095600E-2 " "
absolute error = 7.0776717819853730000000000000000E-16 " "
relative error = 1.0059424127018018000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.770000000000005 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.887812500000005 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.7671717929482185 " "
Order of pole (three term test) = 1225.0262565641333 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.239999999999995 " "
y[1] (analytic) = 7.07333635129015800E-2 " "
y[1] (numeric) = 7.07333635129008200E-2 " "
absolute error = 7.6327832942979510000000000000000E-16 " "
relative error = 1.07909237101467000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.760000000000005 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8775000000000053 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.757179294823739 " "
Order of pole (three term test) = 1225.0262565641503 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2499999999999947 " "
y[1] (analytic) = 7.1111111111110900E-2 " "
y[1] (numeric) = 7.11111111111101100E-2 " "
absolute error = 7.910339050454240000000000000000E-16 " "
relative error = 1.1123914289701307000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7500000000000053 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.867187500000005 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.7471867966991463 " "
Order of pole (three term test) = 1225.0262565641299 " "
Radius of convergence (six term test) for eq 1 = 4.400931463893281 " "
Order of pole (six term test) = -1.02044594996186790000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2599999999999945 " "
y[1] (analytic) = 7.14918928193540900E-2 " "
y[1] (numeric) = 7.14918928193532400E-2 " "
absolute error = 8.4654505627668190000000000000000E-16 " "
relative error = 1.1841133629175747000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7400000000000055 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8568750000000054 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.737194298574596 " "
Order of pole (three term test) = 1225.0262565641233 " "
Radius of convergence (six term test) for eq 1 = 10.683761772867932 " "
Order of pole (six term test) = -7.9581496947866980000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2699999999999942 " "
y[1] (analytic) = 7.18757412185810900E-2 " "
y[1] (numeric) = 7.18757412185802100E-2 " "
absolute error = 8.7430063189231080000000000000000E-16 " "
relative error = 1.216405726145457000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7300000000000058 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.846562500000006 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.7272018004501173 " "
Order of pole (three term test) = 1225.0262565641406 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.279999999999994 " "
y[1] (analytic) = 7.22626893282458100E-2 " "
y[1] (numeric) = 7.22626893282448800E-2 " "
absolute error = 9.2981178312356860000000000000000E-16 " "
relative error = 1.2867107379577230000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.720000000000006 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8362500000000055 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.7172093023255406 " "
Order of pole (three term test) = 1225.0262565641256 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.289999999999994 " "
y[1] (analytic) = 7.2652770613407090E-2 " "
y[1] (numeric) = 7.26527706134061300E-2 " "
absolute error = 9.714451465470120000000000000000E-16 " "
relative error = 1.3371068141587775000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.710000000000006 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8259375000000073 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.707216804201027 " "
Order of pole (three term test) = 1225.0262565641312 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2999999999999936 " "
y[1] (analytic) = 7.30460189919646800E-2 " "
y[1] (numeric) = 7.30460189919636600E-2 " "
absolute error = 1.0269562977782698000000000000000E-15 " "
relative error = 1.4059031716584560000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.7000000000000064 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.8156250000000065 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6972243060765178 " "
Order of pole (three term test) = 1225.0262565641385 " "
Radius of convergence (six term test) for eq 1 = 24.599136828152265 " "
Order of pole (six term test) = -2.1558292928602896000000000E-9 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3099999999999934 " "
y[1] (analytic) = 7.34424688420323300E-2 " "
y[1] (numeric) = 7.34424688420312500E-2 " "
absolute error = 1.0824674490095276000000000000000E-15 " "
relative error = 1.4738985032458682000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6900000000000066 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.805312500000007 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.687231807951967 " "
Order of pole (three term test) = 1225.026256564132 " "
Radius of convergence (six term test) for eq 1 = 26.935834689821917 " "
Order of pole (six term test) = -2.5972290984555000000000000E-9 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.319999999999993 " "
y[1] (analytic) = 7.38421550094515200E-2 " "
y[1] (numeric) = 7.38421550094503900E-2 " "
absolute error = 1.124100812432971000000000000000E-15 " "
relative error = 1.5223022842292322000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.680000000000007 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.795000000000007 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6772393098274456 " "
Order of pole (three term test) = 1225.026256564135 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.329999999999993 " "
y[1] (analytic) = 7.42451128154486400E-2 " "
y[1] (numeric) = 7.42451128154474600E-2 " "
absolute error = 1.1796119636642288000000000000000E-15 " "
relative error = 1.5888075577397193000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.670000000000007 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7846875000000075 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6672468117029253 " "
Order of pole (three term test) = 1225.0262565641385 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3399999999999928 " "
y[1] (analytic) = 7.46513780644387800E-2 " "
y[1] (numeric) = 7.46513780644375500E-2 " "
absolute error = 1.2351231148954867000000000000000E-15 " "
relative error = 1.6545215197894045000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6600000000000072 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7743750000000076 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.657254313578355 " "
Order of pole (three term test) = 1225.026256564125 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3499999999999925 " "
y[1] (analytic) = 7.50609870519794300E-2 " "
y[1] (numeric) = 7.50609870519781500E-2 " "
absolute error = 1.2906342661267445000000000000000E-15 " "
relative error = 1.7194475010473623000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6500000000000075 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7640625000000076 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6472618154538816 " "
Order of pole (three term test) = 1225.0262565641444 " "
Radius of convergence (six term test) for eq 1 = 4.119369239115230 " "
Order of pole (six term test) = 8.38724645291222300000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3599999999999923 " "
y[1] (analytic) = 7.54739765728773500E-2 " "
y[1] (numeric) = 7.54739765728760100E-2 " "
absolute error = 1.3461454173580023000000000000000E-15 " "
relative error = 1.7835888321826662000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6400000000000077 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7537500000000077 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6372693173293666 " "
Order of pole (three term test) = 1225.02625656415 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.369999999999992 " "
y[1] (analytic) = 7.58903839294519700E-2 " "
y[1] (numeric) = 7.58903839294505700E-2 " "
absolute error = 1.4016565685892600000000000000000E-15 " "
relative error = 1.8469488438643902000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.630000000000008 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7434375000000077 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6272768192047744 " "
Order of pole (three term test) = 1225.0262565641292 " "
Radius of convergence (six term test) for eq 1 = 1.9858011607410058 " "
Order of pole (six term test) = -1.929123527588672000000000000E-12 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.379999999999992 " "
y[1] (analytic) = 7.63102469399587600E-2 " "
y[1] (numeric) = 7.63102469399572900E-2 " "
absolute error = 1.4710455076283324000000000000000E-15 " "
relative error = 1.9277168750164805000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.620000000000008 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.733125000000009 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.6172843210802226 " "
Order of pole (three term test) = 1225.026256564122 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3899999999999917 " "
y[1] (analytic) = 7.67336039471762300E-2 " "
y[1] (numeric) = 7.67336039471747100E-2 " "
absolute error = 1.5265566588595902000000000000000E-15 " "
relative error = 1.9894239033924155000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6100000000000083 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7228125000000083 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.607291822955698 " "
Order of pole (three term test) = 1225.026256564124 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3999999999999915 " "
y[1] (analytic) = 7.71604938271601300E-2 " "
y[1] (numeric) = 7.71604938271585500E-2 " "
absolute error = 1.582067810090848000000000000000E-15 " "
relative error = 2.0503598818777488000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.6000000000000085 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.712500000000009 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.597299324831146 " "
Order of pole (three term test) = 1225.0262565641171 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4099999999999913 " "
y[1] (analytic) = 7.75909559981684800E-2 " "
y[1] (numeric) = 7.75909559981668300E-2 " "
absolute error = 1.6514567491299204000000000000000E-15 " "
relative error = 2.128413972846143000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5900000000000087 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.7021875000000093 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.587306826706646 " "
Order of pole (three term test) = 1225.0262565641274 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.419999999999991 " "
y[1] (analytic) = 7.80250304297614900E-2 " "
y[1] (numeric) = 7.80250304297597700E-2 " "
absolute error = 1.7208456881689926000000000000000E-15 " "
relative error = 2.2055046677849185000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.580000000000009 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6918750000000085 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.577314328582149 " "
Order of pole (three term test) = 1225.0262565641392 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.429999999999991 " "
y[1] (analytic) = 7.84627576520800400E-2 " "
y[1] (numeric) = 7.84627576520782600E-2 " "
absolute error = 1.7763568394002505000000000000000E-15 " "
relative error = 2.263949028247237000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.570000000000009 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6815625000000094 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.567321830457606 " "
Order of pole (three term test) = 1225.0262565641349 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4399999999999906 " "
y[1] (analytic) = 7.89041787653069900E-2 " "
y[1] (numeric) = 7.89041787653051600E-2 " "
absolute error = 1.8318679906315083000000000000000E-15 " "
relative error = 2.3216362166067608000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5600000000000094 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.67125000000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.557329332333078 " "
Order of pole (three term test) = 1225.026256564136 " "
Radius of convergence (six term test) for eq 1 = 1.376638341399324 " "
Order of pole (six term test) = 2.096456341860175600000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4499999999999904 " "
y[1] (analytic) = 7.93493354493152000E-2 " "
y[1] (numeric) = 7.93493354493132700E-2 " "
absolute error = 1.915134717478395000000000000000E-15 " "
relative error = 2.4135485277021604000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5500000000000096 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6609375000000095 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.5473368342085325 " "
Order of pole (three term test) = 1225.026256564131 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.45999999999999 " "
y[1] (analytic) = 7.97982699735065300E-2 " "
y[1] (numeric) = 7.97982699735045700E-2 " "
absolute error = 1.970645868709652900000000000000E-15 " "
relative error = 2.4695345768322025000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.54000000000001 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6506250000000096 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.5373443360840278 " "
Order of pole (three term test) = 1225.0262565641399 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.46999999999999 " "
y[1] (analytic) = 8.02510252068465600E-2 " "
y[1] (numeric) = 8.02510252068445200E-2 " "
absolute error = 2.040034807748725100000000000000E-15 " "
relative error = 2.5420669735876233000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.53000000000001 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6403125000000105 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.5273518379594746 " "
Order of pole (three term test) = 1225.0262565641324 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4799999999999898 " "
y[1] (analytic) = 8.07076446280987100E-2 " "
y[1] (numeric) = 8.07076446280965900E-2 " "
absolute error = 2.123301534595612000000000000000E-15 " "
relative error = 2.6308555334253625000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5200000000000102 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.6300000000000106 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.517359339834919 " "
Order of pole (three term test) = 1225.0262565641235 " "
Radius of convergence (six term test) for eq 1 = 2.2458326156328536 " "
Order of pole (six term test) = -2.41868747252738100000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4899999999999896 " "
y[1] (analytic) = 8.11681723362630300E-2 " "
y[1] (numeric) = 8.11681723362608200E-2 " "
absolute error = 2.2065682614424986000000000000000E-15 " "
relative error = 2.718514163779789000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5100000000000104 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.61968750000001 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.5073668417104025 " "
Order of pole (three term test) = 1225.0262565641285 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4999999999999893 " "
y[1] (analytic) = 8.163265306122400E-2 " "
y[1] (numeric) = 8.16326530612217200E-2 " "
absolute error = 2.275957200481571000000000000000E-15 " "
relative error = 2.7880475705899416000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.5000000000000107 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.609375000000011 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4973743435859066 " "
Order of pole (three term test) = 1225.0262565641408 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.509999999999989 " "
y[1] (analytic) = 8.21011321746121800E-2 " "
y[1] (numeric) = 8.21011321746098100E-2 " "
absolute error = 2.3592239273284576000000000000000E-15 " "
relative error = 2.8735583357253525000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.490000000000011 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.599062500000011 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.487381845461397 " "
Order of pole (three term test) = 1225.0262565641485 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.519999999999989 " "
y[1] (analytic) = 8.25736557008846600E-2 " "
y[1] (numeric) = 8.25736557008822200E-2 " "
absolute error = 2.4424906541753444000000000000000E-15 " "
relative error = 2.9579538818325280000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.480000000000011 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.588750000000011 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4773893473368336 " "
Order of pole (three term test) = 1225.026256564137 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5299999999999887 " "
y[1] (analytic) = 8.30502703286293800E-2 " "
y[1] (numeric) = 8.30502703286268600E-2 " "
absolute error = 2.525757381022231000000000000000E-15 " "
relative error = 3.0412392049150777000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.4700000000000113 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.5784375000000117 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.467396849212326 " "
Order of pole (three term test) = 1225.0262565641453 " "
Radius of convergence (six term test) for eq 1 = 5.345839392584406 " "
Order of pole (six term test) = 3.82271991838933900000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5399999999999885 " "
y[1] (analytic) = 8.35310234220984000E-2 " "
y[1] (numeric) = 8.3531023422095800E-2 " "
absolute error = 2.609024107869118000000000000000E-15 " "
relative error = 3.123419300976614000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.4600000000000115 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.5681250000000118 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4574043510877885 " "
Order of pole (three term test) = 1225.0262565641428 " "
Radius of convergence (six term test) for eq 1 = 1.6190544634142003 " "
Order of pole (six term test) = 6.19344575625291300000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5499999999999883 " "
y[1] (analytic) = 8.40159630329756900E-2 " "
y[1] (numeric) = 8.401596303297300E-2 " "
absolute error = 2.6922908347160046000000000000000E-15 " "
relative error = 3.2044991660207460000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.4500000000000117 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.557812500000012 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.447411852963239 " "
Order of pole (three term test) = 1225.0262565641362 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.559999999999988 " "
y[1] (analytic) = 8.4505137912384500E-2 " "
y[1] (numeric) = 8.4505137912381700E-2 " "
absolute error = 2.789435349370706000000000000000E-15 " "
relative error = 3.300906215031340600000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.440000000000012 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.5475000000000128 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4374193548387177 " "
Order of pole (three term test) = 1225.0262565641399 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.569999999999988 " "
y[1] (analytic) = 8.49985975231402600E-2 " "
y[1] (numeric) = 8.49985975231373900E-2 " "
absolute error = 2.8727020762175925000000000000000E-15 " "
relative error = 3.3797052656492593000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.430000000000012 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.537187500000012 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4274268567142014 " "
Order of pole (three term test) = 1225.026256564145 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5799999999999876 " "
y[1] (analytic) = 8.54963920522547800E-2 " "
y[1] (numeric) = 8.5496392052251800E-2 " "
absolute error = 2.9698465908722940000000000000000E-15 " "
relative error = 3.473651366547895000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.4200000000000124 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.526875000000012 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.417434358589658 " "
Order of pole (three term test) = 1225.02625656414 " "
Radius of convergence (six term test) for eq 1 = 5.422003538209845 " "
Order of pole (six term test) = -3.87920806588226700000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5899999999999874 " "
y[1] (analytic) = 8.59985724236971300E-2 " "
y[1] (numeric) = 8.59985724236940600E-2 " "
absolute error = 3.066991105526995000000000000000E-15 " "
relative error = 3.5663279274178716000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.4100000000000126 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.5165625000000125 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.4074418604651098 " "
Order of pole (three term test) = 1225.026256564134 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.599999999999987 " "
y[1] (analytic) = 8.65051903114180300E-2 " "
y[1] (numeric) = 8.65051903114148600E-2 " "
absolute error = 3.1780134079895106000000000000000E-15 " "
relative error = 3.673783499635901500000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.400000000000013 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.506250000000013 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.397449362340588 " "
Order of pole (three term test) = 1225.0262565641374 " "
Radius of convergence (six term test) for eq 1 = 13.68664152525374 " "
Order of pole (six term test) = -7.7034201240167020000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.609999999999987 " "
y[1] (analytic) = 8.70162981526433300E-2 " "
y[1] (numeric) = 8.70162981526400500E-2 " "
absolute error = 3.2890357104520260000000000000000E-15 " "
relative error = 3.779792728808601400000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.390000000000013 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4959375000000135 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.387456864216086 " "
Order of pole (three term test) = 1225.026256564148 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.619999999999987 " "
y[1] (analytic) = 8.75319491614432500E-2 " "
y[1] (numeric) = 8.75319491614398600E-2 " "
absolute error = 3.3861802251067274000000000000000E-15 " "
relative error = 3.86850773637096000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.380000000000013 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.485625000000014 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.377464366091507 " "
Order of pole (three term test) = 1225.0262565641306 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6299999999999866 " "
y[1] (analytic) = 8.80521973425839700E-2 " "
y[1] (numeric) = 8.80521973425805000E-2 " "
absolute error = 3.4833247397614286000000000000000E-15 " "
relative error = 3.9559770736996885000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.3700000000000134 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4753125000000145 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.3674718679670295 " "
Order of pole (three term test) = 1225.02625656415 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6399999999999864 " "
y[1] (analytic) = 8.85770975056682100E-2 " "
y[1] (numeric) = 8.85770975056646100E-2 " "
absolute error = 3.594347042223944300000000000000E-15 " "
relative error = 4.0578740367891775000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.3600000000000136 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.465000000000014 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.3574793698424936 " "
Order of pole (three term test) = 1225.0262565641483 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.649999999999986 " "
y[1] (analytic) = 8.91067052795715400E-2 " "
y[1] (numeric) = 8.91067052795678300E-2 " "
absolute error = 3.70536934468646000000000000000E-15 " "
relative error = 4.1583507470744147000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.350000000000014 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4546875000000137 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.347486871717971 " "
Order of pole (three term test) = 1225.0262565641513 " "
Radius of convergence (six term test) for eq 1 = 2.805867294775693 " "
Order of pole (six term test) = 1.58060231569834300000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.659999999999986 " "
y[1] (analytic) = 8.96410771271820100E-2 " "
y[1] (numeric) = 8.96410771271781700E-2 " "
absolute error = 3.8441472227646045000000000000000E-15 " "
relative error = 4.288376875827318000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.340000000000014 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4443750000000146 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.3374943735933975 " "
Order of pole (three term test) = 1225.0262565641358 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6699999999999857 " "
y[1] (analytic) = 9.01802703604497800E-2 " "
y[1] (numeric) = 9.01802703604458200E-2 " "
absolute error = 3.95516952522712000000000000000E-15 " "
relative error = 4.385847934829139000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.3300000000000143 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.434062500000015 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.327501875468844 " "
Order of pole (three term test) = 1225.0262565641272 " "
Radius of convergence (six term test) for eq 1 = 3.6139338701710995 " "
Order of pole (six term test) = -5.97566440774244300000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6799999999999855 " "
y[1] (analytic) = 9.07243431557547700E-2 " "
y[1] (numeric) = 9.07243431557506900E-2 " "
absolute error = 4.08006961549745030000000000000E-15 " "
relative error = 4.497215932985948500000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.3200000000000145 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4237500000000147 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.3175093773443423 " "
Order of pole (three term test) = 1225.026256564138 " "
Radius of convergence (six term test) for eq 1 = 3.357578211049305 " "
Order of pole (six term test) = 7.9936057773011270000000000000E-13 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6899999999999853 " "
y[1] (analytic) = 9.12733545695996900E-2 " "
y[1] (numeric) = 9.1273354569595500E-2 " "
absolute error = 4.191091917959966000000000000000E-15 " "
relative error = 4.591802216236159400000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.3100000000000147 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.4134375000000152 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.307516879219796 " "
Order of pole (three term test) = 1225.0262565641324 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.699999999999985 " "
y[1] (analytic) = 9.18273645546364500E-2 " "
y[1] (numeric) = 9.18273645546321400E-2 " "
absolute error = 4.3021142204224816000000000000000E-15 " "
relative error = 4.685002386040125000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.300000000000015 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.403125000000016 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.29752438109529 " "
Order of pole (three term test) = 1225.0262565641417 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.709999999999985 " "
y[1] (analytic) = 9.2386433976034100E-2 " "
y[1] (numeric) = 9.23864339760296600E-2 " "
absolute error = 4.440892098500626000000000000000E-15 " "
relative error = 4.806866016338107000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.290000000000015 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3928125000000153 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2875318829707547 " "
Order of pole (three term test) = 1225.0262565641399 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7199999999999847 " "
y[1] (analytic) = 9.29506246281966300E-2 " "
y[1] (numeric) = 9.29506246281920500E-2 " "
absolute error = 4.579669976578771000000000000000E-15 " "
relative error = 4.926992147602551000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.2800000000000153 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3825000000000154 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2775393848462318 " "
Order of pole (three term test) = 1225.0262565641428 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7299999999999844 " "
y[1] (analytic) = 9.35199992518391100E-2 " "
y[1] (numeric) = 9.3519999251834400E-2 " "
absolute error = 4.718447854656915300000000000000E-15 " "
relative error = 5.045389106506141000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.2700000000000156 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.372187500000016 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2675468867216813 " "
Order of pole (three term test) = 1225.0262565641356 " "
Radius of convergence (six term test) for eq 1 = 3.337842086368971 " "
Order of pole (six term test) = -6.55333565191540400000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7399999999999842 " "
y[1] (analytic) = 9.40946215514312100E-2 " "
y[1] (numeric) = 9.40946215514263400E-2 " "
absolute error = 4.871103520542874300000000000000E-15 " "
relative error = 5.176813977492195000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.2600000000000158 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.361875000000017 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.257554388597141 " "
Order of pole (three term test) = 1225.0262565641317 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.749999999999984 " "
y[1] (analytic) = 9.46745562130168100E-2 " "
y[1] (numeric) = 9.46745562130118100E-2 " "
absolute error = 5.009881398621019000000000000000E-15 " "
relative error = 5.291687227293503000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.250000000000016 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3515625000000164 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2475618904726478 " "
Order of pole (three term test) = 1225.0262565641463 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.759999999999984 " "
y[1] (analytic) = 9.52598689224194200E-2 " "
y[1] (numeric) = 9.52598689224142500E-2 " "
absolute error = 5.162537064506978000000000000000E-15 " "
relative error = 5.419424908836898000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.240000000000016 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3412500000000165 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.237569392348088 " "
Order of pole (three term test) = 1225.0262565641353 " "
Radius of convergence (six term test) for eq 1 = 10.024482193405838 " "
Order of pole (six term test) = -4.225704230975680000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7699999999999836 " "
y[1] (analytic) = 9.58506263838424400E-2 " "
y[1] (numeric) = 9.58506263838371300E-2 " "
absolute error = 5.3013149425851220000000000000000E-15 " "
relative error = 5.530808866449689000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.2300000000000164 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3309375000000174 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2275768942235707 " "
Order of pole (three term test) = 1225.0262565641408 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7799999999999834 " "
y[1] (analytic) = 9.64468963388748200E-2 " "
y[1] (numeric) = 9.64468963388693600E-2 " "
absolute error = 5.467848396278896000000000000000E-15 " "
relative error = 5.669283931197869000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.2200000000000166 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.3206250000000166 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.2175843960989883 " "
Order of pole (three term test) = 1225.0262565641206 " "
Radius of convergence (six term test) for eq 1 = 4.47060206384288 " "
Order of pole (six term test) = -1.73976388850860530000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.789999999999983 " "
y[1] (analytic) = 9.7048747585911400E-2 " "
y[1] (numeric) = 9.70487475859057600E-2 " "
absolute error = 5.6343818499726690000000000000000E-15 " "
relative error = 5.805723402030398000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.210000000000017 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.310312500000017 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.20759189797453 " "
Order of pole (three term test) = 1225.0262565641488 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.799999999999983 " "
y[1] (analytic) = 9.76562499999989600E-2 " "
y[1] (numeric) = 9.76562499999931700E-2 " "
absolute error = 5.7870375158586280000000000000000E-15 " "
relative error = 5.9259264162392990000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.200000000000017 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.300000000000018 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.197599399849938 " "
Order of pole (three term test) = 1225.026256564125 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8099999999999827 " "
y[1] (analytic) = 9.8269474553118510E-2 " "
y[1] (numeric) = 9.82694745531125300E-2 " "
absolute error = 5.9674487573602160000000000000000E-15 " "
relative error = 6.072535529977395000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1900000000000173 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2896875000000176 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1876069017254336 " "
Order of pole (three term test) = 1225.0262565641353 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8199999999999825 " "
y[1] (analytic) = 9.88884933349144600E-2 " "
y[1] (numeric) = 9.88884933349083300E-2 " "
absolute error = 6.13398221105399000000000000000E-15 " "
relative error = 6.202928171106304000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1800000000000175 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2793750000000186 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.177614403600899 " "
Order of pole (three term test) = 1225.0262565641337 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8299999999999823 " "
y[1] (analytic) = 9.95133795738826100E-2 " "
y[1] (numeric) = 9.95133795738762900E-2 " "
absolute error = 6.314393452555578000000000000000E-15 " "
relative error = 6.345270836538645000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1700000000000177 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2690625000000186 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1676219054763584 " "
Order of pole (three term test) = 1225.0262565641299 " "
Radius of convergence (six term test) for eq 1 = 2.037131587943752 " "
Order of pole (six term test) = -4.64659422050317500000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.839999999999982 " "
y[1] (analytic) = 0.10014420765902786 " "
y[1] (numeric) = 0.10014420765902138 " "
absolute error = 6.480926906249351000000000000000E-15 " "
relative error = 6.471594371504426000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.160000000000018 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2587500000000182 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1576294073518527 " "
Order of pole (three term test) = 1225.0262565641397 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.849999999999982 " "
y[1] (analytic) = 0.10078105316200438 " "
y[1] (numeric) = 0.1007810531619977 " "
absolute error = 6.675215935558754000000000000000E-15 " "
relative error = 6.62348301205825000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.150000000000018 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2484375000000187 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1476369092272884 " "
Order of pole (three term test) = 1225.0262565641267 " "
Radius of convergence (six term test) for eq 1 = 5.066688664928605 " "
Order of pole (six term test) = -2.0789414634236890000000000E-10 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8599999999999817 " "
y[1] (analytic) = 0.10142399285974972 " "
y[1] (numeric) = 0.10142399285974284 " "
absolute error = 6.8833827526759700000000000000000E-15 " "
relative error = 6.786740058828479000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1400000000000183 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.238125000000019 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1376444111027526 " "
Order of pole (three term test) = 1225.0262565641247 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8699999999999815 " "
y[1] (analytic) = 0.1020731047576262 " "
y[1] (numeric) = 0.10207310475761912 " "
absolute error = 7.077671781985373000000000000000E-15 " "
relative error = 6.933924268093333000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1300000000000185 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2278125000000193 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1276519129782296 " "
Order of pole (three term test) = 1225.026256564128 " "
Radius of convergence (six term test) for eq 1 = 1.7841851175099606 " "
Order of pole (six term test) = -1.304201191487664000000000000E-11 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8799999999999812 " "
y[1] (analytic) = 0.10272846811308227 " "
y[1] (numeric) = 0.10272846811307497 " "
absolute error = 7.299716386910404000000000000000E-15 " "
relative error = 7.105835919674148000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.1200000000000188 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2175000000000193 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1176594148537182 " "
Order of pole (three term test) = 1225.0262565641356 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.889999999999981 " "
y[1] (analytic) = 0.10339016345984718 " "
y[1] (numeric) = 0.10339016345983966 " "
absolute error = 7.521760991835436000000000000000E-15 " "
relative error = 7.27512244891323900000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.110000000000019 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.2071875000000194 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.1076669167291606 " "
Order of pole (three term test) = 1225.026256564125 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.899999999999981 " "
y[1] (analytic) = 0.104058272632673 " "
y[1] (numeric) = 0.10405827263266529 " "
absolute error = 7.716050021144838000000000000000E-15 " "
relative error = 7.415124070320281000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.100000000000019 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.19687500000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.0976744186046252 " "
Order of pole (three term test) = 1225.0262565641228 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9099999999999806 " "
y[1] (analytic) = 0.10473287879263807 " "
y[1] (numeric) = 0.10473287879263012 " "
absolute error = 7.951972413877684000000000000000E-15 " "
relative error = 7.592622780494647000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0900000000000194 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.1865625000000204 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.0876819204801387 " "
Order of pole (three term test) = 1225.0262565641408 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9199999999999804 " "
y[1] (analytic) = 0.10541406645302616 " "
y[1] (numeric) = 0.10541406645301798 " "
absolute error = 8.174017018802715000000000000000E-15 " "
relative error = 7.754199504717105000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0800000000000196 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.17625000000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.077689422355588 " "
Order of pole (three term test) = 1225.0262565641326 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.92999999999998 " "
y[1] (analytic) = 0.10610192150579711 " "
y[1] (numeric) = 0.1061019215057887 " "
absolute error = 8.409939411535561000000000000000E-15 " "
relative error = 7.926283795978252000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.07000000000002 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.16593750000002 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.06769692423109 " "
Order of pole (three term test) = 1225.0262565641463 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.93999999999998 " "
y[1] (analytic) = 0.10679653124866363 " "
y[1] (numeric) = 0.10679653124865501 " "
absolute error = 8.618106228652778000000000000000E-15 " "
relative error = 8.069649948261423000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.06000000000002 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.1556250000000206 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.057704426106519 " "
Order of pole (three term test) = 1225.0262565641299 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9499999999999797 " "
y[1] (analytic) = 0.10749798441279083 " "
y[1] (numeric) = 0.10749798441278195 " "
absolute error = 8.881784197001252000000000000000E-15 " "
relative error = 8.262279749260525000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0500000000000203 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.1453125000000206 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.047711927982027 " "
Order of pole (three term test) = 1225.0262565641456 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9599999999999795 " "
y[1] (analytic) = 0.10820637119113428 " "
y[1] (numeric) = 0.10820637119112514 " "
absolute error = 9.145462165349727000000000000000E-15 " "
relative error = 8.451870314729718000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0400000000000205 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.135000000000021 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.0377194298574497 " "
Order of pole (three term test) = 1225.0262565641265 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9699999999999793 " "
y[1] (analytic) = 0.10892178326743415 " "
y[1] (numeric) = 0.10892178326742477 " "
absolute error = 9.381384558082573000000000000000E-15 " "
relative error = 8.612955348930148000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0300000000000207 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.1246875000000216 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.0277269317329503 " "
Order of pole (three term test) = 1225.0262565641394 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.979999999999979 " "
y[1] (analytic) = 0.10964431384588243 " "
y[1] (numeric) = 0.10964431384587277 " "
absolute error = 9.658940314238862000000000000000E-15 " "
relative error = 8.809339924198534000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.020000000000021 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.114375000000021 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.017734433608408 " "
Order of pole (three term test) = 1225.026256564135 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.989999999999979 " "
y[1] (analytic) = 0.110374057681481 " "
y[1] (numeric) = 0.11037405768147106 " "
absolute error = 9.936496070395151000000000000000E-15 " "
relative error = 9.002564804738837000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.010000000000021 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.104062500000022 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 3.007741935483912 " "
Order of pole (three term test) = 1225.0262565641494 " "
"NO COMPLEX POLE (six term test) for Equation 1"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9999999999999787 " "
y[1] (analytic) = 0.11111111111110954 " "
y[1] (numeric) = 0.11111111111109931 " "
absolute error = 1.022792961435925500000000000000E-14 " "
relative error = 9.20513665292346000000000000E-12 "%"
Correct digits = 15
h = 1.00E-2 " "
Radius of convergence (given) for eq 1 = 3.0000000000000213 " "
Order of pole (given) = 3. " "
Radius of convergence (ratio test) for eq 1 = 3.0937500000000218 " "
"Order of pole (ratio test) Not computed"
Radius of convergence (three term test) for eq 1 = 2.9977494373593485 " "
Order of pole (three term test) = 1225.0262565641358 " "
"NO COMPLEX POLE (six term test) for Equation 1"
"Finished!"
"diff ( y , x , 1 ) = m1 * 2.0 / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0) ;"
Iterations = 101
"Total Elapsed Time "= 0 Years 0 Days 0 Hours 1 Minutes 45 Seconds
"Elapsed Time(since restart) "= 0 Years 0 Days 0 Hours 1 Minutes 31 Seconds
"Time to Timeout "= 0 Years 0 Days 0 Hours 1 Minutes 14 Seconds
Percent Done = 101.99999999999783 "%"
(%o58) true
(%o58) diffeq.max