(%i1) batch("temp/diffeq.sub_lin_sin.max") read and interpret file: /home/dennis/src/mine/omni/temp/diffeq.sub_lin_sin.max (%i2) load("stringproc") (%i3) alias(convfloat,float) (%i4) alias(int_trunc,truncate) (%i5) alias(elapsed_time_seconds,elapsed_real_time) (%i6) alias(ln,log) (%i7) alias(arcsin,asin) (%i8) alias(arccos,acos) (%i9) alias(arctan,atan) (%i10) alias(float_abs,abs) (%i11) keepfloat:true (%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([MAX_TERMS],convfloat)),fixnum) (%i24) mode_declare(ats([mmm_ats],fixnum,[arr_a], completearray([MAX_TERMS],convfloat),[arr_b], completearray([MAX_TERMS],convfloat),[jjj_ats], fixnum),convfloat) (%i25) mode_declare(att([mmm_att],fixnum,[arr_a], completearray([MAX_TERMS],convfloat),[arr_b], completearray([MAX_TERMS],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(factorial_2([nnn],fixnum),fixnum) (%i43) mode_declare(factorial_1([nnn],fixnum),fixnum) (%i44) mode_declare(factorial_3([mmm],fixnum,[nnn],fixnum),fixnum) (%i45) mode_declare(convfloat([mmm],fixnum),convfloat) (%i46) mode_declare(elaped_time_seconds(),convfloat) (%i47) mode_declare(Si([x],convfloat),convfloat) (%i48) mode_declare(Ci([x],convfloat),convfloat) (%i49) mode_declare(estimated_needed_step_error([x_start],convfloat,[x_end], convfloat,[estimated_h], convfloat,[estimated_answer], convfloat),convfloat) (%i50) mode_declare(my_check_sign([x0],convfloat,[xf],convfloat),convfloat) (%i51) mode_declare(main_prog(),fixnum) (%i52) define_variable(MAX_TERMS,40,fixnum) (%i53) define_variable(glob_iolevel,5,fixnum) (%i54) define_variable(glob_yes_pole,4,fixnum) (%i55) define_variable(glob_no_pole,3,fixnum) (%i56) define_variable(glob_not_given,0,fixnum) (%i57) define_variable(glob_no_sing_tests,4,fixnum) (%i58) define_variable(glob_ratio_test,1,fixnum) (%i59) define_variable(glob_three_term_test,2,fixnum) (%i60) define_variable(glob_six_term_test,3,fixnum) (%i61) define_variable(glob_log_10,log(10.0),convfloat) (%i62) define_variable(ALWAYS,1,fixnum) (%i63) define_variable(INFO,2,fixnum) (%i64) define_variable(DEBUGL,3,fixnum) (%i65) define_variable(DEBUGMASSIVE,4,fixnum) (%i66) define_variable(MAX_UNCHANGED,10,fixnum) (%i67) define_variable(glob_prec,1.0E-16,convfloat) (%i68) define_variable(glob_est_digits,1,fixnum) (%i69) define_variable(glob_check_sign,1.0,convfloat) (%i70) define_variable(glob_desired_digits_correct,8.0,convfloat) (%i71) define_variable(glob_max_estimated_step_error,0.0,convfloat) (%i72) define_variable(glob_ratio_of_radius,0.1,convfloat) (%i73) define_variable(glob_percent_done,0.0,convfloat) (%i74) define_variable(glob_subiter_method,3,fixnum) (%i75) define_variable(glob_total_exp_sec,0.1,convfloat) (%i76) define_variable(glob_optimal_expect_sec,0.1,convfloat) (%i77) define_variable(glob_estimated_size_answer,100.0,convfloat) (%i78) define_variable(glob_html_log,true,boolean) (%i79) define_variable(glob_good_digits,0,fixnum) (%i80) define_variable(glob_max_opt_iter,10,fixnum) (%i81) define_variable(glob_dump,false,boolean) (%i82) define_variable(glob_djd_debug,true,boolean) (%i83) define_variable(glob_display_flag,true,boolean) (%i84) define_variable(glob_djd_debug2,true,boolean) (%i85) define_variable(glob_h_reason,0,fixnum) (%i86) define_variable(glob_sec_in_minute,60,fixnum) (%i87) define_variable(glob_min_in_hour,60.0,convfloat) (%i88) define_variable(glob_hours_in_day,24.0,convfloat) (%i89) define_variable(glob_days_in_year,365,fixnum) (%i90) define_variable(glob_sec_in_hour,3600,fixnum) (%i91) define_variable(glob_sec_in_day,86400,fixnum) (%i92) define_variable(glob_sec_in_year,31536000,fixnum) (%i93) define_variable(glob_almost_1,0.999,convfloat) (%i94) define_variable(glob_clock_sec,0.0,convfloat) (%i95) define_variable(glob_clock_start_sec,0.0,convfloat) (%i96) define_variable(glob_not_yet_finished,true,boolean) (%i97) define_variable(glob_initial_pass,true,boolean) (%i98) define_variable(glob_not_yet_start_msg,true,boolean) (%i99) define_variable(glob_reached_optimal_h,false,boolean) (%i100) define_variable(glob_optimal_done,false,boolean) (%i101) define_variable(glob_disp_incr,0.1,convfloat) (%i102) define_variable(glob_h,0.1,convfloat) (%i103) define_variable(glob_diff_rc_fm,0.1,convfloat) (%i104) define_variable(glob_diff_rc_fmm1,0.1,convfloat) (%i105) define_variable(glob_diff_rc_fmm2,0.1,convfloat) (%i106) define_variable(glob_diff_ord_fm,0.1,convfloat) (%i107) define_variable(glob_diff_ord_fmm1,0.1,convfloat) (%i108) define_variable(glob_diff_ord_fmm2,0.1,convfloat) (%i109) define_variable(glob_six_term_ord_save,0.1,convfloat) (%i110) define_variable(glob_guess_error_rc,0.1,convfloat) (%i111) define_variable(glob_guess_error_ord,0.1,convfloat) (%i112) define_variable(glob_max_h,0.1,convfloat) (%i113) define_variable(glob_min_h,1.0E-6,convfloat) (%i114) define_variable(glob_type_given_pole,0,fixnum) (%i115) define_variable(glob_large_float,1.0E+100,convfloat) (%i116) define_variable(glob_larger_float,1.1E+100,convfloat) (%i117) define_variable(glob_least_given_sing,9.9E+100,convfloat) (%i118) define_variable(glob_least_ratio_sing,9.9E+100,convfloat) (%i119) define_variable(glob_least_3_sing,9.9E+100,convfloat) (%i120) define_variable(glob_least_6_sing,9.9E+100,convfloat) (%i121) define_variable(glob_last_good_h,0.1,convfloat) (%i122) define_variable(glob_look_poles,false,boolean) (%i123) define_variable(glob_display_interval,0.1,convfloat) (%i124) define_variable(glob_next_display,0.0,convfloat) (%i125) define_variable(glob_dump_closed_form,false,boolean) (%i126) define_variable(glob_abserr,1.0E-11,convfloat) (%i127) define_variable(glob_relerr,1.0E-11,convfloat) (%i128) define_variable(glob_min_pole_est,1.0E+9,convfloat) (%i129) define_variable(glob_max_hours,0.0,convfloat) (%i130) define_variable(glob_max_iter,1000,fixnum) (%i131) define_variable(glob_max_rel_trunc_err,1.0E-11,convfloat) (%i132) define_variable(glob_max_trunc_err,1.0E-11,convfloat) (%i133) define_variable(glob_no_eqs,0,fixnum) (%i134) define_variable(glob_optimal_clock_start_sec,0.0,convfloat) (%i135) define_variable(glob_optimal_start,0.0,convfloat) (%i136) define_variable(glob_upper_ratio_limit,1.0001,convfloat) (%i137) define_variable(glob_lower_ratio_limit,0.9999,convfloat) (%i138) define_variable(glob_small_float,0.0,convfloat) (%i139) define_variable(glob_smallish_float,0.0,convfloat) (%i140) define_variable(glob_unchanged_h_cnt,0,fixnum) (%i141) define_variable(glob_warned,false,boolean) (%i142) define_variable(glob_warned2,false,boolean) (%i143) define_variable(glob_max_sec,10000.0,convfloat) (%i144) define_variable(glob_orig_start_sec,0.0,convfloat) (%i145) define_variable(glob_start,0,fixnum) (%i146) define_variable(glob_iter,0,fixnum) (%i147) define_variable(glob_normmax,0.0,convfloat) (%i148) define_variable(glob_max_minutes,0.0,convfloat) (%i149) array(array_y_init,MAX_TERMS) (%i150) array(array_norms,MAX_TERMS) (%i151) array(array_fact_1,MAX_TERMS) (%i152) array(array_1st_rel_error,2) (%i153) array(array_last_rel_error,2) (%i154) array(array_est_rel_error,2) (%i155) array(array_max_est_error,2) (%i156) array(array_type_pole,2) (%i157) array(array_type_real_pole,2) (%i158) array(array_type_complex_pole,2) (%i159) array(array_est_digits,2) (%i160) array(array_good_digits,2) (%i161) array(array_y,MAX_TERMS) (%i162) array(array_x,MAX_TERMS) (%i163) array(array_tmp0,MAX_TERMS) (%i164) array(array_tmp1,MAX_TERMS) (%i165) array(array_tmp2,MAX_TERMS) (%i166) array(array_tmp3,MAX_TERMS) (%i167) array(array_tmp4_g,MAX_TERMS) (%i168) array(array_tmp4,MAX_TERMS) (%i169) array(array_tmp5,MAX_TERMS) (%i170) array(array_m1,MAX_TERMS) (%i171) array(array_y_higher,2,MAX_TERMS) (%i172) array(array_y_higher_work,2,MAX_TERMS) (%i173) array(array_y_higher_work2,2,MAX_TERMS) (%i174) array(array_y_set_initial,2,MAX_TERMS) (%i175) array(array_given_rad_poles,2,3) (%i176) array(array_given_ord_poles,2,3) (%i177) array(array_rad_test_poles,2,4) (%i178) array(array_ord_test_poles,2,4) (%i179) array(array_fact_2,MAX_TERMS,MAX_TERMS) (%i180) omniout_str(iolevel,str):=if glob_iolevel >= iolevel then printf(true,"~a~%",string(str)) (%i181) omniout_str_noeol(iolevel,str):=if glob_iolevel >= iolevel then printf(true,"~a",string(str)) (%i182) omniout_labstr(iolevel,label,str):=if glob_iolevel >= iolevel then printf(true,"~a = ~a~%",string(label), string(str)) (%i183) 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)) (%i184) omniout_int(iolevel,prelabel,prelen,value,vallen,postlabel):=if glob_iolevel >= iolevel then (printf(true,"~a = ~d ~a~%",prelabel,value, postlabel),newline()) (%i185) omniout_float_arr(iolevel,prelabel,elemnt,prelen,value,vallen, postlabel):=if glob_iolevel >= iolevel then (sprint(prelabel,"[",elemnt,"]=",value, postlabel),newline()) (%i186) 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) (%i187) 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) (%i188) zero_ats_ar(arr_a):=( block(modedcclare([iii],fixnum),iii:1, while iii <= MAX_TERMS do (arr_a[iii]:0.0,iii:1+iii)),0) (%i189) ats(mmm_ats,arr_a,arr_b,jjj_ats):=block( mode_declare([[iii_ats,lll_ats,ma_ats],fixnum,[ret_ats], convfloat]),ret_ats:0.0, if jjj_ats <= mmm_ats then (ma_ats:1+mmm_ats,iii_ats:jjj_ats, while iii_ats <= mmm_ats do (lll_ats:ma_ats-iii_ats, if lll_ats <= MAX_TERMS and iii_ats <= MAX_TERMS then ret_ats :arr_a[iii_ats]*arr_b[lll_ats]+ret_ats, iii_ats:1+iii_ats)),ret_ats) (%i190) 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:0.0, if jjj_att < mmm_att then (ma_att:2+mmm_att,iii_att:jjj_att, while iii_att < mmm_att and iii_att <= MAX_TERMS do (lll_att:ma_att-iii_att,al_att:lll_att-1, if lll_att <= MAX_TERMS and iii_att <= MAX_TERMS then ret_att :arr_aa[iii_att]*arr_bb[lll_att]*al_att +ret_att,iii_att:1+iii_att), ret_att:ret_att/mmm_att),ret_att) (%i191) logditto(file):=(printf(file,""),printf(file,"ditto"), printf(file,""),0) (%i192) logitem_integer(file,n):=(printf(file,""),printf(file,"~d",n), printf(file,""),0) (%i193) logitem_str(file,str):=(printf(file,""),printf(file,str), printf(file,""),0) (%i194) logitem_good_digits(file,rel_error):=( block(mode_declare([[good_digits],fixnum]), printf(file,""), if rel_error # -1.0 then (if rel_error > glob_prec then ( good_digits :3-floor(log10(rel_error)), printf(file,"~d",good_digits)) else (good_digits:16, printf(file,"~d", good_digits))) else printf(file,"Unknown"), printf(file,"")),0) (%i195) log_revs(file,revs):=printf(file,revs) (%i196) logitem_float(file,x):=(printf(file,""),printf(file,"~g",x), printf(file,""),0) (%i197) 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) (%i198) logstart(file):=(printf(file,""),0) (%i199) logend(file):=(printf(file,"~%"),0) (%i200) 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) (%i201) comp_expect_sec(t_end2,t_start2,t2,clock_sec2):=block( mode_declare([[ms2,rrr,sec_left,sub1,sub2], convfloat]),ms2:clock_sec2, sub1:t_end2-t_start2,sub2:t2-t_start2, if sub1 = 0.0 then sec_left:0.0 else (if sub2 > 0.0 then (rrr:sub1/sub2, sec_left:rrr*ms2-ms2) else sec_left:0.0),sec_left) (%i202) 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:100.0*sub2/sub1 else rrr:0.0,rrr) (%i203) comp_rad_from_ratio(term1,term2,last_no):=( if term2 > 0.0 then ret:abs(term1*glob_h/term2) else ret:glob_larger_float,ret) (%i204) comp_ord_from_ratio(term1,term2,last_no):=( if term2 > 0.0 then ret :abs(term2)*convfloat(last_no) *log(abs(term1*glob_h/term2)) /log(convfloat(last_no)) +1.0 else ret:glob_larger_float,ret) (%i205) comp_rad_from_three_terms(term1,term2,term3,last_no):=( temp:abs( term1*term3 -term1*term3*convfloat(last_no) -2.0*term2*term2 +term2*term2*convfloat(last_no)), if temp > 0.0 then ret:abs(term2*glob_h*term1/temp) else ret:glob_larger_float,ret) (%i206) comp_ord_from_three_terms(term1,term2,term3,last_no):=( ret:abs( (-term1*term3*convfloat(last_no*last_no) +term2*term2*convfloat(last_no*last_no) +4.0*term2*term2 -4.0*term2*term2*convfloat(last_no) -3.0*term1*term3 +4.0*term1*term3*convfloat(last_no)) /(term1*term3 -term1*term3*convfloat(last_no) -2.0*term2*term2 +term2*term2*convfloat(last_no))),ret) (%i207) comp_rad_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):= ( if term5 # 0.0 and term4 # 0.0 and term3 # 0.0 and term2 # 0.0 and term1 # 0.0 then (rm0:term6/term5,rm1:term5/term4, rm2:term4/term3,rm3:term3/term2, rm4:term2/term1, nr1 :convfloat(last_no-3)*rm2 -2.0*convfloat(last_no-2)*rm1 +convfloat(last_no-1)*rm0, nr2 :convfloat(last_no-4)*rm3 -2.0*convfloat(last_no-3)*rm2 +convfloat(last_no-2)*rm1, dr1:(-1.0)/rm3+2.0/rm2+(-1.0)/rm1, dr2:(-1.0)/rm4+2.0/rm3+(-1.0)/rm2, ds1:5.0/rm3-8.0/rm2+3.0/rm1, ds2:5.0/rm4-8.0/rm3+3.0/rm2, if abs(nr1*dr2-nr2*dr1) = 0.0 or abs(dr1) = 0.0 then (rad_c:glob_larger_float, ord_no:glob_larger_float) else (if abs(nr1*dr2-nr2*dr1) # 0.0 then ( rcs :(dr1*dr2-ds2*dr1+ds1*dr2) /(nr1*dr2-nr2*dr1), ord_no :(rcs*nr1-ds1)/(2.0*dr1) -convfloat(last_no)/2.0, if abs(rcs) # 0.0 then (if rcs > 0.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) (%i208) comp_ord_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):=glob_six_term_ord_save (%i209) factorial_2(nnn):=block(mode_declare([[ret],convfloat]),ret:nnn!,ret) (%i210) factorial_1(nnn):=block(mode_declare([[ret],convfloat]), if nnn <= 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) (%i211) factorial_3(mmm,nnn):=block(mode_declare([[ret],convfloat]), if nnn <= MAX_TERMS and mmm <= 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) (%i212) log10(x):=log(x)/glob_log_10 (%i213) 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 (%i214) estimated_needed_step_error(x_start,x_end,estimated_h, estimated_answer):=block( [desired_abs_gbl_error,range, estimated_steps,step_error], omniout_float(ALWAYS, "glob_desired_digits_correct", 32, glob_desired_digits_correct, 32,""), desired_abs_gbl_error :expt(10.0,-glob_desired_digits_correct) *abs(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 :abs( desired_abs_gbl_error /sqrt(estimated_steps) /MAX_TERMS), omniout_float(ALWAYS,"step_error",32, step_error,32,""), step_error) (%i215) exact_soln_y(x):=block(x+0.05*x*x+cos(x)) (%o215) exact_soln_y(x) := block(x + 0.05 x x + cos(x)) (%i216) 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] > 0.0 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] > 0.0 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) (%i217) my_check_sign(x0,xf):=block([ret],if xf > x0 then ret:1.0 else ret:-1.0,ret) (%i218) 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 < 1.0 then (min_size:1.0, omniout_float(ALWAYS,"min_size",32,min_size, 32,"")),min_size) (%i219) test_suggested_h():=block( [max_estimated_step_error,hn_div_ho,hn_div_ho_2, hn_div_ho_3,no_terms,est_tmp], max_estimated_step_error:0.0,no_terms:MAX_TERMS, hn_div_ho:0.5,hn_div_ho_2:0.25,hn_div_ho_3:0.125, omniout_float(ALWAYS,"hn_div_ho",32,hn_div_ho,32,""), omniout_float(ALWAYS,"hn_div_ho_2",32,hn_div_ho_2,32, ""), omniout_float(ALWAYS,"hn_div_ho_3",32,hn_div_ho_3,32, ""), est_tmp: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) (%i220) track_estimated_error():=block( [hn_div_ho,hn_div_ho_2,hn_div_ho_3,no_terms, est_tmp],no_terms:MAX_TERMS,hn_div_ho:0.5, hn_div_ho_2:0.25,hn_div_ho_3:0.125, est_tmp:abs(array_y[no_terms])*hn_div_ho_3 +abs(array_y[no_terms-1])*hn_div_ho_2 +abs(array_y[no_terms-2])*hn_div_ho +abs(array_y[no_terms-3]), if glob_prec*abs(array_y[1]) > est_tmp then est_tmp:glob_prec*abs(array_y[1]), if est_tmp >= array_max_est_error[1] then array_max_est_error[1]:est_tmp) (%i221) reached_interval():=block(mode_declare([[ret],boolean]), if glob_check_sign*array_x[1] >= glob_check_sign*glob_next_display-glob_h/10.0 then ret:true else ret:false,return(ret)) (%i222) 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 abs(closed_form_val_y) > glob_prec then ( relerr :abserr*100.0 /abs(closed_form_val_y), if relerr > glob_prec then glob_good_digits :3-floor(log10(relerr)) else glob_good_digits:16) else (relerr:-1.0, glob_good_digits:-16), if abs(numeric_val) > glob_prec then ( est_rel_err :array_max_est_error[1] *100.0*sqrt(glob_iter)*25 *MAX_TERMS /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:-1.0, glob_est_digits:-16), array_est_digits[1] :glob_est_digits, array_good_digits[1] :glob_good_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) (%i223) 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 :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 percent_done < 100.0 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) (%i224) 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+MAX_TERMS,cnt:0, while last_no < 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), tmp_ratio:tmp_rad/prev_tmp_rad, 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+MAX_TERMS,cnt:0, while last_no < 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), tmp_ratio:tmp_rad/prev_tmp_rad, 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+MAX_TERMS,cnt:0, while last_no < 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), tmp_ratio:tmp_rad/prev_tmp_rad, 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:1.0, while term <= 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) (%i225) atomall():=( block(mode_declare([[kkk,order_d],fixnum, [adj2,adj3,temporary,term,temp,temp2], convfloat]), array_tmp1[1]:array_const_0D1[1]*array_x[1], array_tmp2[1]:array_const_1D0[1]+array_tmp1[1], array_tmp3[1]:array_tmp2[1]+array_const_0D0[1], array_tmp4[1]:sin(array_x[1]), array_tmp4_g[1]:cos(array_x[1]), array_tmp5[1]:array_tmp3[1]-array_tmp4[1], if not array_y_set_initial[1,2] then (if 1 <= MAX_TERMS then ( temporary :array_tmp5[1]*expt(glob_h,1) *factorial_3(0,1), if 2 <= MAX_TERMS then (array_y[2]:temporary, array_y_higher[1,2]:temporary), temporary:temporary*1.0/glob_h, array_y_higher[2,1]:temporary,0)),kkk:2, array_tmp1[2]:array_const_0D1[1]*array_x[2], array_tmp2[2]:array_tmp1[2],array_tmp3[2]:array_tmp2[2], array_tmp4[2]:array_tmp4_g[1]*array_x[2]/1, array_tmp4_g[2]:(-array_tmp4[1]*array_x[2])/1, array_tmp5[2]:array_tmp3[2]-array_tmp4[2], if not array_y_set_initial[1,3] then (if 2 <= MAX_TERMS then ( temporary :array_tmp5[2]*expt(glob_h,1) *factorial_3(1,2), if 3 <= MAX_TERMS then (array_y[3]:temporary, array_y_higher[1,3]:temporary), temporary:temporary*2.0/glob_h, array_y_higher[2,2]:temporary,0)),kkk:3, array_tmp4[3]:array_tmp4_g[2]*array_x[2]/2, array_tmp4_g[3]:(-array_tmp4[2]*array_x[2])/2, array_tmp5[3]:-array_tmp4[3], if not array_y_set_initial[1,4] then (if 3 <= MAX_TERMS then ( temporary :array_tmp5[3]*expt(glob_h,1) *factorial_3(2,3), if 4 <= MAX_TERMS then (array_y[4]:temporary, array_y_higher[1,4]:temporary), temporary:temporary*3.0/glob_h, array_y_higher[2,3]:temporary,0)),kkk:4, array_tmp4[4]:array_tmp4_g[3]*array_x[2]/3, array_tmp4_g[4]:(-array_tmp4[3]*array_x[2])/3, array_tmp5[4]:-array_tmp4[4], if not array_y_set_initial[1,5] then (if 4 <= MAX_TERMS then ( temporary :array_tmp5[4]*expt(glob_h,1) *factorial_3(3,4), if 5 <= MAX_TERMS then (array_y[5]:temporary, array_y_higher[1,5]:temporary), temporary:temporary*4.0/glob_h, array_y_higher[2,4]:temporary,0)),kkk:5, array_tmp4[5]:array_tmp4_g[4]*array_x[2]/4, array_tmp4_g[5]:(-array_tmp4[4]*array_x[2])/4, array_tmp5[5]:-array_tmp4[5], if not array_y_set_initial[1,6] then (if 5 <= MAX_TERMS then ( temporary :array_tmp5[5]*expt(glob_h,1) *factorial_3(4,5), if 6 <= MAX_TERMS then (array_y[6]:temporary, array_y_higher[1,6]:temporary), temporary:temporary*5.0/glob_h, array_y_higher[2,5]:temporary,0)),kkk:6, while kkk <= MAX_TERMS do (array_tmp4[kkk] :array_tmp4_g[kkk-1]*array_x[2]/(kkk-1), array_tmp4_g[kkk] :(-array_tmp4[kkk-1]*array_x[2])/(kkk-1), array_tmp5[kkk]:-array_tmp4[kkk],order_d:1, if order_d+kkk <= MAX_TERMS then (if not array_y_set_initial[1,order_d+kkk] then ( temporary :array_tmp5[kkk]*expt(glob_h,order_d) *factorial_3(kkk-1, -1+order_d +kkk), array_y[order_d+kkk]:temporary, array_y_higher[1,order_d+kkk]:temporary, term:-1+order_d+kkk,adj2:-1+order_d+kkk, adj3:2, while term >= 1 and term <= MAX_TERMS and adj3 < 1+order_d do ( if adj3 <= 1+order_d then ( if adj2 > 0 then temporary :temporary*adj2/glob_h else temporary:temporary, array_y_higher[adj3,term] :temporary),term:term-1, adj2:adj2-1,adj3:1+adj3))), kkk:1+kkk)),0) (%i226) exact_soln_y(x):=block(x+0.05*x*x+cos(x)) (%o226) exact_soln_y(x) := block(x + 0.05 x x + cos(x)) (%i227) 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:32,max_terms:40, glob_html_log:true,term:1, while term <= MAX_TERMS do (array_y_init[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_norms[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_fact_1[term]:0.0,term:1+term),term:1, while term <= 2 do (array_1st_rel_error[term]:0.0,term:1+term),term:1, while term <= 2 do (array_last_rel_error[term]:0.0,term:1+term),term:1, while term <= 2 do (array_est_rel_error[term]:0.0,term:1+term),term:1, while term <= 2 do (array_max_est_error[term]: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 <= 2 do (array_good_digits[term]:0,term:1+term), term:1, while term <= MAX_TERMS do (array_y[term]:0.0,term:1+term), term:1, while term <= MAX_TERMS do (array_x[term]:0.0,term:1+term), term:1, while term <= MAX_TERMS do (array_tmp0[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp1[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp2[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp3[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp4_g[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp4[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_tmp5[term]:0.0,term:1+term),term:1, while term <= MAX_TERMS do (array_m1[term]:0.0,term:1+term), ord:1, while ord <= 2 do (term:1, while term <= MAX_TERMS do (array_y_higher[ord,term]:0.0,term:1+term), ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= MAX_TERMS do (array_y_higher_work[ord,term]:0.0, term:1+term),ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= MAX_TERMS do (array_y_higher_work2[ord,term]:0.0, term:1+term),ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= MAX_TERMS do (array_y_set_initial[ord,term]: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]: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]: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]: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]:0.0, term:1+term),ord:1+ord),ord:1, while ord <= MAX_TERMS do (term:1, while term <= MAX_TERMS do (array_fact_2[ord,term]: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_g),zero_ats_ar(array_tmp4), zero_ats_ar(array_tmp5),zero_ats_ar(array_m1), zero_ats_ar(array_const_1),array_const_1[1]:1, zero_ats_ar(array_const_0D0),array_const_0D0[1]:0.0, zero_ats_ar(array_const_0D1),array_const_0D1[1]:0.1, zero_ats_ar(array_const_1D0),array_const_1D0[1]:1.0, zero_ats_ar(array_m1),array_m1[1]:-1.0,iiif:0, while iiif <= MAX_TERMS do (jjjf:0, while jjjf <= 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, array_y_set_initial[1,21]:false, array_y_set_initial[1,22]:false, array_y_set_initial[1,23]:false, array_y_set_initial[1,24]:false, array_y_set_initial[1,25]:false, array_y_set_initial[1,26]:false, array_y_set_initial[1,27]:false, array_y_set_initial[1,28]:false, array_y_set_initial[1,29]:false, array_y_set_initial[1,30]:false, array_y_set_initial[1,31]:false, array_y_set_initial[1,32]:false, array_y_set_initial[1,33]:false, array_y_set_initial[1,34]:false, array_y_set_initial[1,35]:false, array_y_set_initial[1,36]:false, array_y_set_initial[1,37]:false, array_y_set_initial[1,38]:false, array_y_set_initial[1,39]:false, array_y_set_initial[1,40]:false,ALWAYS:1,INFO:2,DEBUGL:3, DEBUGMASSIVE:4,MAX_TERMS:40,glob_iolevel:INFO, 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/sub_lin_sinpostode.ode#################"), omniout_str(ALWAYS, "diff ( y , x , 1 ) = ( 0.1 * x + 1.0 ) - sin ( x ) ; "), omniout_str(ALWAYS,"!"), omniout_str(ALWAYS,"/* BEGIN FIRST INPUT BLOCK */"), omniout_str(ALWAYS,"Digits:32,"), omniout_str(ALWAYS,"max_terms:40,"),omniout_str(ALWAYS,"!"), omniout_str(ALWAYS,"/* END FIRST INPUT BLOCK */"), omniout_str(ALWAYS,"/* BEGIN SECOND INPUT BLOCK */"), omniout_str(ALWAYS,"x_start:0.1,"), omniout_str(ALWAYS,"x_end:5.0,"), 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:3,"), omniout_str(ALWAYS,""), omniout_str(ALWAYS,"/* END SECOND INPUT BLOCK */"), omniout_str(ALWAYS,"/* BEGIN OVERRIDE BLOCK */"), omniout_str(ALWAYS,"glob_desired_digits_correct:16,"), omniout_str(ALWAYS,"glob_max_minutes:3.0,"), omniout_str(ALWAYS,"glob_subiter_method:3,"), omniout_str(ALWAYS,"glob_max_iter:100000000,"), 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," (cos(x) + (0.05 * x * x) + x) "), omniout_str(ALWAYS,"));"), omniout_str(ALWAYS,"/* END USER DEF BLOCK */"), omniout_str(ALWAYS, "#######END OF ECHO OF PROBLEM#################"), glob_unchanged_h_cnt:0,glob_warned:false,glob_warned2:false, glob_small_float:0.0,glob_smallish_float:0.0, glob_large_float:1.0E+100,glob_larger_float:1.1E+100, glob_almost_1:0.99,x_start:0.1,x_end:5.0, array_y_init[1+0]:exact_soln_y(x_start), glob_look_poles:true,glob_type_given_pole:3, glob_desired_digits_correct:16,glob_max_minutes:3.0, glob_subiter_method:3,glob_max_iter:100000000, glob_last_good_h:glob_h, glob_max_sec:3600.0*glob_max_hours+60.0*glob_max_minutes, omniout_str(ALWAYS,"START of Optimize"), glob_check_sign:my_check_sign(x_start,x_end),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:abs(glob_display_interval) *glob_check_sign, display_max:(x_end-x_start)/10.0, if glob_display_interval > display_max then glob_display_interval:display_max,chk_data(), min_value:glob_larger_float,est_answer:est_size_answer(), opt_iter:1,glob_prec:expt(10.0,-16), 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]:x_start,array_x[2]:glob_h, glob_next_display: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,term_no-1) /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 < MAX_TERMS then array_y_higher[ r_order,term_no] :array_y_init[it] *expt(glob_h,term_no-1) /factorial_1(term_no-1), term_no:1+term_no),r_order:1+r_order), atomall(), 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), 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 opt_iter > 2 and not found_h and (glob_min_pole_est < 0.999*last_min_pole_est or glob_min_pole_est > 1.111 *last_min_pole_est) then ( omniout_str(ALWAYS, "SETTING H FOR POLE ACCURACY"), glob_h_reason:4,found_h:true, glob_h:glob_h/2.0, last_min_pole_est:glob_min_pole_est) else last_min_pole_est :glob_min_pole_est), 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*2.0) else ( omniout_str(ALWAYS, "Found H for OPTIMAL"), found_h:true,glob_h_reason:3, glob_h:glob_h/2.0)), 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_html_log then html_log_file:openw("entry.html"), if found_h then (omniout_str(ALWAYS,"START of Soultion"), array_x[1]:x_start,array_x[2]:glob_h, glob_next_display: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,term_no-1) /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 < MAX_TERMS then array_y_higher[ r_order,term_no] :array_y_init[it] *expt(glob_h,term_no-1) /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), 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:MAX_TERMS, while iii >= calc_term do ( array_y_higher_work[2,iii] :array_y_higher[2,iii] /expt(glob_h,calc_term-1) /factorial_3(iii-calc_term,iii-1), iii:iii-1),temp_sum:0.0,ord:2, calc_term:1,iii: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,calc_term-1) /factorial_1(calc_term-1),ord:1, calc_term:2,iii:MAX_TERMS, while iii >= calc_term do ( array_y_higher_work[1,iii] :array_y_higher[1,iii] /expt(glob_h,calc_term-1) /factorial_3(iii-calc_term,iii-1), iii:iii-1),temp_sum:0.0,ord:1, calc_term:2,iii: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,calc_term-1) /factorial_1(calc_term-1),ord:1, calc_term:1,iii:MAX_TERMS, while iii >= calc_term do ( array_y_higher_work[1,iii] :array_y_higher[1,iii] /expt(glob_h,calc_term-1) /factorial_3(iii-calc_term,iii-1), iii:iii-1),temp_sum:0.0,ord:1, calc_term:1,iii: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,calc_term-1) /factorial_1(calc_term-1), term_no: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 ) = ( 0.1 * x + 1.0 ) - sin ( x ) ; "), omniout_int(INFO, "Iterations ",32, glob_iter,4," "), prog_report(x_start,x_end), if glob_html_log then (logstart(html_log_file), logitem_str(html_log_file, "2014-09-23T02:22:57-05:00"), logitem_str(html_log_file,"Maxima"), logitem_str(html_log_file, "sub_lin_sin"), logitem_str(html_log_file, "diff ( y , x , 1 ) = ( 0.1 * x + 1.0 ) - sin ( x ) ; "), logitem_float(html_log_file,x_start), logitem_float(html_log_file,x_end), logitem_float(html_log_file,array_x[1]), logitem_float(html_log_file,glob_h), logitem_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 array_good_digits[1] # -16 then ( logitem_integer(html_log_file, array_good_digits[ 1]),0) else ( logitem_str(html_log_file, "Unknown"),0), logitem_integer(html_log_file, 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 glob_percent_done < 100.0 then ( logitem_time(html_log_file, glob_total_exp_sec),0) else ( logitem_str(html_log_file,"Done"), 0), log_revs(html_log_file, " 269 "), logitem_str(html_log_file, "sub_lin_sin diffeq.max"), logitem_str(html_log_file, "sub_lin_sin maxima results"), logitem_str(html_log_file,"OK"), logend(html_log_file)), if glob_html_log then close(html_log_file))) (%i228) main():=(alias(convfloat,convfloat),compile(all),main_prog()) (%i229) 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 fixnum in translation. warning: encountered undefined variable MAX_TERMS in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. 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 MAX_TERMS in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable iii_att in translation. warning: encountered undefined variable 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 good_digits in translation. warning: encountered undefined variable glob_prec 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 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_small_float in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable ret in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable temp in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable rm0 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 rm4 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 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. warning: encountered undefined variable array_fact_1 in translation. warning: encountered undefined variable MAX_TERMS in translation. 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 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 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: 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_estimated_size_answer in translation. warning: encountered undefined variable array_y in translation. warning: encountered undefined variable ALWAYS in translation. warning: encountered undefined variable MAX_TERMS in translation. warning: encountered undefined variable ALWAYS in translation. warning: encountered undefined variable MAX_TERMS 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. 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 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_iter in translation. warning: encountered undefined variable 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 glob_good_digits in translation. warning: encountered undefined variable array_good_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 left_sec in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable 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 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: 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_0D1 in translation. warning: encountered undefined variable array_tmp1 in translation. warning: encountered undefined variable array_const_1D0 in translation. warning: encountered undefined variable array_tmp2 in translation. warning: encountered undefined variable array_const_0D0 in translation. warning: encountered undefined variable array_tmp3 in translation. warning: encountered undefined variable array_tmp4 in translation. warning: encountered undefined variable array_tmp4_g in translation. warning: encountered undefined variable array_tmp5 in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable temporary in translation. warning: encountered undefined variable 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 MAX_TERMS in translation. 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_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: variable iiif (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable iiif 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: encountered undefined variable INFO in translation. 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: variable x_start (declared type [found_h]) assigned type convfloat. warning: variable x_end (declared type [found_h]) assigned type convfloat. warning: encountered undefined variable x_start in translation. 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: variable display_max (declared type [found_h]) assigned type any. warning: encountered undefined variable display_max in translation. warning: variable glob_display_interval (declared type convfloat) assigned type [found_h]. warning: variable min_value (declared type [found_h]) assigned type convfloat. warning: variable est_answer (declared type [found_h]) assigned type any. warning: variable glob_prec (declared type convfloat) 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 [found_h]. 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_min_pole_est in translation. warning: encountered undefined variable last_min_pole_est in translation. 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: variable opt_iter (declared type [found_h]) assigned type any. 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 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_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: 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 : |$debugmassive| 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 : $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. Warning: modedcclare has a function or macro call which has not been translated properly. The function was totaly undefined. Maybe you want to quote it."##############ECHO OF PROBLEM#################" "##############temp/sub_lin_sinpostode.ode#################" "diff ( y , x , 1 ) = ( 0.1 * x + 1.0 ) - sin ( x ) ; " "!" "/* BEGIN FIRST INPUT BLOCK */" "Digits:32," "max_terms:40," "!" "/* END FIRST INPUT BLOCK */" "/* BEGIN SECOND INPUT BLOCK */" "x_start:0.1," "x_end:5.0," "array_y_init[0 + 1] : exact_soln_y(x_start)," "glob_look_poles:true," "" "" "" "" "" "" "" "glob_type_given_pole:3," "" "/* END SECOND INPUT BLOCK */" "/* BEGIN OVERRIDE BLOCK */" "glob_desired_digits_correct:16," "glob_max_minutes:3.0," "glob_subiter_method:3," "glob_max_iter:100000000," "/* END OVERRIDE BLOCK */" "!" "/* BEGIN USER DEF BLOCK */" "exact_soln_y (x) := (block(" " (cos(x) + (0.05 * x * x) + x) " "));" "/* END USER DEF BLOCK */" "#######END OF ECHO OF PROBLEM#################" "START of Optimize" min_size = 0.0 "" min_size = 1. "" glob_desired_digits_correct = 16. "" estimated_h = 1.000000E-6 "" estimated_answer = 1. "" desired_abs_gbl_error = 1.0000000000000000E-16 "" range = 4.9 "" estimated_steps = 4900000. "" step_error = 1.1293848786315641000000000000000000000E-21 "" est_needed_step_err = 1.1293848786315641000000000000000000000E-21 "" opt_iter = 1 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 1.000000E-6 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 4900000. "" step_error = 1.2372458387428961000000000000000000000E-21 "" est_needed_step_err = 1.2372458387428961000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 2.674790358513322000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-258 "" estimated_step_error = 2.674790358513322000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-258 "" "Double H and LOOP" opt_iter = 2 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 2.000000E-6 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 2450000. "" step_error = 1.749729845139879000000000000000000000E-21 "" est_needed_step_err = 1.749729845139879000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 1.83810193566309760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-247 "" estimated_step_error = 1.83810193566309760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-247 "" "Double H and LOOP" opt_iter = 3 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 4.000000E-6 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 1225000. "" step_error = 2.4744916774857922000000000000000000000E-21 "" est_needed_step_err = 2.4744916774857922000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 1.263134028636664400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-236 "" estimated_step_error = 1.263134028636664400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-236 "" "Double H and LOOP" opt_iter = 4 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 8.000000E-6 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 612500. "" step_error = 3.499459690279758000000000000000000000E-21 "" est_needed_step_err = 3.499459690279758000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 8.6801909024576670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-226 "" estimated_step_error = 8.6801909024576670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-226 "" "Double H and LOOP" opt_iter = 5 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 1.600000E-5 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 306250. "" step_error = 4.9489833549715845000000000000000000000E-21 "" est_needed_step_err = 4.9489833549715845000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 5.96498170315247400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-215 "" estimated_step_error = 5.96498170315247400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-215 "" "Double H and LOOP" opt_iter = 6 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 3.200000E-5 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 153125. "" step_error = 6.998919380559516000000000000000000000E-21 "" est_needed_step_err = 6.998919380559516000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 4.0991041248780613000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-204 "" estimated_step_error = 4.0991041248780613000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-204 "" "Double H and LOOP" opt_iter = 7 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 6.400000E-5 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 76562.5 "" step_error = 9.897966709943169000000000000000000000E-21 "" est_needed_step_err = 9.897966709943169000000000000000000000E-21 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 2.81688278325963160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-193 "" estimated_step_error = 2.81688278325963160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-193 "" "Double H and LOOP" opt_iter = 8 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 1.280000E-4 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 38281.25 "" step_error = 1.39978387611190300000000000000000000E-20 "" est_needed_step_err = 1.39978387611190300000000000000000000E-20 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 1.93574694094198700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-182 "" estimated_step_error = 1.93574694094198700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-182 "" "Double H and LOOP" opt_iter = 9 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" min_size = 1.0955041652780257 "" glob_desired_digits_correct = 16. "" estimated_h = 2.560000E-4 "" estimated_answer = 1.0955041652780257 "" desired_abs_gbl_error = 1.09550416527802560000000000000000E-16 "" range = 4.9 "" estimated_steps = 19140.625 "" step_error = 1.979593341988633800000000000000000000E-20 "" est_needed_step_err = 1.979593341988633800000000000000000000E-20 "" hn_div_ho = 0.5 "" hn_div_ho_2 = 0.25 "" hn_div_ho_3 = 0.125 "" max_estimated_step_error = 1.3302349378719996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-171 "" estimated_step_error = 1.3302349378719996000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-171 "" "Double H and LOOP" opt_iter = 10 "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" Radius of convergence (three term test) for eq 1 = 9.9334665397530600E-2 " " Order of pole (three term test) = 32.00996671107938 " " "NO COMPLEX POLE (six term test) for Equation 1" "SETTING H FOR POLE ACCURACY" "START of Soultion" " " "TOP MAIN SOLVE Loop" x[1] = 0.1 " " y[1] (closed_form) = 1.0955041652780257 " " y[1] (numeric) = 1.0955041652780257 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 16 Estimated correct digits = 14 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.20009600000000244 " " y[1] (closed_form) = 1.1821454215301699 " " y[1] (numeric) = 1.182145421530167 " " absolute error = 2.886579864025407000000000000000E-15 " " relative error = 2.44181452759764160000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.3001919999999994 " " y[1] (closed_form) = 1.259977493480713 " " y[1] (numeric) = 1.2599774934807122 " " absolute error = 8.8817841970012520000000000000000E-16 " " relative error = 7.04916099133258700000000000000E-14 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 17 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.400031999999991 " " y[1] (closed_form) = 1.329081812195544 " " y[1] (numeric) = 1.329081812195549 " " absolute error = 4.884981308350689000000000000000E-15 " " relative error = 3.67545568942897750000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.5001279999999826 " " y[1] (closed_form) = 1.3901555890516328 " " y[1] (numeric) = 1.3901555890516408 " " absolute error = 7.993605777301127000000000000000E-15 " " relative error = 5.7501518824625820000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.6002239999999959 " " y[1] (closed_form) = 1.4434465567994736 " " y[1] (numeric) = 1.4434465567994756 " " absolute error = 1.9984014443252818000000000000000E-15 " " relative error = 1.38446514345241770000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.7000640000000091 " " y[1] (closed_form) = 1.4893694359909406 " " y[1] (numeric) = 1.4893694359909364 " " absolute error = 4.218847493575595000000000000000E-15 " " relative error = 2.83264003653238450000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.8001600000000224 " " y[1] (closed_form) = 1.5287647247352734 " " y[1] (numeric) = 1.528764724735265 " " absolute error = 8.43769498715119000000000000000E-15 " " relative error = 5.5192894306298790000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 0.9000000000000357 " " y[1] (closed_form) = 1.5621099682706754 " " y[1] (numeric) = 1.5621099682706618 " " absolute error = 1.35447209004269100000000000000E-14 " " relative error = 8.6707857804796640000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.000096000000049 " " y[1] (closed_form) = 1.590327122624822 " " y[1] (numeric) = 1.5903271226248048 " " absolute error = 1.70974345792274100000000000000E-14 " " relative error = 1.0750891647378959000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.1001920000000622 " " y[1] (closed_form) = 1.6141381230960268 " " y[1] (numeric) = 1.6141381230960057 " " absolute error = 2.109423746787797400000000000000E-14 " " relative error = 1.3068421571889888000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.2000320000000755 " " y[1] (closed_form) = 1.6343637690916148 " " y[1] (numeric) = 1.6343637690915902 " " absolute error = 2.464695114667847500000000000000E-14 " " relative error = 1.5080456146172000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.3001280000000888 " " y[1] (closed_form) = 1.6520201318050551 " " y[1] (numeric) = 1.6520201318050307 " " absolute error = 2.442490654175344400000000000000E-14 " " relative error = 1.4784872212825842000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.400224000000102 " " y[1] (closed_form) = 1.6680017604072497 " " y[1] (numeric) = 1.6680017604072206 " " absolute error = 2.9087843245179100000000000000E-14 " " relative error = 1.7438736538309876000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.5000640000001153 " " y[1] (closed_form) = 1.6832469620485515 " " y[1] (numeric) = 1.6832469620485189 " " absolute error = 3.2640556923979600000000000000E-14 " " relative error = 1.9391424823518036000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.6001600000001286 " " y[1] (closed_form) = 1.6988261475766815 " " y[1] (numeric) = 1.6988261475766466 " " absolute error = 3.486100297322991500000000000000E-14 " " relative error = 2.052064186965686000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.7000000000001418 " " y[1] (closed_form) = 1.7156555057045006 " " y[1] (numeric) = 1.7156555057044636 " " absolute error = 3.70814490224802300000000000000E-14 " " relative error = 2.161357504416567000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.8000960000001551 " " y[1] (closed_form) = 1.7348176974422715 " " y[1] (numeric) = 1.7348176974422318 " " absolute error = 3.974598428158060400000000000000E-14 " " relative error = 2.291075560283947800000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 1.9001920000001684 " " y[1] (closed_form) = 1.7572572313228911 " " y[1] (numeric) = 1.7572572313228483 " " absolute error = 4.28546087505310400000000000000E-14 " " relative error = 2.438721433985474000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.0000320000001817 " " y[1] (closed_form) = 1.7838624661995242 " " y[1] (numeric) = 1.7838624661994742 " " absolute error = 4.996003610813204400000000000000E-14 " " relative error = 2.8006663660887876000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.100128000000108 " " y[1] (closed_form) = 1.81569828955645 " " y[1] (numeric) = 1.8156982895564258 " " absolute error = 2.420286193682841300000000000000E-14 " " relative error = 1.332978175726587000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.2002240000000346 " " y[1] (closed_form) = 1.8535910768248436 " " y[1] (numeric) = 1.8535910768248467 " " absolute error = 3.1086244689504383000000000000000E-15 " " relative error = 1.6770821287483950000000000000E-13 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 16 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.3000639999999613 " " y[1] (closed_form) = 1.8982549751559437 " " y[1] (numeric) = 1.898254975155979 " " absolute error = 3.53050921830799800000000000000E-14 " " relative error = 1.859870915401111000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.4001599999998877 " " y[1] (closed_form) = 1.9506966210689036 " " y[1] (numeric) = 1.9506966210689776 " " absolute error = 7.39408534400354300000000000000E-14 " " relative error = 3.7904845192954095000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.4999999999998144 " " y[1] (closed_form) = 2.011356384452945 " " y[1] (numeric) = 2.011356384453066 " " absolute error = 1.20792265079217030000000000000E-13 " " relative error = 6.0055127978759700000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.600095999999741 " " y[1] (closed_form) = 2.081182722908584 " " y[1] (numeric) = 2.0811827229087587 " " absolute error = 1.7452705947107460000000000000E-13 " " relative error = 8.385955617926811000000000000E-12 "%" Desired digits = 16 Estimated correct digits = 13 Correct digits = 15 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.7001919999996673 " " y[1] (closed_form) = 2.1605896595532155 " " y[1] (numeric) = 2.1605896595534486 " " absolute error = 2.33146835171282870000000000000E-13 " " relative error = 1.07908891510429100000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.800031999999594 " " y[1] (closed_form) = 2.249807900243773 " " y[1] (numeric) = 2.249807900244072 " " absolute error = 2.98872038229092140000000000000E-13 " " relative error = 1.32843358847085790000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 2.9001279999995204 " " y[1] (closed_form) = 2.349676339709139 " " y[1] (numeric) = 2.349676339709511 " " absolute error = 3.7170266864450240000000000000E-13 " " relative error = 1.581931359493174100000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.000223999999447 " " y[1] (closed_form) = 2.4602671198631043 " " y[1] (numeric) = 2.460267119863558 " " absolute error = 4.538591724667640000000000000E-13 " " relative error = 1.84475567227032620000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.1000639999993735 " " y[1] (closed_form) = 2.581446030814561 " " y[1] (numeric) = 2.581446030815106 " " absolute error = 5.4534154969587690000000000000E-13 " " relative error = 2.11254290496941920000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.2001599999993 " " y[1] (closed_form) = 2.713925778125364 " " y[1] (numeric) = 2.7139257781260038 " " absolute error = 6.3993255139394020000000000000E-13 " " relative error = 2.35795892633427800000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.2999999999992267 " " y[1] (closed_form) = 2.8570202300899847 " " y[1] (numeric) = 2.8570202300907304 " " absolute error = 7.4562578333825510000000000000E-13 " " relative error = 2.609802253009496600000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.400095999999153 " " y[1] (closed_form) = 3.0113549842807505 " " y[1] (numeric) = 3.0113549842816094 " " absolute error = 8.5886853185002110000000000000E-13 " " relative error = 2.852099922902840000000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.5001919999990796 " " y[1] (closed_form) = 3.1763698821909103 " " y[1] (numeric) = 3.1763698821918864 " " absolute error = 9.7610808325043760000000000000E-13 " " relative error = 3.07303028127556830000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.6000319999990062 " " y[1] (closed_form) = 3.351299264828585 " " y[1] (numeric) = 3.3512992648296906 " " absolute error = 1.105782132526655900000000000E-12 " " relative error = 3.29956248351701730000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.7001279999989327 " " y[1] (closed_form) = 3.5366431550802506 " " y[1] (numeric) = 3.5366431550814923 " " absolute error = 1.241673430740775100000000000E-12 " " relative error = 3.51088129702076200000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" " " "TOP MAIN SOLVE Loop" x[1] = 3.800223999998859 " " y[1] (closed_form) = 3.7314784866023336 " " y[1] (numeric) = 3.7314784866037214 " " absolute error = 1.3877787807814457000000000000E-12 " " relative error = 3.71911237265386500000000000E-11 "%" Desired digits = 16 Estimated correct digits = 12 Correct digits = 14 h = 2.560000E-4 " " "NO POLE (given) for Equation 1" "NO POLE (ratio test) for Equation 1" "NO REAL POLE (three term test) for Equation 1" "NO COMPLEX POLE (six term test) for Equation 1" "Finished!" "Maximum Time Reached before Solution Completed!" "diff ( y , x , 1 ) = ( 0.1 * x + 1.0 ) - sin ( x ) ; " Iterations = 14494 "Total Elapsed Time "= 3 Minutes 0 Seconds "Elapsed Time(since restart) "= 2 Minutes 59 Seconds "Expected Time Remaining "= 57 Seconds "Optimized Time Remaining "= 57 Seconds "Expected Total Time "= 3 Minutes 57 Seconds "Time to Timeout "= 0.0 Seconds Percent Done = 75.72897959181329 "%" (%o229) temp/diffeq.sub_lin_sin.max