(%i1) batch("temp/diffeq.sing6.max")
read and interpret file: /home/dennis/src/mine/omni/testtar/omnisode0060dir/temp/diffeq.sing6.max
(%i2) load("stringproc")
(%i3) keepfloat:true
(%i4) alias(convfloat,float)
(%i5) alias(int_trunc,truncate)
(%i6) alias(elapsed_time_seconds,elapsed_real_time)
(%i7) alias(ln,log)
(%i8) alias(arcsin,asin)
(%i9) alias(arccos,acos)
(%i10) alias(arctan,atan)
(%i11) alias(float_abs,abs)
(%i12) mode_declare(display_poles(),fixnum)
(%i13) mode_declare(est_size_answer(),convfloat)
(%i14) mode_declare(test_suggested_h(),convfloat)
(%i15) mode_declare(reached_interval(),boolean)
(%i16) mode_declare(display_alot([iter],fixnum),fixnum)
(%i17) mode_declare(prog_report([x_start],convfloat,[x_end],convfloat),fixnum)
(%i18) mode_declare(check_for_pole(),fixnum)
(%i19) mode_declare(atomall(),fixnum)
(%i20) mode_declare(log10([x],convfloat),convfloat)
(%i21) mode_declare(logitem_timestr([fd],fixnum,[secs_in],number),fixnum)
(%i22) mode_declare(omniout_timestr(secs_in,number),fixnum)
(%i23) mode_declare(zero_ats_ar(ar,array([20],convfloat)),fixnum)
(%i24) mode_declare(ats([mmm_ats],fixnum,[arr_a],
completearray([20],convfloat),[arr_b],
completearray([20],convfloat),[jjj_ats],fixnum),
convfloat)
(%i25) mode_declare(att([mmm_att],fixnum,[arr_a],
completearray([20],convfloat),[arr_b],
completearray([20],convfloat),[jjj_att],fixnum),
convfloat)
(%i26) mode_declare(logitem_ditto([file],fixnum),fixnum)
(%i27) mode_declare(logitem_integer([file],fixnum,[n],fixnum),fixnum)
(%i28) mode_declare(logitem_good_digits([file],fixnum,[relerror],convfloat),fixnum)
(%i29) mode_declare(logitem_number([file],fixnum,[x],number),fixnum)
(%i30) mode_declare(logitem_pole([file],fixnum,[pole],fixnum),fixnum)
(%i31) mode_declare(logstart([file],fixnum),fixnum)
(%i32) mode_declare(logend([file],fixnum),fixnum)
(%i33) mode_declare(chk_data(),fixnum)
(%i34) mode_declare(comp_expect_sec([t_end2],convfloat,[t_start2],convfloat,
[t2],convfloat,[clock_sec2],convfloat),
convfloat)
(%i35) mode_declare(comp_percent([t_end2],convfloat,[start2],convfloat,[t2],
convfloat),convfloat)
(%i36) mode_declare(comp_rad_from_ratio([term1],convfloat,[term2],convfloat,
[last_no],fixnum),convfloat)
(%i37) mode_declare(comp_ord_from_ratio([term1],convfloat,[term2],convfloat,
[last_no],fixnum),convfloat)
(%i38) mode_declare(comp_rad_from_three_terms([term1],convfloat,[term2],
convfloat,[term3],convfloat,
[last_no],fixnum),convfloat)
(%i39) mode_declare(comp_ord_from_three_terms([term1],convfloat,[term2],
convfloat,[term3],convfloat,
[last_no],fixnum),convfloat)
(%i40) mode_declare(comp_rad_from_six_terms([term1],convfloat,[term2],
convfloat,[term3],convfloat,
[term4],convfloat,[term5],
convfloat,[term6],convfloat,
[last_no],fixnum),convfloat)
(%i41) mode_declare(comp_ord_from_six_terms([term1],convfloat,[term2],
convfloat,[term3],convfloat,
[term4],convfloat,[term5],
convfloat,[term6],convfloat,
[last_no],fixnum),convfloat)
(%i42) mode_declare(neg([nnn],convfloat),convfloat)
(%i43) mode_declare(factorial_2([nnn],fixnum),convfloat)
(%i44) mode_declare(factorial_1([nnn],fixnum),convfloat)
(%i45) mode_declare(factorial_3([mmm],fixnum,[nnn],fixnum),convfloat)
(%i46) mode_declare(convfloat([mmm],fixnum),convfloat)
(%i47) mode_declare(elaped_time_seconds(),convfloat)
(%i48) mode_declare(Si([x],convfloat),convfloat)
(%i49) mode_declare(Ci([x],convfloat),convfloat)
(%i50) mode_declare(estimated_needed_step_error([x_start],convfloat,[x_end],
convfloat,[estimated_h],
convfloat,[estimated_answer],
convfloat),convfloat)
(%i51) mode_declare(my_check_sign([x0],convfloat,[xf],convfloat),convfloat)
(%i52) mode_declare(main_prog(),fixnum)
(%i53) define_variable(always,1,fixnum)
(%i54) define_variable(info,2,fixnum)
(%i55) define_variable(debugl,3,fixnum)
(%i56) define_variable(debugmassive,4,fixnum)
(%i57) define_variable(glob_iolevel,5,fixnum)
(%i58) define_variable(glob_yes_pole,4,fixnum)
(%i59) define_variable(glob_no_pole,3,fixnum)
(%i60) define_variable(glob_not_given,0,fixnum)
(%i61) define_variable(glob_no_sing_tests,4,fixnum)
(%i62) define_variable(glob_ratio_test,1,fixnum)
(%i63) define_variable(glob_three_term_test,2,fixnum)
(%i64) define_variable(glob_six_term_test,3,fixnum)
(%i65) define_variable(ats_max_terms,20,fixnum)
(%i66) define_variable(glob_log_10,0.0,convfloat)
(%i67) define_variable(max_unchanged,10,fixnum)
(%i68) define_variable(glob__small,1.0E-51,convfloat)
(%i69) define_variable(glob_small_float,1.0E-51,convfloat)
(%i70) define_variable(glob_smallish_float,1.0E-61,convfloat)
(%i71) define_variable(glob_large_float,1.0E+100,convfloat)
(%i72) define_variable(glob_larger_float,1.1E+100,convfloat)
(%i73) define_variable(glob__m2,-2.0,convfloat)
(%i74) define_variable(glob__m1,-1.0,convfloat)
(%i75) define_variable(glob__0,0.0,convfloat)
(%i76) define_variable(glob__1,1.0,convfloat)
(%i77) define_variable(glob__2,2.0,convfloat)
(%i78) define_variable(glob__3,3.0,convfloat)
(%i79) define_variable(glob__4,4.0,convfloat)
(%i80) define_variable(glob__5,5.0,convfloat)
(%i81) define_variable(glob__8,8.0,convfloat)
(%i82) define_variable(glob__10,10.0,convfloat)
(%i83) define_variable(glob__100,100.0,convfloat)
(%i84) define_variable(glob__pi,0.0,convfloat)
(%i85) define_variable(glob__0_5,0.5,convfloat)
(%i86) define_variable(glob__0_8,0.8,convfloat)
(%i87) define_variable(glob__m0_8,-0.8,convfloat)
(%i88) define_variable(glob__0_25,0.25,convfloat)
(%i89) define_variable(glob__0_125,0.125,convfloat)
(%i90) define_variable(glob_prec,1.0E-16,convfloat)
(%i91) define_variable(glob_check_sign,1.0,convfloat)
(%i92) define_variable(glob_desired_digits_correct,8.0,convfloat)
(%i93) define_variable(glob_max_estimated_step_error,0.0,convfloat)
(%i94) define_variable(glob_ratio_of_radius,0.1,convfloat)
(%i95) define_variable(glob_percent_done,0.0,convfloat)
(%i96) define_variable(glob_total_exp_sec,0.1,convfloat)
(%i97) define_variable(glob_optimal_expect_sec,0.1,convfloat)
(%i98) define_variable(glob_estimated_size_answer,100.0,convfloat)
(%i99) define_variable(glob_almost_1,0.999,convfloat)
(%i100) define_variable(glob_clock_sec,0.0,convfloat)
(%i101) define_variable(glob_clock_start_sec,0.0,convfloat)
(%i102) define_variable(glob_disp_incr,0.1,convfloat)
(%i103) define_variable(glob_h,0.1,convfloat)
(%i104) define_variable(glob_diff_rc_fm,0.1,convfloat)
(%i105) define_variable(glob_diff_rc_fmm1,0.1,convfloat)
(%i106) define_variable(glob_diff_rc_fmm2,0.1,convfloat)
(%i107) define_variable(glob_diff_ord_fm,0.1,convfloat)
(%i108) define_variable(glob_diff_ord_fmm1,0.1,convfloat)
(%i109) define_variable(glob_diff_ord_fmm2,0.1,convfloat)
(%i110) define_variable(glob_six_term_ord_save,0.1,convfloat)
(%i111) define_variable(glob_guess_error_rc,0.1,convfloat)
(%i112) define_variable(glob_guess_error_ord,0.1,convfloat)
(%i113) define_variable(glob_least_given_sing,9.9E+200,convfloat)
(%i114) define_variable(glob_least_ratio_sing,9.9E+200,convfloat)
(%i115) define_variable(glob_least_3_sing,9.9E+100,convfloat)
(%i116) define_variable(glob_least_6_sing,9.9E+100,convfloat)
(%i117) define_variable(glob_last_good_h,0.1,convfloat)
(%i118) define_variable(glob_max_h,0.1,convfloat)
(%i119) define_variable(glob_min_h,1.0E-6,convfloat)
(%i120) define_variable(glob_display_interval,0.1,convfloat)
(%i121) define_variable(glob_abserr,1.0E-11,convfloat)
(%i122) define_variable(glob_relerr,1.0E-11,convfloat)
(%i123) define_variable(glob_min_pole_est,1.0E+9,convfloat)
(%i124) define_variable(glob_max_rel_trunc_err,1.0E-11,convfloat)
(%i125) define_variable(glob_max_trunc_err,1.0E-11,convfloat)
(%i126) define_variable(glob_max_hours,0.0,convfloat)
(%i127) define_variable(glob_optimal_clock_start_sec,0.0,convfloat)
(%i128) define_variable(glob_optimal_start,0.0,convfloat)
(%i129) define_variable(glob_upper_ratio_limit,1.0001,convfloat)
(%i130) define_variable(glob_lower_ratio_limit,0.9999,convfloat)
(%i131) define_variable(glob_max_sec,10000.0,convfloat)
(%i132) define_variable(glob_orig_start_sec,0.0,convfloat)
(%i133) define_variable(glob_normmax,0.0,convfloat)
(%i134) define_variable(glob_max_minutes,0.0,convfloat)
(%i135) define_variable(glob_next_display,0.0,convfloat)
(%i136) define_variable(glob_est_digits,1,fixnum)
(%i137) define_variable(glob_subiter_method,3,fixnum)
(%i138) define_variable(glob_html_log,true,boolean)
(%i139) define_variable(glob_min_good_digits,99999,fixnum)
(%i140) define_variable(glob_good_digits,0,fixnum)
(%i141) define_variable(glob_min_apfp_est_good_digits,99999,fixnum)
(%i142) define_variable(glob_apfp_est_good_digits,0,fixnum)
(%i143) define_variable(glob_max_opt_iter,10,fixnum)
(%i144) define_variable(glob_dump,false,boolean)
(%i145) define_variable(glob_djd_debug,true,boolean)
(%i146) define_variable(glob_display_flag,true,boolean)
(%i147) define_variable(glob_djd_debug2,true,boolean)
(%i148) define_variable(glob_h_reason,0,fixnum)
(%i149) define_variable(glob_sec_in_minute,60,fixnum)
(%i150) define_variable(glob_min_in_hour,60,fixnum)
(%i151) define_variable(glob_hours_in_day,24,fixnum)
(%i152) define_variable(glob_days_in_year,365,fixnum)
(%i153) define_variable(glob_sec_in_hour,3600,fixnum)
(%i154) define_variable(glob_sec_in_day,86400,fixnum)
(%i155) define_variable(glob_sec_in_year,31536000,fixnum)
(%i156) define_variable(glob_not_yet_finished,true,boolean)
(%i157) define_variable(glob_initial_pass,true,boolean)
(%i158) define_variable(glob_not_yet_start_msg,true,boolean)
(%i159) define_variable(glob_reached_optimal_h,false,boolean)
(%i160) define_variable(glob_optimal_done,false,boolean)
(%i161) define_variable(glob_type_given_pole,0,fixnum)
(%i162) define_variable(glob_optimize,false,boolean)
(%i163) define_variable(glob_look_poles,false,boolean)
(%i164) define_variable(glob_dump_closed_form,false,boolean)
(%i165) define_variable(glob_max_iter,1000,fixnum)
(%i166) define_variable(glob_no_eqs,0,fixnum)
(%i167) define_variable(glob_unchanged_h_cnt,0,fixnum)
(%i168) define_variable(glob_warned,false,boolean)
(%i169) define_variable(glob_warned2,false,boolean)
(%i170) define_variable(glob_start,0,fixnum)
(%i171) define_variable(glob_iter,0,fixnum)
(%i172) completearray(array_y_init,[20],convfloat)
(%i173) completearray(array_norms,[20],convfloat)
(%i174) completearray(array_fact_1,[20],convfloat)
(%i175) completearray(array_1st_rel_error,[2],convfloat)
(%i176) completearray(array_last_rel_error,[2],convfloat)
(%i177) completearray(array_est_rel_error,[2],convfloat)
(%i178) completearray(array_max_est_error,[2],convfloat)
(%i179) completearray(array_type_pole,[2],convfloat)
(%i180) completearray(array_type_real_pole,[2],convfloat)
(%i181) completearray(array_type_complex_pole,[2],convfloat)
(%i182) completearray(array_est_digits,[2],convfloat)
(%i183) completearray(array_y,[20],convfloat)
(%i184) completearray(array_x,[20],convfloat)
(%i185) completearray(array_tmp0,[20],convfloat)
(%i186) completearray(array_tmp1,[20],convfloat)
(%i187) completearray(array_tmp2,[20],convfloat)
(%i188) completearray(array_tmp3,[20],convfloat)
(%i189) completearray(array_tmp4,[20],convfloat)
(%i190) completearray(array_tmp5,[20],convfloat)
(%i191) completearray(array_tmp6,[20],convfloat)
(%i192) completearray(array_tmp7,[20],convfloat)
(%i193) completearray(array_tmp8,[20],convfloat)
(%i194) completearray(array_m1,[20],convfloat)
(%i195) completearray(array_y_higher,[2,20],convfloat)
(%i196) completearray(array_y_higher_work,[2,20],convfloat)
(%i197) completearray(array_y_higher_work2,[2,20],convfloat)
(%i198) completearray(array_y_set_initial,[2,20],convfloat)
(%i199) completearray(array_given_rad_poles,[2,3],convfloat)
(%i200) completearray(array_given_ord_poles,[2,3],convfloat)
(%i201) completearray(array_rad_test_poles,[2,4],convfloat)
(%i202) completearray(array_ord_test_poles,[2,4],convfloat)
(%i203) completearray(array_fact_2,[20,20],convfloat)
(%i204) omniout_str(iolevel,str):=if glob_iolevel >= iolevel
then printf(true,"~a~%",string(str))
(%i205) omniout_str_noeol(iolevel,str):=if glob_iolevel >= iolevel
then printf(true,"~a",string(str))
(%i206) omniout_labstr(iolevel,label,str):=if glob_iolevel >= iolevel
then printf(true,"~a = ~a~%",string(label),
string(str))
(%i207) 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))
(%i208) omniout_int(iolevel,prelabel,prelen,value,vallen,postlabel):=if
glob_iolevel >= iolevel
then (printf(true,"~a = ~d ~a~%",prelabel,value,
postlabel),newline())
(%i209) omniout_float_arr(iolevel,prelabel,elemnt,prelen,value,vallen,
postlabel):=if glob_iolevel >= iolevel
then (sprint(prelabel,"[",elemnt,"]=",value,
postlabel),newline())
(%i210) logitem_time(fd,secs_in):=(
block(mode_declare(
[[days_int,hours_int,minutes_int,sec_int,
years_int],fixnum,[secs,secs_temp],convfloat]),
secs:secs_in,printf(fd,"
~%"),
if secs >= 0
then (years_int
:truncate(secs/glob_sec_in_year),
sec_temp
:mod(truncate(secs),
truncate(glob_sec_in_year)),
days_int
:truncate(sec_temp/glob_sec_in_day),
sec_temp
:mod(sec_temp,
truncate(glob_sec_in_day)),
hours_int
:truncate(sec_temp/glob_sec_in_hour),
sec_temp
:mod(sec_temp,
truncate(glob_sec_in_hour)),
minutes_int
:truncate(sec_temp/glob_sec_in_minute),
sec_int
:mod(sec_temp,
truncate(glob_sec_in_minute)),
if truncate(years_int) > 0.1
then printf(fd,
"~d Years ~f Days ~f Hours ~f Minutes ~f Seconds~%",
years_int,days_int,
hours_int,minutes_int,
sec_int)
elseif days_int > 0.1
then printf(fd,
"~d Days ~d Hours ~d Minutes ~d Seconds~%",
days_int,hours_int,
minutes_int,sec_int)
elseif hours_int > 0.1
then printf(fd,
"~d Hours ~d Minutes ~d Seconds~%",
hours_int,minutes_int,
sec_int)
elseif minutes_int > 0.1
then printf(fd,
"~d Minutes ~d Seconds~%",
minutes_int,sec_int)
else printf(fd,"~d Seconds~%",
sec_int))
else printf(fd," 0.0 Seconds~%"),
printf(fd," | ~%")),0)
(%i211) omniout_timestr(secs_in):=(
block(mode_declare(
[[days_int,hours_int,minutes_int,sec_int,
years_int],fixnum,[secs,secs_temp],
convfloat]),secs:secs_in,
if secs >= 0
then (
years_int:truncate(secs/glob_sec_in_year),
sec_temp
:mod(truncate(secs),
truncate(glob_sec_in_year)),
days_int:truncate(sec_temp/glob_sec_in_day),
sec_temp
:mod(sec_temp,truncate(glob_sec_in_day)),
hours_int
:truncate(sec_temp/glob_sec_in_hour),
sec_temp
:mod(sec_temp,truncate(glob_sec_in_hour)),
minutes_int
:truncate(sec_temp/glob_sec_in_minute),
sec_int
:mod(sec_temp,
truncate(glob_sec_in_minute)),
if years_int > 0
then printf(true,
"= ~f Years ~f Days ~f Hours ~f Minutes ~f Seconds~%",
years_int,days_int,
hours_int,minutes_int,
sec_int)
elseif days_int > 0.1
then printf(true,
"= ~d Days ~d Hours ~d Minutes ~d Seconds~%",
days_int,hours_int,
minutes_int,sec_int)
elseif hours_int > 0.1
then printf(true,
"= ~d Hours ~d Minutes ~d Seconds~%",
hours_int,minutes_int,
sec_int)
elseif minutes_int > 0.1
then printf(true,
"= ~d Minutes ~d Seconds~%",
minutes_int,sec_int)
else printf(true,"= ~d Seconds~%",
sec_int))
else printf(true,"= 0.0 Seconds~%")),0)
(%i212) zero_ats_ar(arr_a):=(
block(mode_declare([iii],fixnum),iii:1,
while iii <= ats_max_terms do
(arr_a[iii]:glob__0,iii:1+iii)),0)
(%i213) ats(mmm_ats,arr_a,arr_b,jjj_ats):=block(
mode_declare([[iii_ats,lll_ats,ma_ats],fixnum,[ret_ats],
convfloat]),ret_ats:glob__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,
if lll_ats <= ats_max_terms
and iii_ats <= ats_max_terms
then ret_ats
:c(arr_a[iii_ats])*c(arr_b[lll_ats])+ret_ats,
iii_ats:1+iii_ats)),ret_ats)
(%i214) att(mmm_att,arr_aa,arr_bb,jjj_att):=block(
mode_declare([[al_att,iii_att,lll_att,ma_att],convfloat,[ret_att],
fixnum]),ret_att:glob__0,
if jjj_att < mmm_att
then (ma_att:2+mmm_att,iii_att:jjj_att,
while iii_att < mmm_att and iii_att <= ats_max_terms do
(lll_att:ma_att-iii_att,al_att:lll_att-1,
if lll_att <= ats_max_terms
and iii_att <= ats_max_terms
then ret_att
:c(arr_aa[iii_att])*c(arr_bb[lll_att])
*c(al_att)
+ret_att,iii_att:1+iii_att),
ret_att:ret_att/c(mmm_att)),ret_att)
(%i215) logditto(file):=(printf(file,""),printf(file,"ditto"),
printf(file," | "),0)
(%i216) logitem_integer(file,n):=(printf(file,""),printf(file,"~d",n),
printf(file," | "),0)
(%i217) logitem_str(file,str):=(printf(file,""),printf(file,str),
printf(file," | "),0)
(%i218) logitem_good_digits(file,rel_error):=(
block(mode_declare([[good_digits],fixnum]),
printf(file,""),
printf(file,"~d",glob_min_good_digits),
printf(file," | ")),0)
(%i219) log_revs(file,revs):=printf(file,revs)
(%i220) logitem_float(file,x):=(printf(file,""),printf(file,"~g",x),
printf(file," | "),0)
(%i221) logitem_h_reason(file):=(printf(file,""),
if glob_h_reason = 1 then printf(file,"Max H")
elseif glob_h_reason = 2
then printf(file,"Display_interval")
elseif glob_h_reason = 3
then printf(file,"Optimal")
elseif glob_h_reason = 4
then printf(file,"Pole Accuracy")
elseif glob_h_reason = 5
then printf(file,"Min H (Pole)")
elseif glob_h_reason = 6 then printf(file,"Pole")
elseif glob_h_reason = 7
then printf(file,"Opt Iter")
else printf(file,"Impossible"),
printf(file," | "),0)
(%i222) logstart(file):=(printf(file,""),0)
(%i223) logend(file):=(printf(file,"
~%"),0)
(%i224) chk_data():=(
block(mode_declare([[errflag],boolean]),errflag:false,
if glob_max_iter < 2
then (omniout_str(always,"Illegal max_iter"),
errflag:true),if errflag then quit()),0)
(%i225) comp_expect_sec(t_end2,t_start2,t2,clock_sec2):=block(
mode_declare([[ms2,rrr,sec_left,sub1,sub2],
convfloat]),ms2:c(clock_sec2),
sub1:c(t_end2-t_start2),sub2:c(t2-t_start2),
if sub1 = glob__0 then sec_left:glob__0
else (if sub2 > glob__0
then (rrr:sub1/sub2,
sec_left:rrr*c(ms2)-c(ms2))
else sec_left:glob__0),sec_left)
(%i226) comp_percent(t_end2,t_start2,t2):=block(
mode_declare([[rrr,sub1,sub2],convfloat]),
sub1:t_end2-t_start2,sub2:t2-t_start2,
if sub2 > glob_small_float then rrr:glob__100*sub2/sub1
else rrr:0.0,rrr)
(%i227) comp_rad_from_ratio(term1,term2,last_no):=(
if abs(term2) > glob__0
then ret:abs(term1*glob_h/term2)
else ret:glob_larger_float,ret)
(%i228) comp_ord_from_ratio(term1,term2,last_no):=(
if abs(term2) > glob__0
then ret
:abs(term2)*c(last_no)
*log(abs(term1*glob_h/term2))
/log(c(last_no))
+glob__1 else ret:glob_larger_float,ret)
(%i229) c(in_val):=(ret:in_val,ret)
(%i230) comp_rad_from_three_terms(term1,term2,term3,last_no):=(
temp:abs(
term1*term3-term1*term3*c(last_no)
+glob__m2*term2*term2
+term2*term2*c(last_no)),
if abs(temp) > glob__0
then ret:abs(term2*glob_h*term1/temp)
else ret:glob_larger_float,ret)
(%i231) comp_ord_from_three_terms(term1,term2,term3,last_no):=(
ret:abs(
(-term1*term3*c(last_no*last_no)
+term2*term2*c(last_no*last_no)
+glob__4*term2*term2
-glob__4*term2*term2*c(last_no)
-glob__3*term1*term3
+glob__4*term1*term3*c(last_no))
/(term1*term3-term1*term3*c(last_no)
-glob__2*term2*term2
+term2*term2*c(last_no))),
ret)
(%i232) comp_rad_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):=
(
if term5 # glob__0 and term4 # glob__0
and term3 # glob__0
and term2 # glob__0
and term1 # glob__0
then (rm0:term6/term5,rm1:term5/term4,
rm2:term4/term3,rm3:term3/term2,
rm4:term2/term1,
nr1
:c(last_no-3)*rm2
-glob__2*c(last_no-2)*rm1
+c(last_no-1)*rm0,
nr2
:c(last_no-4)*rm3
-glob__2*c(last_no-3)*rm2
+c(last_no-2)*rm1,
dr1
:(-glob__1)/rm3+glob__2/rm2
+glob__m1/rm1,
dr2
:(-glob__1)/rm4+glob__2/rm3
+glob__m1/rm2,
ds1
:glob__5/rm3-glob__8/rm2
+glob__3/rm1,
ds2
:glob__5/rm4-glob__8/rm3
+glob__3/rm2,
if
abs(nr1*dr2-nr2*dr1) = glob__0
or abs(dr1) = glob__0
then (rad_c:glob_larger_float,
ord_no:glob_larger_float)
else (if
abs(nr1*dr2-nr2*dr1) > glob__0
then (
rcs
:(dr1*dr2-ds2*dr1+ds1*dr2)
/(nr1*dr2-nr2*dr1),
ord_no
:(rcs*nr1-ds1)/(glob__2*dr1)
-c(last_no)/glob__2,
if abs(rcs) # glob__0
then (if rcs > glob__0
then rad_c
:sqrt(rcs)
*abs(glob_h)
else (
rad_c
:glob_larger_float,
ord_no
:glob_larger_float))
else (
rad_c:glob_larger_float,
ord_no:glob_larger_float))
else (rad_c:glob_larger_float,
ord_no:glob_larger_float)))
else (rad_c:glob_larger_float,
ord_no:glob_larger_float),
glob_six_term_ord_save:ord_no,rad_c)
(%i233) comp_ord_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):=glob_six_term_ord_save
(%i234) factorial_2(nnn):=block(mode_declare([[ret],convfloat]),ret:nnn!,ret)
(%i235) factorial_1(nnn):=block(mode_declare([[ret],convfloat]),
if nnn <= ats_max_terms
then (if array_fact_1[nnn] = 0
then (ret:factorial_2(nnn),
array_fact_1[nnn]:ret)
else ret:array_fact_1[nnn])
else ret:factorial_2(nnn),ret)
(%i236) factorial_1(in):=block(mode_declare([[ret],convfloat]),ret:in!,ret)
(%i237) neg(in):=block(mode_declare([[ret],convfloat]),ret:-in,ret)
(%i238) factorial_3(mmm,nnn):=block(mode_declare([[ret],convfloat]),
if nnn <= ats_max_terms and mmm <= ats_max_terms
then (if array_fact_2[mmm,nnn] = 0
then (ret:factorial_1(mmm)/factorial_1(nnn),
array_fact_2[mmm,nnn]:ret)
else ret:array_fact_2[mmm,nnn])
else ret:factorial_2(mmm)/factorial_2(nnn),ret)
(%i239) log10(x):=log(x)/glob_log_10
(%i240) c(x):=x
(%i241) expt(x,y):=if y = 0.0 then 1.0 elseif x <= 0.0 and y < 0.0
then print("expt error x = ",x,"y = ",y) else x^y
(%i242) 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(glob__10,
c(-glob_desired_digits_correct))
*c(abs(c(estimated_answer))),
omniout_float(always,"estimated_h",32,
estimated_h,32,""),
omniout_float(always,"estimated_answer",
32,estimated_answer,32,""),
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,
""),
estimated_steps:range/estimated_h,
omniout_float(always,"estimated_steps",32,
estimated_steps,32,""),
step_error
:c(
abs(desired_abs_gbl_error)
/sqrt(c(estimated_steps))
/c(ats_max_terms)),
omniout_float(always,"step_error",32,
step_error,32,""),
step_error)
(%i243) exact_soln_y(x):=block(c(1.0)/(c(x)-c(6.0))/(c(x)-c(6.0)))
c(1.0)
-------------
c(x) - c(6.0)
(%o243) exact_soln_y(x) := block(-------------)
c(x) - c(6.0)
(%i244) display_poles():=(
block(mode_declare([[rad_given],convfloat]),
if glob_type_given_pole = 1
or glob_type_given_pole = 2
then (rad_given
:sqrt(
array_given_rad_poles[1,2]
*array_given_rad_poles[1,2]
+(array_x[1]
-array_given_rad_poles[1,1])
*(array_x[1]
-array_given_rad_poles[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[
1,1],4," "),
if rad_given < glob_least_given_sing
then glob_least_given_sing
:rad_given)
elseif glob_type_given_pole = 3
then omniout_str(always,
"NO POLE (given) for Equation 1")
elseif glob_type_given_pole = 5
then omniout_str(always,
"SOME POLE (given) for Equation 1")
else omniout_str(always,
"NO info (given) for Equation 1"),
if array_rad_test_poles[1,1] < glob_large_float
then (omniout_float(always,
"Radius of convergence (ratio test) for eq 1 ",
4,
array_rad_test_poles[1,1],
4," "),
if
array_rad_test_poles[1,1]
< glob_least_ratio_sing
then glob_least_ratio_sing
:array_rad_test_poles[1,1],
omniout_float(always,
"Order of pole (ratio test) ",
4,
array_ord_test_poles[1,1],
4," "))
else omniout_str(always,
"NO POLE (ratio test) for Equation 1"),
if array_rad_test_poles[1,2] > glob__small
and array_rad_test_poles[1,2]
< glob_large_float
then (omniout_float(always,
"Radius of convergence (three term test) for eq 1 ",
4,
array_rad_test_poles[1,2],
4," "),
if
array_rad_test_poles[1,2]
< glob_least_3_sing
then glob_least_3_sing
:array_rad_test_poles[1,2],
omniout_float(always,
"Order of pole (three term test) ",
4,
array_ord_test_poles[1,2],
4," "))
else omniout_str(always,
"NO REAL POLE (three term test) for Equation 1"),
if array_rad_test_poles[1,3] > glob__small
and array_rad_test_poles[1,3]
< glob_large_float
then (omniout_float(always,
"Radius of convergence (six term test) for eq 1 ",
4,
array_rad_test_poles[1,3],
4," "),
if
array_rad_test_poles[1,3]
< glob_least_6_sing
then glob_least_6_sing
:array_rad_test_poles[1,3],
omniout_float(always,
"Order of pole (six term test) ",
4,
array_ord_test_poles[1,3],
4," "))
else omniout_str(always,
"NO COMPLEX POLE (six term test) for Equation 1")),
0)
(%i245) my_check_sign(x0,xf):=block([ret],
if xf > x0 then ret:glob__1 else ret:glob__m1,ret)
(%i246) est_size_answer():=block([min_size],
min_size:glob_estimated_size_answer,
if abs(array_y[1]) < min_size
then (min_size:abs(array_y[1]),
omniout_float(always,"min_size",32,min_size,
32,"")),
if min_size < glob__1
then (min_size:glob__1,
omniout_float(always,"min_size",32,min_size,
32,"")),min_size)
(%i247) 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:glob__small,
no_terms:ats_max_terms,hn_div_ho:glob__0_5,
hn_div_ho_2:glob__0_25,hn_div_ho_3:glob__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:abs(array_y[no_terms]*hn_div_ho_3
+array_y[no_terms-1]*hn_div_ho_2
+array_y[no_terms-2]*hn_div_ho
+array_y[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)
(%i248) track_estimated_error():=block(
[hn_div_ho,hn_div_ho_2,hn_div_ho_3,no_terms,
est_tmp],no_terms:ats_max_terms,
hn_div_ho:glob__0_5,hn_div_ho_2:glob__0_25,
hn_div_ho_3:glob__0_125,
est_tmp:c(abs(array_y[no_terms]))*c(hn_div_ho_3)
+c(abs(array_y[no_terms-1]))
*c(hn_div_ho_2)
+c(abs(array_y[no_terms-2]))
*c(hn_div_ho)
+c(abs(array_y[no_terms-3])),
if glob_prec*c(abs(array_y[1])) > c(est_tmp)
then est_tmp
:c(glob_prec)*c(abs(array_y[1])),
if c(est_tmp) >= c(array_max_est_error[1])
then array_max_est_error[1]:c(est_tmp))
(%i249) reached_interval():=block(mode_declare([[ret],boolean]),
if glob_check_sign*array_x[1]
>= glob_check_sign*glob_next_display
-glob_h/glob__10 then ret:true else ret:false,
return(ret))
(%i250) display_alot(iter):=(
block(mode_declare(
[[abserr,est_rel_err],convfloat,
[closed_form_val_y],convfloat,[ind_var],
convfloat,[numeric_val],convfloat,[relerr],
convfloat,[term_no],fixnum]),
if reached_interval()
then (if iter >= 0
then (ind_var:array_x[1],
omniout_float(always,
"x[1] ",
33,ind_var,20,
" "),
closed_form_val_y
:exact_soln_y(ind_var),
omniout_float(always,
"y[1] (closed_form) ",
33,
closed_form_val_y,
20," "),
term_no:1,
numeric_val:array_y[term_no],
abserr
:abs(
numeric_val
-closed_form_val_y),
omniout_float(always,
"y[1] (numeric) ",
33,numeric_val,
20," "),
if
c(abs(closed_form_val_y))
> c(glob_prec)
then (
relerr
:abserr*glob__100
/abs(closed_form_val_y),
if c(relerr) > c(glob_prec)
then glob_good_digits
:3
-floor(log10(c(relerr)))
else glob_good_digits:16)
else (relerr:glob__m1,
glob_good_digits:-16),
if
glob_good_digits
< glob_min_good_digits
then glob_min_good_digits
:glob_good_digits,
if
glob_apfp_est_good_digits
< glob_min_apfp_est_good_digits
then glob_min_apfp_est_good_digits
:glob_apfp_est_good_digits,
if
c(abs(numeric_val))
> c(glob_prec)
then (
est_rel_err
:c(array_max_est_error[1])
*glob__100
*c(sqrt(glob_iter))*c(35)
*c(ats_max_terms)
/c(abs(numeric_val)),
if est_rel_err > glob_prec
then glob_est_digits
:3
-floor(
log10(est_rel_err))
else glob_est_digits:16)
else (relerr:glob__m1,
glob_est_digits:-16),
array_est_digits[1]
:glob_est_digits,
if glob_iter = 1
then array_1st_rel_error[1]
:relerr
else array_last_rel_error[
1]
:relerr,
array_est_rel_error[1]
:est_rel_err,
omniout_float(always,
"absolute error ",
4,abserr,20," "),
omniout_float(always,
"relative error ",
4,relerr,20,"%"),
omniout_int(info,
"Desired digits ",
32,
glob_desired_digits_correct,
4," "),
omniout_int(info,
"Estimated correct digits ",
32,glob_est_digits,
4," "),
omniout_int(info,
"Correct digits ",
32,
glob_good_digits,4,
" "),
omniout_float(always,
"h ",
4,glob_h,20,
" ")))),0)
(%i251) prog_report(x_start,x_end):=(
block(mode_declare([[clock_sec],convfloat,[opt_clock_sec],
convfloat,[clock_sec1],convfloat,
[expect_sec],convfloat,[left_sec],
convfloat,[percent_done],convfloat,
[total_clock_sec],convfloat]),
clock_sec1:elapsed_time_seconds(),
total_clock_sec:clock_sec1-glob_orig_start_sec,
glob_clock_sec:clock_sec1-glob_clock_start_sec,
left_sec:-clock_sec1+glob_orig_start_sec
+glob_max_sec,
expect_sec:comp_expect_sec(x_end,x_start,
glob_h+array_x[1],
clock_sec1
-glob_orig_start_sec),
opt_clock_sec:clock_sec1
-glob_optimal_clock_start_sec,
glob_optimal_expect_sec
:comp_expect_sec(x_end,x_start,glob_h+array_x[1],
opt_clock_sec),
glob_total_exp_sec
:c(total_clock_sec)+glob_optimal_expect_sec,
percent_done:comp_percent(x_end,x_start,
glob_h+array_x[1]),
glob_percent_done:percent_done,
omniout_str_noeol(info,
"Total Elapsed Time "),
omniout_timestr(total_clock_sec),
omniout_str_noeol(info,
"Elapsed Time(since restart) "),
omniout_timestr(glob_clock_sec),
if c(percent_done) < glob__100
then (omniout_str_noeol(info,
"Expected Time Remaining "),
omniout_timestr(expect_sec),
omniout_str_noeol(info,
"Optimized Time Remaining "),
omniout_timestr(glob_optimal_expect_sec),
omniout_str_noeol(info,
"Expected Total Time "),
omniout_timestr(glob_total_exp_sec)),
omniout_str_noeol(info,
"Time to Timeout "),
omniout_timestr(left_sec),
omniout_float(info,
"Percent Done ",33,
percent_done,4,"%")),0)
(%i252) check_for_pole():=(
block(mode_declare([cnt],fixnum,[dr1,dr2,ds1,ds2,hdrc],
convfloat,[m,n],fixnum,[nr1,nr2],
convfloat,[ord_no],fixnum,
[term1,term2,term3,part1,part2,
part3,part4,part5,part6,part7,
part8,part9,part10,part11,part12,
part13,part14,rad_c,rcs,rm0,rm1,
rm2,rm3,rm4],convfloat,
[found_sing],fixnum,
[h_new,ratio,term,local_test,
tmp_rad,tmp_ord,tmp_ratio,
prev_tmp_rad],convfloat,[last_no],
fixnum),tmp_rad:glob_larger_float,
prev_tmp_rad:glob_larger_float,
tmp_ratio:glob_larger_float,
rad_c:glob_larger_float,
array_rad_test_poles[1,1]:glob_larger_float,
array_ord_test_poles[1,1]:glob_larger_float,
found_sing:1,last_no:-10-1+ats_max_terms,cnt:0,
while last_no < ats_max_terms-3
and found_sing = 1 do
(tmp_rad
:comp_rad_from_ratio(
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],last_no),
if abs(prev_tmp_rad) > glob__0
then tmp_ratio:tmp_rad/prev_tmp_rad
else tmp_ratio:glob_large_float,
if cnt > 0
and tmp_ratio
< glob_upper_ratio_limit
and tmp_ratio
> glob_lower_ratio_limit
then rad_c:tmp_rad elseif cnt = 0
then rad_c:tmp_rad elseif cnt > 0
then found_sing:0,
prev_tmp_rad:tmp_rad,cnt:1+cnt,
last_no:1+last_no),
if found_sing = 1
then (if rad_c < array_rad_test_poles[1,1]
then (
array_rad_test_poles[1,1]:rad_c,
last_no:last_no-1,
tmp_ord
:comp_ord_from_ratio(
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],
last_no),
array_rad_test_poles[1,1]:rad_c,
array_ord_test_poles[1,1]
:tmp_ord)),
tmp_rad:glob_larger_float,
prev_tmp_rad:glob_larger_float,
tmp_ratio:glob_larger_float,
rad_c:glob_larger_float,
array_rad_test_poles[1,2]:glob_larger_float,
array_ord_test_poles[1,2]:glob_larger_float,
found_sing:1,last_no:-10-1+ats_max_terms,cnt:0,
while last_no < ats_max_terms-4
and found_sing = 1 do
(tmp_rad
:comp_rad_from_three_terms(
array_y_higher[1,last_no-2],
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],last_no),
if abs(prev_tmp_rad) > glob__0
then tmp_ratio:tmp_rad/prev_tmp_rad
else tmp_ratio:glob_large_float,
if cnt > 0
and tmp_ratio
< glob_upper_ratio_limit
and tmp_ratio
> glob_lower_ratio_limit
then rad_c:tmp_rad elseif cnt = 0
then rad_c:tmp_rad elseif cnt > 0
then found_sing:0,
prev_tmp_rad:tmp_rad,cnt:1+cnt,
last_no:1+last_no),
if found_sing = 1
then (if rad_c < array_rad_test_poles[1,2]
then (
array_rad_test_poles[1,2]:rad_c,
last_no:last_no-1,
tmp_ord
:comp_ord_from_three_terms(
array_y_higher[1,last_no-2],
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],
last_no),
array_rad_test_poles[1,2]:rad_c,
if rad_c < glob_min_pole_est
then glob_min_pole_est:rad_c,
array_ord_test_poles[1,2]
:tmp_ord)),
tmp_rad:glob_larger_float,
prev_tmp_rad:glob_larger_float,
tmp_ratio:glob_larger_float,
rad_c:glob_larger_float,
array_rad_test_poles[1,3]:glob_larger_float,
array_ord_test_poles[1,3]:glob_larger_float,
found_sing:1,last_no:-10-1+ats_max_terms,cnt:0,
while last_no < ats_max_terms-7
and found_sing = 1 do
(tmp_rad
:comp_rad_from_six_terms(
array_y_higher[1,last_no-5],
array_y_higher[1,last_no-4],
array_y_higher[1,last_no-3],
array_y_higher[1,last_no-2],
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],last_no),
if abs(prev_tmp_rad) > glob__0
then tmp_ratio:tmp_rad/prev_tmp_rad
else tmp_ratio:glob_large_float,
if cnt > 0
and tmp_ratio
< glob_upper_ratio_limit
and tmp_ratio
> glob_lower_ratio_limit
then rad_c:tmp_rad elseif cnt = 0
then rad_c:tmp_rad elseif cnt > 0
then found_sing:0,
prev_tmp_rad:tmp_rad,cnt:1+cnt,
last_no:1+last_no),
if found_sing = 1
then (if rad_c < array_rad_test_poles[1,3]
then (
array_rad_test_poles[1,3]:rad_c,
last_no:last_no-1,
tmp_ord
:comp_ord_from_six_terms(
array_y_higher[1,last_no-5],
array_y_higher[1,last_no-4],
array_y_higher[1,last_no-3],
array_y_higher[1,last_no-2],
array_y_higher[1,last_no-1],
array_y_higher[1,last_no],
last_no),
array_rad_test_poles[1,3]:rad_c,
if rad_c < glob_min_pole_est
then glob_min_pole_est:rad_c,
array_ord_test_poles[1,3]
:tmp_ord)),
if abs(glob_min_pole_est)*glob_ratio_of_radius
< abs(glob_h)
then (h_new
:glob_check_sign*glob_min_pole_est
*glob_ratio_of_radius,
omniout_str(always,
"SETTING H FOR POLE"),
glob_h_reason:6,
if
glob_check_sign*glob_min_h
> glob_check_sign*h_new
then (
omniout_str(always,
"SETTING H FOR MIN H"),
h_new:glob_min_h,glob_h_reason:5),
term:1,ratio:c(1.0),
while term <= ats_max_terms do
(
array_y[term]
:array_y[term]*ratio,
array_y_higher[1,term]
:array_y_higher[1,term]*ratio,
array_x[term]
:array_x[term]*ratio,
ratio:ratio*h_new/abs(glob_h),
term:1+term),glob_h:h_new),
if reached_interval() then display_poles()),0)
(%i253) atomall():=(
block(mode_declare([[kkk,order_d],fixnum,
[adj2,adj3,temporary,term,temp,temp2],
convfloat]),
array_tmp1[1]:neg(array_const_2D0[1]),
array_tmp2[1]:array_x[1]-array_const_6D0[1],
array_tmp3[1]:array_tmp1[1]/array_tmp2[1],
array_tmp4[1]:array_x[1]-array_const_6D0[1],
array_tmp5[1]:array_tmp3[1]/array_tmp4[1],
array_tmp6[1]:array_x[1]-array_const_6D0[1],
array_tmp7[1]:array_tmp5[1]/array_tmp6[1],
array_tmp8[1]:array_tmp7[1]+array_const_0D0[1],
if not array_y_set_initial[1,2]
then (if 1 <= ats_max_terms
then (
temporary
:c(array_tmp8[1])*expt(glob_h,c(1))
*c(factorial_3(0,1)),
if 2 <= ats_max_terms
then (array_y[2]:temporary,
array_y_higher[1,2]:temporary),
temporary:c(temporary)*c(1)/c(glob_h),
array_y_higher[2,1]:c(temporary),0)),
kkk:2,array_tmp2[2]:array_x[2],
array_tmp3[2]:neg(array_tmp3[1])*array_tmp2[2]
/array_tmp2[1],array_tmp4[2]:array_x[2],
array_tmp5[2]:(array_tmp3[2]
-array_tmp5[1]*array_tmp4[2])
/array_tmp4[1],array_tmp6[2]:array_x[2],
array_tmp7[2]:(array_tmp5[2]
-array_tmp7[1]*array_tmp6[2])
/array_tmp6[1],
array_tmp8[2]:array_tmp7[2],
if not array_y_set_initial[1,3]
then (if 2 <= ats_max_terms
then (
temporary
:c(array_tmp8[2])*expt(glob_h,c(1))
*c(factorial_3(1,2)),
if 3 <= ats_max_terms
then (array_y[3]:temporary,
array_y_higher[1,3]:temporary),
temporary:c(temporary)*c(2)/c(glob_h),
array_y_higher[2,2]:c(temporary),0)),
kkk:3,
array_tmp3[3]:neg(array_tmp3[2])*array_tmp2[2]
/array_tmp2[1],
array_tmp5[3]:(array_tmp3[3]
-array_tmp5[2]*array_tmp4[2])
/array_tmp4[1],
array_tmp7[3]:(array_tmp5[3]
-array_tmp7[2]*array_tmp6[2])
/array_tmp6[1],
array_tmp8[3]:array_tmp7[3],
if not array_y_set_initial[1,4]
then (if 3 <= ats_max_terms
then (
temporary
:c(array_tmp8[3])*expt(glob_h,c(1))
*c(factorial_3(2,3)),
if 4 <= ats_max_terms
then (array_y[4]:temporary,
array_y_higher[1,4]:temporary),
temporary:c(temporary)*c(3)/c(glob_h),
array_y_higher[2,3]:c(temporary),0)),
kkk:4,
array_tmp3[4]:neg(array_tmp3[3])*array_tmp2[2]
/array_tmp2[1],
array_tmp5[4]:(array_tmp3[4]
-array_tmp5[3]*array_tmp4[2])
/array_tmp4[1],
array_tmp7[4]:(array_tmp5[4]
-array_tmp7[3]*array_tmp6[2])
/array_tmp6[1],
array_tmp8[4]:array_tmp7[4],
if not array_y_set_initial[1,5]
then (if 4 <= ats_max_terms
then (
temporary
:c(array_tmp8[4])*expt(glob_h,c(1))
*c(factorial_3(3,4)),
if 5 <= ats_max_terms
then (array_y[5]:temporary,
array_y_higher[1,5]:temporary),
temporary:c(temporary)*c(4)/c(glob_h),
array_y_higher[2,4]:c(temporary),0)),
kkk:5,
array_tmp3[5]:neg(array_tmp3[4])*array_tmp2[2]
/array_tmp2[1],
array_tmp5[5]:(array_tmp3[5]
-array_tmp5[4]*array_tmp4[2])
/array_tmp4[1],
array_tmp7[5]:(array_tmp5[5]
-array_tmp7[4]*array_tmp6[2])
/array_tmp6[1],
array_tmp8[5]:array_tmp7[5],
if not array_y_set_initial[1,6]
then (if 5 <= ats_max_terms
then (
temporary
:c(array_tmp8[5])*expt(glob_h,c(1))
*c(factorial_3(4,5)),
if 6 <= ats_max_terms
then (array_y[6]:temporary,
array_y_higher[1,6]:temporary),
temporary:c(temporary)*c(5)/c(glob_h),
array_y_higher[2,5]:c(temporary),0)),
kkk:6,
while kkk <= ats_max_terms do
(array_tmp3[kkk]:array_tmp1[1]*array_tmp2[kkk],
array_tmp5[kkk]
:neg(ats(kkk,array_tmp4,array_tmp5,2))
/array_tmp4[1],
array_tmp7[kkk]
:neg(ats(kkk,array_tmp6,array_tmp7,2))
/array_tmp6[1],array_tmp8[kkk]:array_tmp7[kkk],
order_d:1,
if order_d+kkk <= ats_max_terms
then (if
not array_y_set_initial[1,order_d+kkk]
then (
temporary
:c(array_tmp8[kkk])*expt(glob_h,c(order_d))
*c(
factorial_3(
kkk-1,
-1+order_d+kkk)),
array_y[order_d+kkk]:c(temporary),
array_y_higher[1,order_d+kkk]:c(temporary),
term:-1+order_d+kkk,adj2:-1+order_d+kkk,
adj3:2,
while term >= 1 and term <= ats_max_terms
and adj3 < 1+order_d do
(
if adj3 <= 1+order_d
then (
if adj2 > 0
then temporary
:c(temporary)*c(adj2)
/c(glob_h)
else temporary:c(temporary),
array_y_higher[adj3,term]
:c(temporary)),term:term-1,
adj2:adj2-1,adj3:1+adj3))),
kkk:1+kkk)),0)
(%i254) exact_soln_y(x):=block(c(1.0)/(c(x)-c(6.0))/(c(x)-c(6.0)))
c(1.0)
-------------
c(x) - c(6.0)
(%o254) exact_soln_y(x) := block(-------------)
c(x) - c(6.0)
(%i255) main_prog():=block(
mode_declare([[d1,d2,d3,d4,est_err_2,display_max],convfloat,
[niii,done_once,term,ord,order_diff,term_no,
html_log_file,iiif,jjjf,rows,r_order,
sub_iter,calc_term,iii],fixnum,[temp_sum],
convfloat,[current_iter],fixnum,
[x_start,x_end],convfloat,[it,opt_iter],
fixnum,[tmp],convfloat,[subiter],fixnum,
[est_needed_step_err,estimated_step_error,
min_value,est_answer,last_min_pole_est],
convfloat,[repeat_it],fixnum],[found_h],
boolean),Digits:30,max_terms:20,
glob_html_log:true,term:1,
while term <= 20 do (array_y_init[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_norms[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_fact_1[term]:c(0.0),term:1+term),
term:1,
while term <= 2 do
(array_1st_rel_error[term]:c(0.0),term:1+term),term:1,
while term <= 2 do
(array_last_rel_error[term]:c(0.0),term:1+term),
term:1,
while term <= 2 do
(array_est_rel_error[term]:c(0.0),term:1+term),term:1,
while term <= 2 do
(array_max_est_error[term]:c(0.0),term:1+term),term:1,
while term <= 2 do (array_type_pole[term]:0,term:1+term),
term:1,
while term <= 2 do
(array_type_real_pole[term]:0,term:1+term),term:1,
while term <= 2 do
(array_type_complex_pole[term]:0,term:1+term),term:1,
while term <= 2 do (array_est_digits[term]:0,term:1+term),
term:1,
while term <= 20 do (array_y[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_x[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp0[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp1[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp2[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp3[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp4[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp5[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp6[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp7[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_tmp8[term]:c(0.0),term:1+term),
term:1,
while term <= 20 do (array_m1[term]:c(0.0),term:1+term),
ord:1,
while ord <= 2 do
(term:1,
while term <= 20 do
(array_y_higher[ord,term]:c(0.0),term:1+term),
ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 20 do
(array_y_higher_work[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 20 do
(array_y_higher_work2[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 20 do
(array_y_set_initial[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 3 do
(array_given_rad_poles[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 3 do
(array_given_ord_poles[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 4 do
(array_rad_test_poles[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 2 do
(term:1,
while term <= 4 do
(array_ord_test_poles[ord,term]:c(0.0),
term:1+term),ord:1+ord),ord:1,
while ord <= 20 do
(term:1,
while term <= 20 do
(array_fact_2[ord,term]:c(0.0),term:1+term),
ord:1+ord),zero_ats_ar(array_y),zero_ats_ar(array_x),
zero_ats_ar(array_tmp0),zero_ats_ar(array_tmp1),
zero_ats_ar(array_tmp2),zero_ats_ar(array_tmp3),
zero_ats_ar(array_tmp4),zero_ats_ar(array_tmp5),
zero_ats_ar(array_tmp6),zero_ats_ar(array_tmp7),
zero_ats_ar(array_tmp8),zero_ats_ar(array_m1),
zero_ats_ar(array_const_1),array_const_1[1]:c(1),
zero_ats_ar(array_const_0D0),array_const_0D0[1]:c(0.0),
zero_ats_ar(array_const_2D0),array_const_2D0[1]:c(2.0),
zero_ats_ar(array_const_6D0),array_const_6D0[1]:c(6.0),
zero_ats_ar(array_m1),array_m1[1]:glob__m1,iiif:0,
while iiif <= ats_max_terms do
(jjjf:0,
while jjjf <= ats_max_terms do
(array_fact_1[iiif]:0,
array_fact_2[iiif,jjjf]:0,jjjf:1+jjjf),
iiif:1+iiif),array_y_set_initial[1,1]:true,
array_y_set_initial[1,2]:false,
array_y_set_initial[1,3]:false,
array_y_set_initial[1,4]:false,
array_y_set_initial[1,5]:false,
array_y_set_initial[1,6]:false,
array_y_set_initial[1,7]:false,
array_y_set_initial[1,8]:false,
array_y_set_initial[1,9]:false,
array_y_set_initial[1,10]:false,
array_y_set_initial[1,11]:false,
array_y_set_initial[1,12]:false,
array_y_set_initial[1,13]:false,
array_y_set_initial[1,14]:false,
array_y_set_initial[1,15]:false,
array_y_set_initial[1,16]:false,
array_y_set_initial[1,17]:false,
array_y_set_initial[1,18]:false,
array_y_set_initial[1,19]:false,
array_y_set_initial[1,20]:false,glob_log_10:log(10.0),
glob_orig_start_sec:elapsed_time_seconds(),
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 ) = neg ( 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:30,"),
omniout_str(always,"max_terms:20,"),omniout_str(always,"!"),
omniout_str(always,"/* END FIRST INPUT BLOCK */"),
omniout_str(always,"/* BEGIN SECOND INPUT BLOCK */"),
omniout_str(always,"x_start:c(2.0),"),
omniout_str(always,"x_end:c(3.0),"),omniout_str(always,""),
omniout_str(always,
"array_y_init[0 + 1] : exact_soln_y(x_start),"),
omniout_str(always,"glob_look_poles:true,"),
omniout_str(always,""),omniout_str(always,""),
omniout_str(always,""),omniout_str(always,""),
omniout_str(always,""),omniout_str(always,""),
omniout_str(always,""),
omniout_str(always,"glob_type_given_pole:1,"),
omniout_str(always,""),
omniout_str(always,"array_given_rad_poles[1,1]:c(6.0),"),
omniout_str(always,""),
omniout_str(always,"array_given_rad_poles[1,2]:c(0.0),"),
omniout_str(always,""),
omniout_str(always,"array_given_ord_poles[1,1]:c(3.0),"),
omniout_str(always,""),
omniout_str(always,"array_given_ord_poles[1,2]:c(0.0),"),
omniout_str(always,"/* END SECOND INPUT BLOCK */"),
omniout_str(always,"/* BEGIN OVERRIDE BLOCK */"),
omniout_str(always,"glob_desired_digits_correct:8,"),
omniout_str(always,"glob_max_minutes:(3.0),"),
omniout_str(always,"glob_subiter_method:3,"),
omniout_str(always,"glob_max_iter:100000,"),
omniout_str(always,"glob_upper_ratio_limit:c(1.000001),"),
omniout_str(always,"glob_lower_ratio_limit:c(0.999999),"),
omniout_str(always,"glob_look_poles:false,"),
omniout_str(always,"glob_h:c(0.001),"),
omniout_str(always,"glob_display_interval:c(0.01),"),
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,
" (c(1.0)/ ( c(x) - c(6.0) ) / ( c(x) - c(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:glob__0,glob_smallish_float:glob__0,
glob_large_float:c(1.0E+100),glob_larger_float:c(1.1E+100),
glob_almost_1:c(0.99),x_start:c(2.0),x_end:c(3.0),
array_y_init[1+0]:exact_soln_y(x_start),
glob_look_poles:true,glob_type_given_pole:1,
array_given_rad_poles[1,1]:c(6.0),
array_given_rad_poles[1,2]:c(0.0),
array_given_ord_poles[1,1]:c(3.0),
array_given_ord_poles[1,2]:c(0.0),
glob_desired_digits_correct:8,glob_max_minutes:3.0,
glob_subiter_method:3,glob_max_iter:100000,
glob_upper_ratio_limit:c(1.000001),
glob_lower_ratio_limit:c(0.999999),glob_look_poles:false,
glob_h:c(0.001),glob_display_interval:c(0.01),
glob_last_good_h:glob_h,
glob_max_sec:3600.0*glob_max_hours+60.0*glob_max_minutes,
glob_check_sign:c(my_check_sign(x_start,x_end)),
glob__pi:3.141592654,glob_prec:1.0E-16,
if glob_optimize
then (omniout_str(always,"START of Optimize"),
found_h:false,glob_min_pole_est:glob_larger_float,
last_min_pole_est:glob_larger_float,
glob_least_given_sing:glob_larger_float,
glob_least_ratio_sing:glob_larger_float,
glob_least_3_sing:glob_larger_float,
glob_least_6_sing:glob_larger_float,
glob_min_h:abs(glob_min_h)*glob_check_sign,
glob_max_h:abs(glob_max_h)*glob_check_sign,
glob_h:abs(glob_min_h)*glob_check_sign,
glob_display_interval
:c(abs(c(glob_display_interval))
*glob_check_sign),
display_max:c(x_end)-c(x_start)/glob__10,
if glob_display_interval > display_max
then glob_display_interval:c(display_max),
chk_data(),min_value:glob_larger_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:glob_small_float,
while opt_iter <= 100 and not found_h do
(omniout_int(always,"opt_iter",32,opt_iter,
4,""),array_x[1]:c(x_start),
array_x[2]:c(glob_h),
glob_next_display:c(x_start),order_diff:1,
term_no:1,
while term_no <= order_diff do
(
array_y[term_no]
:array_y_init[term_no]
*expt(glob_h,c(term_no-1))
/c(factorial_1(term_no-1)),
term_no:1+term_no),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,
if term_no < ats_max_terms
then array_y_higher[
r_order,term_no]
:array_y_init[it]
*expt(glob_h,
c(term_no-1))
/c(
factorial_1(
term_no-1)),
term_no:1+term_no),
r_order:1+r_order),atomall(),
if glob_check_sign*glob_min_h
>= glob_check_sign*glob_h
then (
omniout_str(always,
"SETTING H FOR MIN H"),
glob_h:glob_check_sign*abs(glob_min_h),
glob_h_reason:1,found_h:true),
if glob_check_sign*glob_display_interval
<= glob_check_sign*glob_h
then (
omniout_str(always,
"SETTING H FOR DISPLAY INTERVAL"),
glob_h_reason:2,
glob_h:glob_display_interval,
found_h:true),
if glob_look_poles then check_for_pole(),
if not found_h
then (est_answer:est_size_answer(),
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
:test_suggested_h(),
omniout_float(always,
"estimated_step_error",
32,
estimated_step_error,
32,""),
if
estimated_step_error
< est_needed_step_err
then (
omniout_str(always,
"Double H and LOOP"),
glob_h:glob_h*glob__2)
else (
omniout_str(always,
"Found H for OPTIMAL"),
found_h:true,glob_h_reason:3,
glob_h:glob_h/glob__2)),
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 glob_check_sign*glob_max_h
<= glob_check_sign*glob_h
then (omniout_str(always,
"SETTING H FOR MAX H"),
glob_h:glob_check_sign*abs(glob_max_h),
glob_h_reason:1,found_h:true))
else (found_h:true,glob_h:glob_h*glob_check_sign),
if glob_html_log then html_log_file:openw("entry.html"),
if found_h
then (omniout_str(always,"START of Soultion"),
array_x[1]:c(x_start),array_x[2]:c(glob_h),
glob_next_display:c(x_start),
glob_min_pole_est:glob_larger_float,
glob_least_given_sing:glob_larger_float,
glob_least_ratio_sing:glob_larger_float,
glob_least_3_sing:glob_larger_float,
glob_least_6_sing:glob_larger_float,order_diff:1,
term_no:1,
while term_no <= order_diff do
(array_y[term_no]
:array_y_init[term_no]
*expt(glob_h,c(term_no-1))
/c(factorial_1(term_no-1)),
term_no:1+term_no),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,
if term_no < ats_max_terms
then array_y_higher[
r_order,term_no]
:array_y_init[it]
*expt(glob_h,c(term_no-1))
/c(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_iter:0,
omniout_str(debugl," "),
glob_reached_optimal_h:true,
glob_optimal_clock_start_sec
:elapsed_time_seconds(),
while glob_iter < glob_max_iter
and glob_check_sign*array_x[1]
< glob_check_sign*x_end
and glob_clock_sec-glob_orig_start_sec
< 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(),
track_estimated_error(),atomall(),
track_estimated_error(),
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[1]:glob_h+array_x[1],
array_x[2]:glob_h,order_diff:2,ord:2,
calc_term:1,iii:ats_max_terms,
while iii >= calc_term do
(
array_y_higher_work[2,iii]
:array_y_higher[2,iii]
/expt(glob_h,c(calc_term-1))
/c(
factorial_3(iii-calc_term,iii-1)),
iii:iii-1),temp_sum:glob__0,ord:2,
calc_term:1,iii:ats_max_terms,
while iii >= calc_term do
(
temp_sum
:array_y_higher_work[ord,iii]
+temp_sum,iii:iii-1),
array_y_higher_work2[ord,calc_term]
:temp_sum*expt(glob_h,c(calc_term-1))
/c(factorial_1(calc_term-1)),ord:1,
calc_term:2,iii:ats_max_terms,
while iii >= calc_term do
(
array_y_higher_work[1,iii]
:array_y_higher[1,iii]
/expt(glob_h,c(calc_term-1))
/c(
factorial_3(iii-calc_term,iii-1)),
iii:iii-1),temp_sum:glob__0,ord:1,
calc_term:2,iii:ats_max_terms,
while iii >= calc_term do
(
temp_sum
:array_y_higher_work[ord,iii]
+temp_sum,iii:iii-1),
array_y_higher_work2[ord,calc_term]
:temp_sum*expt(glob_h,c(calc_term-1))
/c(factorial_1(calc_term-1)),ord:1,
calc_term:1,iii:ats_max_terms,
while iii >= calc_term do
(
array_y_higher_work[1,iii]
:array_y_higher[1,iii]
/expt(glob_h,c(calc_term-1))
/c(
factorial_3(iii-calc_term,iii-1)),
iii:iii-1),temp_sum:glob__0,ord:1,
calc_term:1,iii:ats_max_terms,
while iii >= calc_term do
(
temp_sum
:array_y_higher_work[ord,iii]
+temp_sum,iii:iii-1),
array_y_higher_work2[ord,calc_term]
:temp_sum*expt(glob_h,c(calc_term-1))
/c(factorial_1(calc_term-1)),
term_no:ats_max_terms,
while term_no >= 1 do
(
array_y[term_no]
:array_y_higher_work2[1,term_no],
ord:1,
while ord <= order_diff do
(
array_y_higher[ord,term_no]
:array_y_higher_work2[
ord,term_no],ord:1+ord),
term_no:term_no-1)),
omniout_str(always,"Finished!"),
if glob_iter >= glob_max_iter
then omniout_str(always,
"Maximum Iterations Reached before Solution Completed!"),
if elapsed_time_seconds()-glob_orig_start_sec
>= 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 ) = neg ( 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,
"2015-04-24T22:22:22-05:00"),
logitem_str(html_log_file,"Maxima"),
logitem_str(html_log_file,
"sing6"),
logitem_str(html_log_file,
"diff ( y , x , 1 ) = neg ( 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[1]),
logitem_float(html_log_file,glob_h),
logitem_h_reason(html_log_file),
logitem_str(html_log_file,"16"),
logitem_float(html_log_file,
glob_desired_digits_correct),
if array_est_digits[1] # -16
then (
logitem_integer(html_log_file,
array_est_digits[
1]),0)
else (
logitem_str(html_log_file,
"Unknown"),0),
if glob_min_good_digits # -16
then (
logitem_integer(html_log_file,
glob_min_good_digits),
0)
else (
logitem_str(html_log_file,
"Unknown"),0),
if glob_good_digits # -16
then (
logitem_integer(html_log_file,
glob_good_digits),0)
else (
logitem_str(html_log_file,
"Unknown"),0),
logitem_str(html_log_file,"NA"),
logitem_str(html_log_file,"NA"),
logitem_integer(html_log_file,
ats_max_terms),
if glob_type_given_pole = 0
then (
logitem_str(html_log_file,
"Not Given"),
logitem_str(html_log_file,"NA"),0)
elseif glob_type_given_pole = 4
then (
logitem_str(html_log_file,
"No Solution"),
logitem_str(html_log_file,"NA"),0)
elseif glob_type_given_pole = 5
then (
logitem_str(html_log_file,
"Some Pole"),
logitem_str(html_log_file,"????"),0)
elseif glob_type_given_pole = 3
then (
logitem_str(html_log_file,
"No Pole"),
logitem_str(html_log_file,"NA"),0)
elseif glob_type_given_pole = 1
then (
logitem_str(html_log_file,
"Real Sing"),
logitem_float(html_log_file,
glob_least_given_sing),
0) elseif glob_type_given_pole = 2
then (
logitem_str(html_log_file,
"Complex Sing"),
logitem_float(html_log_file,
glob_least_given_sing),
0),
if
glob_least_ratio_sing
< glob_large_float
then (
logitem_float(html_log_file,
glob_least_ratio_sing),
0)
else (
logitem_str(html_log_file,"NONE"),0),
if glob_least_3_sing < glob_large_float
then (
logitem_float(html_log_file,
glob_least_3_sing),0)
else (
logitem_str(html_log_file,"NONE"),
0),
if glob_least_6_sing < glob_large_float
then (
logitem_float(html_log_file,
glob_least_6_sing),0)
else (
logitem_str(html_log_file,"NONE"),
0),
logitem_integer(html_log_file,
glob_iter),
logitem_time(html_log_file,
glob_clock_sec),
if c(glob_percent_done) < glob__100
then (
logitem_time(html_log_file,
glob_total_exp_sec),0)
else (
logitem_str(html_log_file,"Done"),
0),
log_revs(html_log_file,
" 308.maple.seems.ok | "),
logitem_str(html_log_file,
"sing6 diffeq.max"),
logitem_str(html_log_file,
"sing6 maxima results"),
logitem_str(html_log_file,"OK"),
logend(html_log_file)),
if glob_html_log then close(html_log_file)))
(%i256) main():=(glob_iolevel:2,compile(all),main_prog())
(%i257) main()
warning: encountered undefined variable glob_iolevel in translation.
warning: encountered undefined variable glob_iolevel in translation.
warning: encountered undefined variable glob_iolevel in translation.
warning: encountered undefined variable glob_iolevel in translation.
warning: encountered undefined variable glob_iolevel in translation.
warning: encountered undefined variable glob_iolevel in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable secs in translation.
warning: encountered undefined variable glob_sec_in_year in translation.
warning: encountered undefined variable sec_temp in translation.
warning: encountered undefined variable glob_sec_in_day in translation.
warning: encountered undefined variable glob_sec_in_hour in translation.
warning: encountered undefined variable glob_sec_in_minute in translation.
warning: encountered undefined variable years_int in translation.
warning: encountered undefined variable days_int in translation.
warning: encountered undefined variable hours_int in translation.
warning: encountered undefined variable minutes_int in translation.
warning: encountered undefined variable sec_int in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob_sec_in_year in translation.
warning: encountered undefined variable glob_sec_in_day in translation.
warning: encountered undefined variable glob_sec_in_hour in translation.
warning: encountered undefined variable glob_sec_in_minute in translation.
warning: encountered undefined variable iii in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable glob__0 in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable iii_ats in translation.
warning: encountered undefined variable ma_ats in translation.
warning: encountered undefined variable ret_ats in translation.
warning: encountered undefined variable lll_ats in translation.
warning: encountered undefined variable ats_max_terms in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable iii_att in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable ma_att in translation.
warning: encountered undefined variable lll_att in translation.
warning: encountered undefined variable ret_att in translation.
warning: encountered undefined variable al_att in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob_min_good_digits in translation.
warning: encountered undefined variable glob_h_reason in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable glob_max_iter in translation.
warning: encountered undefined variable errflag in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable sub1 in translation.
warning: encountered undefined variable sub2 in translation.
warning: encountered undefined variable rrr in translation.
warning: encountered undefined variable ms2 in translation.
warning: encountered undefined variable sec_left in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob__100 in translation.
warning: encountered undefined variable glob_small_float in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable glob_larger_float in translation.
warning: encountered undefined variable ret in translation.
warning: encountered undefined variable glob__1 in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable glob_larger_float in translation.
warning: encountered undefined variable glob__m2 in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable temp in translation.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable glob_larger_float in translation.
warning: encountered undefined variable glob__4 in translation.
warning: encountered undefined variable glob__3 in translation.
warning: encountered undefined variable glob__2 in translation.
warning: encountered undefined variable rm0 in translation.
warning: encountered undefined variable glob__2 in translation.
warning: encountered undefined variable rm1 in translation.
warning: encountered undefined variable rm2 in translation.
warning: encountered undefined variable rm3 in translation.
warning: encountered undefined variable glob__m1 in translation.
warning: encountered undefined variable glob__1 in translation.
warning: encountered undefined variable rm4 in translation.
warning: encountered undefined variable glob__3 in translation.
warning: encountered undefined variable glob__8 in translation.
warning: encountered undefined variable glob__5 in translation.
warning: encountered undefined variable glob_larger_float in translation.
warning: encountered undefined variable nr1 in translation.
warning: encountered undefined variable dr2 in translation.
warning: encountered undefined variable nr2 in translation.
warning: encountered undefined variable dr1 in translation.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable ds1 in translation.
warning: encountered undefined variable ds2 in translation.
warning: encountered undefined variable rcs in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable ord_no in translation.
warning: variable glob_six_term_ord_save (declared type convfloat) assigned type any.
warning: encountered undefined variable rad_c in translation.
warning: encountered undefined variable glob_six_term_ord_save in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable array_fact_2 in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable glob_log_10 in translation.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable glob_desired_digits_correct in translation.
warning: encountered undefined variable glob__10 in translation.
warning: encountered undefined variable ats_max_terms in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable array_x in translation.
warning: encountered undefined variable array_given_rad_poles in translation.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable rad_given in translation.
warning: encountered undefined variable array_given_ord_poles in translation.
warning: variable glob_least_given_sing (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_least_given_sing in translation.
warning: encountered undefined variable glob_type_given_pole in translation.
warning: encountered undefined variable array_rad_test_poles in translation.
warning: variable glob_least_ratio_sing (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_least_ratio_sing in translation.
warning: encountered undefined variable array_ord_test_poles in translation.
warning: encountered undefined variable glob_large_float in translation.
warning: variable glob_least_3_sing (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_least_3_sing in translation.
warning: encountered undefined variable glob__small in translation.
warning: variable glob_least_6_sing (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_least_6_sing in translation.
warning: encountered undefined variable glob__1 in translation.
warning: encountered undefined variable glob__m1 in translation.
warning: encountered undefined variable glob_estimated_size_answer in translation.
warning: encountered undefined variable array_y in translation.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable glob__1 in translation.
warning: encountered undefined variable glob__small in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable glob__0_5 in translation.
warning: encountered undefined variable glob__0_25 in translation.
warning: encountered undefined variable glob__0_125 in translation.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable glob__0_5 in translation.
warning: encountered undefined variable glob__0_25 in translation.
warning: encountered undefined variable glob__0_125 in translation.
warning: encountered undefined variable glob_prec in translation.
warning: encountered undefined variable array_max_est_error in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable glob_check_sign in translation.
warning: encountered undefined variable glob_next_display in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable glob__10 in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable ind_var in translation.
warning: encountered undefined variable closed_form_val_y in translation.
warning: encountered undefined variable term_no in translation.
warning: encountered undefined variable numeric_val in translation.
warning: encountered undefined variable abserr in translation.
warning: encountered undefined variable glob__100 in translation.
warning: encountered undefined variable relerr in translation.
warning: variable glob_good_digits (declared type fixnum) assigned type any.
warning: encountered undefined variable glob_prec in translation.
warning: encountered undefined variable glob__m1 in translation.
warning: encountered undefined variable glob_good_digits in translation.
warning: encountered undefined variable glob_min_good_digits in translation.
warning: encountered undefined variable glob_apfp_est_good_digits in translation.
warning: encountered undefined variable glob_min_apfp_est_good_digits in translation.
warning: encountered undefined variable glob_iter in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable est_rel_err in translation.
warning: variable glob_est_digits (declared type fixnum) assigned type any.
warning: encountered undefined variable glob_est_digits in translation.
warning: encountered undefined variable array_est_digits in translation.
warning: encountered undefined variable array_1st_rel_error in translation.
warning: encountered undefined variable array_last_rel_error in translation.
warning: encountered undefined variable array_est_rel_error in translation.
warning: encountered undefined variable info in translation.
warning: encountered undefined variable glob_desired_digits_correct in translation.
warning: encountered undefined variable glob_h in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable clock_sec1 in translation.
warning: encountered undefined variable glob_orig_start_sec in translation.
warning: encountered undefined variable glob_clock_start_sec in translation.
warning: variable glob_clock_sec (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_max_sec in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable glob_optimal_clock_start_sec in translation.
warning: encountered undefined variable opt_clock_sec in translation.
warning: variable glob_optimal_expect_sec (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_optimal_expect_sec in translation.
warning: encountered undefined variable total_clock_sec in translation.
warning: variable glob_total_exp_sec (declared type convfloat) assigned type any.
warning: encountered undefined variable percent_done in translation.
warning: variable glob_percent_done (declared type convfloat) assigned type any.
warning: encountered undefined variable info in translation.
warning: encountered undefined variable glob_clock_sec in translation.
warning: encountered undefined variable expect_sec in translation.
warning: encountered undefined variable glob_total_exp_sec in translation.
warning: encountered undefined variable glob__100 in translation.
warning: encountered undefined variable left_sec in translation.
warning: encountered undefined variable glob_larger_float in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable last_no in translation.
warning: encountered undefined variable found_sing in translation.
warning: encountered undefined variable array_y_higher in translation.
warning: variable tmp_rad (declared type convfloat) assigned type any.
warning: encountered undefined variable tmp_rad in translation.
warning: encountered undefined variable prev_tmp_rad in translation.
warning: encountered undefined variable glob__0 in translation.
warning: encountered undefined variable glob_large_float in translation.
warning: encountered undefined variable cnt in translation.
warning: encountered undefined variable tmp_ratio in translation.
warning: encountered undefined variable glob_upper_ratio_limit in translation.
warning: encountered undefined variable glob_lower_ratio_limit in translation.
warning: variable tmp_ord (declared type convfloat) assigned type any.
warning: encountered undefined variable tmp_ord in translation.
warning: encountered undefined variable glob_min_pole_est in translation.
warning: encountered undefined variable glob_check_sign in translation.
warning: encountered undefined variable glob_ratio_of_radius in translation.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable glob_min_h in translation.
warning: encountered undefined variable h_new in translation.
warning: variable ratio (declared type convfloat) assigned type any.
warning: encountered undefined variable term in translation.
warning: encountered undefined variable ratio in translation.
warning: encountered undefined variable glob_h in translation.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: encountered undefined variable array_const_2D0 in translation.
warning: encountered undefined variable array_tmp1 in translation.
warning: encountered undefined variable array_const_6D0 in translation.
warning: encountered undefined variable array_tmp2 in translation.
warning: encountered undefined variable array_tmp3 in translation.
warning: encountered undefined variable array_tmp4 in translation.
warning: encountered undefined variable array_tmp5 in translation.
warning: encountered undefined variable array_tmp6 in translation.
warning: encountered undefined variable array_tmp7 in translation.
warning: encountered undefined variable array_const_0D0 in translation.
warning: encountered undefined variable array_tmp8 in translation.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable temporary in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: encountered undefined variable array_y_set_initial in translation.
warning: encountered undefined variable kkk in translation.
warning: encountered undefined variable order_d in translation.
warning: encountered undefined variable adj3 in translation.
warning: encountered undefined variable adj2 in translation.
modedeclare: [found_h]
is not a built-in type; assuming it is a Maxima extension type.
modedeclare: false
is not a built-in type; assuming it is a Maxima extension type.
warning: variable term (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable array_y_init in translation.
warning: variable term (declared type [found_h]) assigned type any.
warning: encountered undefined variable array_norms in translation.
warning: encountered undefined variable array_fact_1 in translation.
warning: encountered undefined variable array_type_pole in translation.
warning: encountered undefined variable array_type_real_pole in translation.
warning: encountered undefined variable array_type_complex_pole in translation.
warning: encountered undefined variable array_tmp0 in translation.
warning: encountered undefined variable array_m1 in translation.
warning: variable ord (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable ord in translation.
warning: variable ord (declared type [found_h]) assigned type any.
warning: encountered undefined variable array_y_higher_work in translation.
warning: encountered undefined variable array_y_higher_work2 in translation.
warning: encountered undefined variable array_const_1 in translation.
warning: encountered undefined variable glob__m1 in translation.
warning: variable iiif (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable iiif in translation.
warning: encountered undefined variable ats_max_terms in translation.
warning: variable jjjf (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable jjjf in translation.
warning: variable jjjf (declared type [found_h]) assigned type any.
warning: variable iiif (declared type [found_h]) assigned type any.
warning: variable glob_orig_start_sec (declared type convfloat) assigned type any.
warning: variable opt_iter (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable always in translation.
warning: encountered undefined variable glob__0 in translation.
warning: variable glob_large_float (declared type convfloat) assigned type any.
warning: variable glob_larger_float (declared type convfloat) assigned type any.
warning: variable glob_almost_1 (declared type convfloat) assigned type any.
warning: variable x_start (declared type [found_h]) assigned type any.
warning: variable x_end (declared type [found_h]) assigned type any.
warning: encountered undefined variable x_start in translation.
warning: variable glob_upper_ratio_limit (declared type convfloat) assigned type any.
warning: variable glob_lower_ratio_limit (declared type convfloat) assigned type any.
warning: variable glob_h (declared type convfloat) assigned type any.
warning: variable glob_display_interval (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_h in translation.
warning: encountered undefined variable glob_max_minutes in translation.
warning: encountered undefined variable glob_max_hours in translation.
warning: encountered undefined variable x_end in translation.
warning: variable glob_check_sign (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_larger_float in translation.
warning: variable last_min_pole_est (declared type [found_h]) assigned type convfloat.
warning: encountered undefined variable glob_min_h in translation.
warning: encountered undefined variable glob_check_sign in translation.
warning: encountered undefined variable glob_max_h in translation.
warning: encountered undefined variable glob_display_interval in translation.
warning: encountered undefined variable glob__10 in translation.
warning: variable display_max (declared type [found_h]) assigned type any.
warning: encountered undefined variable display_max in translation.
warning: variable min_value (declared type [found_h]) assigned type convfloat.
warning: variable est_answer (declared type [found_h]) assigned type any.
warning: encountered undefined variable est_answer in translation.
warning: variable est_needed_step_err (declared type [found_h]) assigned type any.
warning: encountered undefined variable est_needed_step_err in translation.
warning: encountered undefined variable glob_small_float in translation.
warning: variable estimated_step_error (declared type [found_h]) assigned type convfloat.
warning: encountered undefined variable opt_iter in translation.
warning: encountered undefined variable found_h in translation.
warning: variable glob_next_display (declared type convfloat) assigned type any.
warning: variable order_diff (declared type [found_h]) assigned type fixnum.
warning: variable term_no (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable order_diff in translation.
warning: variable term_no (declared type [found_h]) assigned type any.
warning: variable r_order (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable r_order in translation.
warning: encountered undefined variable rows in translation.
warning: variable it (declared type [found_h]) assigned type any.
warning: encountered undefined variable it in translation.
warning: variable r_order (declared type [found_h]) assigned type any.
warning: encountered undefined variable glob_look_poles in translation.
warning: variable estimated_step_error (declared type [found_h]) assigned type any.
warning: encountered undefined variable estimated_step_error in translation.
warning: encountered undefined variable glob__2 in translation.
warning: variable opt_iter (declared type [found_h]) assigned type any.
warning: encountered undefined variable glob_optimize in translation.
warning: variable html_log_file (declared type [found_h]) assigned type any.
warning: encountered undefined variable glob_html_log in translation.
warning: variable current_iter (declared type [found_h]) assigned type fixnum.
warning: variable glob_clock_start_sec (declared type convfloat) assigned type any.
warning: variable glob_clock_sec (declared type convfloat) assigned type any.
warning: encountered undefined variable debugl in translation.
warning: variable glob_optimal_clock_start_sec (declared type convfloat) assigned type any.
warning: encountered undefined variable glob_iter in translation.
warning: encountered undefined variable glob_max_iter in translation.
warning: encountered undefined variable glob_clock_sec in translation.
warning: encountered undefined variable glob_orig_start_sec in translation.
warning: encountered undefined variable glob_max_sec in translation.
warning: encountered undefined variable info in translation.
warning: encountered undefined variable current_iter in translation.
warning: encountered undefined variable glob_next_display in translation.
warning: variable calc_term (declared type [found_h]) assigned type fixnum.
warning: variable iii (declared type [found_h]) assigned type fixnum.
warning: encountered undefined variable calc_term in translation.
warning: variable iii (declared type [found_h]) assigned type any.
warning: variable temp_sum (declared type [found_h]) assigned type convfloat.
warning: encountered undefined variable temp_sum in translation.
warning: variable temp_sum (declared type [found_h]) assigned type any.
warning: encountered undefined variable html_log_file in translation.
warning: encountered undefined variable glob_desired_digits_correct in translation.
warning: encountered undefined variable glob_min_good_digits in translation.
warning: encountered undefined variable glob_good_digits in translation.
warning: encountered undefined variable glob_type_given_pole in translation.
warning: encountered undefined variable glob_least_given_sing in translation.
warning: encountered undefined variable glob_least_ratio_sing in translation.
warning: encountered undefined variable glob_large_float in translation.
warning: encountered undefined variable glob_least_3_sing in translation.
warning: encountered undefined variable glob_least_6_sing in translation.
warning: encountered undefined variable glob_total_exp_sec in translation.
warning: encountered undefined variable glob_percent_done in translation.
warning: encountered undefined variable glob__100 in translation.
WARNING: in $MAIN_PROG : |$Digits| is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $MAX_TERMS is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_DISPLAY_FLAG is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_NO_EQS is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_UNCHANGED_H_CNT is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_WARNED is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_WARNED2 is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_SMALLISH_FLOAT is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_ALMOST_1 is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_SUBITER_METHOD is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_LAST_GOOD_H is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB__PI is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $LAST_MIN_POLE_EST is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $MIN_VALUE is neither declared nor bound,
it will be treated as if it were declared SPECIAL.
WARNING: in $MAIN_PROG : $GLOB_REACHED_OPTIMAL_H is neither declared nor
bound,
it will be treated as if it were declared SPECIAL.
"##############ECHO OF PROBLEM#################"
"##############temp/sing6postode.ode#################"
"diff ( y , x , 1 ) = neg ( 2.0 ) / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0 ) ; "
"!"
"/* BEGIN FIRST INPUT BLOCK */"
"Digits:30,"
"max_terms:20,"
"!"
"/* END FIRST INPUT BLOCK */"
"/* BEGIN SECOND INPUT BLOCK */"
"x_start:c(2.0),"
"x_end:c(3.0),"
""
"array_y_init[0 + 1] : exact_soln_y(x_start),"
"glob_look_poles:true,"
""
""
""
""
""
""
""
"glob_type_given_pole:1,"
""
"array_given_rad_poles[1,1]:c(6.0),"
""
"array_given_rad_poles[1,2]:c(0.0),"
""
"array_given_ord_poles[1,1]:c(3.0),"
""
"array_given_ord_poles[1,2]:c(0.0),"
"/* END SECOND INPUT BLOCK */"
"/* BEGIN OVERRIDE BLOCK */"
"glob_desired_digits_correct:8,"
"glob_max_minutes:(3.0),"
"glob_subiter_method:3,"
"glob_max_iter:100000,"
"glob_upper_ratio_limit:c(1.000001),"
"glob_lower_ratio_limit:c(0.999999),"
"glob_look_poles:false,"
"glob_h:c(0.001),"
"glob_display_interval:c(0.01),"
"/* END OVERRIDE BLOCK */"
"!"
"/* BEGIN USER DEF BLOCK */"
"exact_soln_y (x) := (block("
" (c(1.0)/ ( c(x) - c(6.0) ) / ( c(x) - c(6.0) )) "
"));"
""
""
"/* END USER DEF BLOCK */"
"#######END OF ECHO OF PROBLEM#################"
"START of Soultion"
" "
"TOP MAIN SOLVE Loop"
x[1] = 2. " "
y[1] (closed_form) = 6.2500E-2 " "
y[1] (numeric) = 6.2500E-2 " "
absolute error = 0.0 " "
relative error = 0.0 "%"
Desired digits = 8
Estimated correct digits = 15
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.009999999999999 " "
y[1] (closed_form) = 6.28136757934937300E-2 " "
y[1] (numeric) = 6.28136757934937400E-2 " "
absolute error = 1.387778780781445700000000000000000E-17 " "
relative error = 2.209357696791870700000000000000E-14 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 17
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.019999999999998 " "
y[1] (closed_form) = 6.31297189464911800E-2 " "
y[1] (numeric) = 6.31297189464912300E-2 " "
absolute error = 5.55111512312578300000000000000000E-17 " "
relative error = 8.79318839963617500000000000000E-14 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 17
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0299999999999967 " "
y[1] (closed_form) = 6.34481533414968800E-2 " "
y[1] (numeric) = 6.34481533414969800E-2 " "
absolute error = 9.7144514654701200000000000000000E-17 " "
relative error = 1.5310849810212832000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0399999999999956 " "
y[1] (closed_form) = 6.37690031629424300E-2 " "
y[1] (numeric) = 6.37690031629425400E-2 " "
absolute error = 1.11022302462515650000000000000000E-16 " "
relative error = 1.74100733829618880000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0499999999999945 " "
y[1] (closed_form) = 6.40922929017783700E-2 " "
y[1] (numeric) = 6.40922929017785500E-2 " "
absolute error = 1.80411241501587940000000000000000E-16 " "
relative error = 2.81486639552853400000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0599999999999934 " "
y[1] (closed_form) = 6.44180473601482100E-2 " "
y[1] (numeric) = 6.44180473601483900E-2 " "
absolute error = 1.80411241501587940000000000000000E-16 " "
relative error = 2.80063194857405940000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.0699999999999923 " "
y[1] (closed_form) = 6.47462916561451400E-2 " "
y[1] (numeric) = 6.47462916561453600E-2 " "
absolute error = 2.2204460492503130000000000000000E-16 " "
relative error = 3.42945671860663000000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.079999999999991 " "
y[1] (closed_form) = 6.50770512286544600E-2 " "
y[1] (numeric) = 6.50770512286546800E-2 " "
absolute error = 2.2204460492503130000000000000000E-16 " "
relative error = 3.41202621712001550000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.08999999999999 " "
y[1] (closed_form) = 6.54103518422822200E-2 " "
y[1] (numeric) = 6.54103518422824900E-2 " "
absolute error = 2.6367796834847470000000000000000E-16 " "
relative error = 4.03113514790833600000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.099999999999989 " "
y[1] (closed_form) = 6.57462195923730600E-2 " "
y[1] (numeric) = 6.57462195923733700E-2 " "
absolute error = 3.05311331771918050000000000000000E-16 " "
relative error = 4.6437853562509007000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.109999999999988 " "
y[1] (closed_form) = 6.60846809101178200E-2 " "
y[1] (numeric) = 6.60846809101181400E-2 " "
absolute error = 3.1918911957973250000000000000000E-16 " "
relative error = 4.83000167639249970000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.119999999999987 " "
y[1] (closed_form) = 6.64257625677538300E-2 " "
y[1] (numeric) = 6.64257625677541800E-2 " "
absolute error = 3.4694469519536140000000000000000E-16 " "
relative error = 5.2230442193490840000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1299999999999857 " "
y[1] (closed_form) = 6.67694916838593200E-2 " "
y[1] (numeric) = 6.67694916838597200E-2 " "
absolute error = 4.02455846426619250000000000000000E-16 " "
relative error = 6.0275409663468780000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1399999999999846 " "
y[1] (closed_form) = 6.71158957287438700E-2 " "
y[1] (numeric) = 6.7115895728744300E-2 " "
absolute error = 4.30211422042248160000000000000000E-16 " "
relative error = 6.4099781038607320000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1499999999999835 " "
y[1] (closed_form) = 6.74650025299370100E-2 " "
y[1] (numeric) = 6.74650025299374900E-2 " "
absolute error = 4.857225732735060000000000000000E-16 " "
relative error = 7.1996228423466050000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1599999999999824 " "
y[1] (closed_form) = 6.78168402777771500E-2 " "
y[1] (numeric) = 6.78168402777776700E-2 " "
absolute error = 5.1347814888913490000000000000000E-16 " "
relative error = 7.5715433922596980000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.1699999999999813 " "
y[1] (closed_form) = 6.81714375311025600E-2 " "
y[1] (numeric) = 6.8171437531103100E-2 " "
absolute error = 5.2735593669694940000000000000000E-16 " "
relative error = 7.7357314998139550000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.17999999999998 " "
y[1] (closed_form) = 6.85288232230469200E-2 " "
y[1] (numeric) = 6.8528823223047500E-2 " "
absolute error = 5.8286708792820720000000000000000E-16 " "
relative error = 8.5054296938836570000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.189999999999979 " "
y[1] (closed_form) = 6.88890266669414700E-2 " "
y[1] (numeric) = 6.88890266669421300E-2 " "
absolute error = 6.6613381477509390000000000000000E-16 " "
relative error = 9.6696650686568470000000000000E-13 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 16
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.199999999999978 " "
y[1] (closed_form) = 6.92520775623260800E-2 " "
y[1] (numeric) = 6.9252077562326810E-2 " "
absolute error = 7.3552275381416620000000000000000E-16 " "
relative error = 1.0620948565076684000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 14
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.209999999999977 " "
y[1] (closed_form) = 6.96180060010712600E-2 " "
y[1] (numeric) = 6.96180060010720600E-2 " "
absolute error = 8.0491169285323850000000000000000E-16 " "
relative error = 1.1561832047313345000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2199999999999758 " "
y[1] (closed_form) = 6.99868424736140700E-2 " "
y[1] (numeric) = 6.9986842473614910E-2 " "
absolute error = 8.3266726846886740000000000000000E-16 " "
relative error = 1.1897482998790716000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2299999999999747 " "
y[1] (closed_form) = 7.0358617875309500E-2 " "
y[1] (numeric) = 7.03586178753103900E-2 " "
absolute error = 8.8817841970012520000000000000000E-16 " "
relative error = 1.2623591061356082000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2399999999999736 " "
y[1] (closed_form) = 7.07333635129007600E-2 " "
y[1] (numeric) = 7.07333635129016900E-2 " "
absolute error = 9.2981178312356860000000000000000E-16 " "
relative error = 1.3145307065087952000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2499999999999725 " "
y[1] (closed_form) = 7.11111111111100700E-2 " "
y[1] (numeric) = 7.11111111111110400E-2 " "
absolute error = 9.714451465470120000000000000000E-16 " "
relative error = 1.3660947373317556000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2599999999999714 " "
y[1] (closed_form) = 7.1491892819353200E-2 " "
y[1] (numeric) = 7.14918928193542100E-2 " "
absolute error = 1.0130785099704553000000000000000E-15 " "
relative error = 1.4170536966062958000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.2699999999999703 " "
y[1] (closed_form) = 7.18757412185801600E-2 " "
y[1] (numeric) = 7.18757412185812600E-2 " "
absolute error = 1.096345236817342100000000000000E-15 " "
relative error = 1.5253341645316246000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.279999999999969 " "
y[1] (closed_form) = 7.22626893282448400E-2 " "
y[1] (numeric) = 7.22626893282459700E-2 " "
absolute error = 1.124100812432971000000000000000E-15 " "
relative error = 1.5555756682772684000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.289999999999968 " "
y[1] (closed_form) = 7.26527706134061100E-2 " "
y[1] (numeric) = 7.26527706134072600E-2 " "
absolute error = 1.1518563880485999000000000000E-15 " "
relative error = 1.5854266510740003000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.299999999999967 " "
y[1] (closed_form) = 7.30460189919636200E-2 " "
y[1] (numeric) = 7.30460189919648200E-2 " "
absolute error = 1.1934897514720433000000000000000E-15 " "
relative error = 1.6338874697652567000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.309999999999966 " "
y[1] (closed_form) = 7.34424688420312300E-2 " "
y[1] (numeric) = 7.34424688420324700E-2 " "
absolute error = 1.2351231148954867000000000000000E-15 " "
relative error = 1.6817559844728747000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3199999999999648 " "
y[1] (closed_form) = 7.38421550094503600E-2 " "
y[1] (numeric) = 7.38421550094516600E-2 " "
absolute error = 1.2906342661267445000000000000000E-15 " "
relative error = 1.7478285485595163000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3299999999999637 " "
y[1] (closed_form) = 7.42451128154474600E-2 " "
y[1] (numeric) = 7.42451128154487700E-2 " "
absolute error = 1.304512053934559000000000000000E-15 " "
relative error = 1.7570342403239528000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3399999999999626 " "
y[1] (closed_form) = 7.46513780644375500E-2 " "
y[1] (numeric) = 7.4651378064438900E-2 " "
absolute error = 1.3600232051658168000000000000000E-15 " "
relative error = 1.8218326847119587000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3499999999999615 " "
y[1] (closed_form) = 7.50609870519781500E-2 " "
y[1] (numeric) = 7.50609870519795400E-2 " "
absolute error = 1.4016565685892600000000000000000E-15 " "
relative error = 1.8673569635030815000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3599999999999604 " "
y[1] (closed_form) = 7.54739765728760300E-2 " "
y[1] (numeric) = 7.54739765728774700E-2 " "
absolute error = 1.429412144204889000000000000000E-15 " "
relative error = 1.8939139145857506000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.3699999999999593 " "
y[1] (closed_form) = 7.58903839294505900E-2 " "
y[1] (numeric) = 7.58903839294520900E-2 " "
absolute error = 1.4988010832439613000000000000000E-15 " "
relative error = 1.9749551993797798000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.379999999999958 " "
y[1] (closed_form) = 7.63102469399573400E-2 " "
y[1] (numeric) = 7.63102469399588600E-2 " "
absolute error = 1.5265566588595902000000000000000E-15 " "
relative error = 2.000460908036007800000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.389999999999957 " "
y[1] (closed_form) = 7.67336039471747600E-2 " "
y[1] (numeric) = 7.67336039471763300E-2 " "
absolute error = 1.582067810090848000000000000000E-15 " "
relative error = 2.0617665907885435000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.399999999999956 " "
y[1] (closed_form) = 7.71604938271586200E-2 " "
y[1] (numeric) = 7.71604938271602300E-2 " "
absolute error = 1.609823385706477000000000000000E-15 " "
relative error = 2.086331107875645000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.409999999999955 " "
y[1] (closed_form) = 7.75909559981669100E-2 " "
y[1] (numeric) = 7.75909559981685500E-2 " "
absolute error = 1.6375789613221060000000000000000E-15 " "
relative error = 2.110528141141596000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4199999999999537 " "
y[1] (closed_form) = 7.80250304297598500E-2 " "
y[1] (numeric) = 7.80250304297615500E-2 " "
absolute error = 1.7069679003611782000000000000000E-15 " "
relative error = 2.187718339818957000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4299999999999526 " "
y[1] (closed_form) = 7.84627576520783500E-2 " "
y[1] (numeric) = 7.84627576520801000E-2 " "
absolute error = 1.734723475976807000000000000000E-15 " "
relative error = 2.2108877228977394000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4399999999999515 " "
y[1] (closed_form) = 7.89041787653052700E-2 " "
y[1] (numeric) = 7.89041787653070400E-2 " "
absolute error = 1.7763568394002505000000000000000E-15 " "
relative error = 2.2512836039823622000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4499999999999504 " "
y[1] (closed_form) = 7.9349335449313400E-2 " "
y[1] (numeric) = 7.93493354493152400E-2 " "
absolute error = 1.8457457784393227000000000000000E-15 " "
relative error = 2.326101117278221200000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4599999999999493 " "
y[1] (closed_form) = 7.97982699735046900E-2 " "
y[1] (numeric) = 7.97982699735065900E-2 " "
absolute error = 1.9012569296705806000000000000000E-15 " "
relative error = 2.382579133986053300000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.4699999999999482 " "
y[1] (closed_form) = 8.02510252068446600E-2 " "
y[1] (numeric) = 8.0251025206846590E-2 " "
absolute error = 1.942890293094024000000000000000E-15 " "
relative error = 2.4210161653216034000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.479999999999947 " "
y[1] (closed_form) = 8.07076446280967600E-2 " "
y[1] (numeric) = 8.07076446280987400E-2 " "
absolute error = 1.970645868709652900000000000000E-15 " "
relative error = 2.441709057166081000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.489999999999946 " "
y[1] (closed_form) = 8.116817233626100E-2 " "
y[1] (numeric) = 8.11681723362630100E-2 " "
absolute error = 2.0122792321330962000000000000000E-15 " "
relative error = 2.4791481367803725000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.499999999999945 " "
y[1] (closed_form) = 8.16326530612219200E-2 " "
y[1] (numeric) = 8.16326530612239800E-2 " "
absolute error = 2.067790383364354000000000000000E-15 " "
relative error = 2.5330432196214130000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.509999999999944 " "
y[1] (closed_form) = 8.21011321746100400E-2 " "
y[1] (numeric) = 8.21011321746121500E-2 " "
absolute error = 2.1094237467877974000000000000000E-15 " "
relative error = 2.5692992178250880000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5199999999999427 " "
y[1] (closed_form) = 8.25736557008824800E-2 " "
y[1] (numeric) = 8.25736557008846200E-2 " "
absolute error = 2.1510571102112408000000000000000E-15 " "
relative error = 2.605016202750307000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5299999999999416 " "
y[1] (closed_form) = 8.30502703286271300E-2 " "
y[1] (numeric) = 8.30502703286293400E-2 " "
absolute error = 2.2065682614424986000000000000000E-15 " "
relative error = 2.6569067779203875000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5399999999999405 " "
y[1] (closed_form) = 8.35310234220960800E-2 " "
y[1] (numeric) = 8.35310234220983700E-2 " "
absolute error = 2.275957200481571000000000000000E-15 " "
relative error = 2.7246849221286110000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5499999999999394 " "
y[1] (closed_form) = 8.40159630329733200E-2 " "
y[1] (numeric) = 8.40159630329756000E-2 " "
absolute error = 2.2898349882893854000000000000000E-15 " "
relative error = 2.7254760948115364000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5599999999999383 " "
y[1] (closed_form) = 8.45051379123820600E-2 " "
y[1] (numeric) = 8.45051379123844100E-2 " "
absolute error = 2.3592239273284576000000000000000E-15 " "
relative error = 2.7918112266435036000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.5699999999999372 " "
y[1] (closed_form) = 8.49985975231377600E-2 " "
y[1] (numeric) = 8.49985975231401800E-2 " "
absolute error = 2.4147350785597155000000000000000E-15 " "
relative error = 2.840911672574823000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.579999999999936 " "
y[1] (closed_form) = 8.54963920522522100E-2 " "
y[1] (numeric) = 8.5496392052254700E-2 " "
absolute error = 2.4980018054066022000000000000000E-15 " "
relative error = 2.921762831675887000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.589999999999935 " "
y[1] (closed_form) = 8.59985724236944900E-2 " "
y[1] (numeric) = 8.59985724236970400E-2 " "
absolute error = 2.55351295663786000000000000000E-15 " "
relative error = 2.969250401108183000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.599999999999934 " "
y[1] (closed_form) = 8.65051903114153400E-2 " "
y[1] (numeric) = 8.65051903114179500E-2 " "
absolute error = 2.609024107869118000000000000000E-15 " "
relative error = 3.016031868696817000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.609999999999933 " "
y[1] (closed_form) = 8.70162981526405500E-2 " "
y[1] (numeric) = 8.70162981526432200E-2 " "
absolute error = 2.67841304690819000000000000000E-15 " "
relative error = 3.078059057637483300000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6199999999999317 " "
y[1] (closed_form) = 8.75319491614403800E-2 " "
y[1] (numeric) = 8.75319491614431300E-2 " "
absolute error = 2.7478019859472624000000000000000E-15 " "
relative error = 3.1391989008257176000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6299999999999306 " "
y[1] (closed_form) = 8.80521973425810500E-2 " "
y[1] (numeric) = 8.80521973425838600E-2 " "
absolute error = 2.8171909249863347000000000000000E-15 " "
relative error = 3.1994555615978626000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6399999999999295 " "
y[1] (closed_form) = 8.85770975056652300E-2 " "
y[1] (numeric) = 8.8577097505668100E-2 " "
absolute error = 2.8727020762175925000000000000000E-15 " "
relative error = 3.243165735966749300000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6499999999999284 " "
y[1] (closed_form) = 8.91067052795684900E-2 " "
y[1] (numeric) = 8.91067052795714200E-2 " "
absolute error = 2.9282132274488504000000000000000E-15 " "
relative error = 3.2861872945046120000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.6599999999999273 " "
y[1] (closed_form) = 8.96410771271788500E-2 " "
y[1] (numeric) = 8.96410771271818600E-2 " "
absolute error = 3.011479954295737000000000000000E-15 " "
relative error = 3.359486577814299000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.669999999999926 " "
y[1] (closed_form) = 9.01802703604465300E-2 " "
y[1] (numeric) = 9.01802703604496100E-2 " "
absolute error = 3.066991105526995000000000000000E-15 " "
relative error = 3.4009557670079804000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.679999999999925 " "
y[1] (closed_form) = 9.07243431557514500E-2 " "
y[1] (numeric) = 9.07243431557545700E-2 " "
absolute error = 3.1225022567582530000000000000000E-15 " "
relative error = 3.441746887489372000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.689999999999924 " "
y[1] (closed_form) = 9.12733545695962900E-2 " "
y[1] (numeric) = 9.12733545695994900E-2 " "
absolute error = 3.191891195797325000000000000000E-15 " "
relative error = 3.4970679130276690000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.699999999999923 " "
y[1] (closed_form) = 9.18273645546329800E-2 " "
y[1] (numeric) = 9.18273645546362500E-2 " "
absolute error = 3.2612801348363973000000000000000E-15 " "
relative error = 3.5515340668370027000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.709999999999922 " "
y[1] (closed_form) = 9.23864339760305700E-2 " "
y[1] (numeric) = 9.23864339760338800E-2 " "
absolute error = 3.316791286067655000000000000000E-15 " "
relative error = 3.5901280559526616000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7199999999999207 " "
y[1] (closed_form) = 9.295062462819299E-2 " "
y[1] (numeric) = 9.2950624628196390E-2 " "
absolute error = 3.400058012914542000000000000000E-15 " "
relative error = 3.657918412614158400000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7299999999999196 " "
y[1] (closed_form) = 9.3519999251835410E-2 " "
y[1] (numeric) = 9.35199992518388600E-2 " "
absolute error = 3.4555691641458000000000000000000E-15 " "
relative error = 3.695005551529644000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7399999999999185 " "
y[1] (closed_form) = 9.40946215514274300E-2 " "
y[1] (numeric) = 9.40946215514309100E-2 " "
absolute error = 3.497202527569243000000000000000E-15 " "
relative error = 3.716686958199674000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7499999999999174 " "
y[1] (closed_form) = 9.46745562130129500E-2 " "
y[1] (numeric) = 9.4674556213016500E-2 " "
absolute error = 3.552713678800501000000000000000E-15 " "
relative error = 3.75255382323321950000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.7599999999999163 " "
y[1] (closed_form) = 9.52598689224154500E-2 " "
y[1] (numeric) = 9.52598689224190900E-2 " "
absolute error = 3.635980405647387700000000000000E-15 " "
relative error = 3.816906790632599000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.769999999999915 " "
y[1] (closed_form) = 9.58506263838383900E-2 " "
y[1] (numeric) = 9.5850626383842110E-2 " "
absolute error = 3.7192471324942744000000000000000E-15 " "
relative error = 3.880253340860154700000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.779999999999914 " "
y[1] (closed_form) = 9.64468963388706600E-2 " "
y[1] (numeric) = 9.64468963388744400E-2 " "
absolute error = 3.788636071533346700000000000000E-15 " "
relative error = 3.928209424408845600000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.789999999999913 " "
y[1] (closed_form) = 9.70487475859071400E-2 " "
y[1] (numeric) = 9.70487475859109900E-2 " "
absolute error = 3.858025010572419000000000000000E-15 " "
relative error = 3.9753475511441430000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.799999999999912 " "
y[1] (closed_form) = 9.76562499999946300E-2 " "
y[1] (numeric) = 9.76562499999985500E-2 " "
absolute error = 3.913536161803677000000000000000E-15 " "
relative error = 4.0074610296871854000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.809999999999911 " "
y[1] (closed_form) = 9.82694745531140800E-2 " "
y[1] (numeric) = 9.82694745531180600E-2 " "
absolute error = 3.982925100842749000000000000000E-15 " "
relative error = 4.053064411868816400000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8199999999999097 " "
y[1] (closed_form) = 9.88884933349099100E-2 " "
y[1] (numeric) = 9.88884933349139800E-2 " "
absolute error = 4.066191827689636000000000000000E-15 " "
relative error = 4.111895823833101600000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8299999999999086 " "
y[1] (closed_form) = 9.95133795738779600E-2 " "
y[1] (numeric) = 9.95133795738820700E-2 " "
absolute error = 4.107825191113079000000000000000E-15 " "
relative error = 4.1279124562978603000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8399999999999075 " "
y[1] (closed_form) = 0.10014420765902315 " "
y[1] (numeric) = 0.10014420765902729 " "
absolute error = 4.135580766728708000000000000000E-15 " "
relative error = 4.1296255304248597000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8499999999999064 " "
y[1] (closed_form) = 0.10078105316199953 " "
y[1] (numeric) = 0.1007810531620038 " "
absolute error = 4.260480856999038000000000000000E-15 " "
relative error = 4.227462130357547700000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.8599999999999053 " "
y[1] (closed_form) = 0.10142399285974478 " "
y[1] (numeric) = 0.10142399285974911 " "
absolute error = 4.3298697960381105000000000000000E-15 " "
relative error = 4.269078424101993600000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.869999999999904 " "
y[1] (closed_form) = 0.10207310475762116 " "
y[1] (numeric) = 0.10207310475762557 " "
absolute error = 4.413136522884997000000000000000E-15 " "
relative error = 4.323505720105468000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.879999999999903 " "
y[1] (closed_form) = 0.1027284681130771 " "
y[1] (numeric) = 0.1027284681130816 " "
absolute error = 4.496403249731884000000000000000E-15 " "
relative error = 4.376978779419277000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.889999999999902 " "
y[1] (closed_form) = 0.10339016345984191 " "
y[1] (numeric) = 0.10339016345984647 " "
absolute error = 4.565792188770956000000000000000E-15 " "
relative error = 4.416079862901435000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.899999999999901 " "
y[1] (closed_form) = 0.10405827263266763 " "
y[1] (numeric) = 0.10405827263267227 " "
absolute error = 4.6351811278100286000000000000000E-15 " "
relative error = 4.4544090638257230000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9099999999998998 " "
y[1] (closed_form) = 0.10473287879263257 " "
y[1] (numeric) = 0.10473287879263728 " "
absolute error = 4.704570066849101000000000000000E-15 " "
relative error = 4.491970545528482000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9199999999998987 " "
y[1] (closed_form) = 0.10541406645302057 " "
y[1] (numeric) = 0.10541406645302531 " "
absolute error = 4.746203430272544000000000000000E-15 " "
relative error = 4.502438422094042000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9299999999998976 " "
y[1] (closed_form) = 0.10610192150579141 " "
y[1] (numeric) = 0.10610192150579624 " "
absolute error = 4.829470157119431000000000000000E-15 " "
relative error = 4.551727328383795000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9399999999998965 " "
y[1] (closed_form) = 0.10679653124865783 " "
y[1] (numeric) = 0.10679653124866274 " "
absolute error = 4.912736883966317700000000000000E-15 " "
relative error = 4.600090308671012000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9499999999998954 " "
y[1] (closed_form) = 0.1074979844127849 " "
y[1] (numeric) = 0.10749798441278989 " "
absolute error = 4.9960036108132044000000000000000E-15 " "
relative error = 4.6475323589593026000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.9599999999998943 " "
y[1] (closed_form) = 0.10820637119112819 " "
y[1] (numeric) = 0.10820637119113327 " "
absolute error = 5.079270337660091000000000000000E-15 " "
relative error = 4.694058475252278000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.969999999999893 " "
y[1] (closed_form) = 0.10892178326742796 " "
y[1] (numeric) = 0.10892178326743311 " "
absolute error = 5.1486592766991630000000000000000E-15 " "
relative error = 4.726932595345068600000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.979999999999892 " "
y[1] (closed_form) = 0.1096443138458761 " "
y[1] (numeric) = 0.10964431384588133 " "
absolute error = 5.23192600354605000000000000000E-15 " "
relative error = 4.7717257922744816000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.989999999999891 " "
y[1] (closed_form) = 0.11037405768147454 " "
y[1] (numeric) = 0.11037405768147984 " "
absolute error = 5.3013149425851220000000000000000E-15 " "
relative error = 4.803044351131895000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
" "
"TOP MAIN SOLVE Loop"
x[1] = 2.99999999999989 " "
y[1] (closed_form) = 0.11111111111110296 " "
y[1] (numeric) = 0.11111111111110832 " "
absolute error = 5.35682609381638000000000000000E-15 " "
relative error = 4.821143484435096000000000000E-12 "%"
Desired digits = 8
Estimated correct digits = 13
Correct digits = 15
h = 1.000E-3 " "
"Finished!"
"diff ( y , x , 1 ) = neg ( 2.0 ) / ( x - 6.0 ) / ( x - 6.0 ) / ( x - 6.0 ) ; "
Iterations = 1001
"Total Elapsed Time "= 15 Seconds
"Elapsed Time(since restart) "= 15 Seconds
"Time to Timeout "= 2 Minutes 44 Seconds
Percent Done = 100.19999999998896 "%"
(%o257) temp/diffeq.sing6.max