Hey!
I'll address Ember's concerns later tonight (my best guess is that you should initialize with a larger iteration depth, and add more terms to the series); and I'll do some tests with a larger period of \(\sqrt{2}\) for Sheldon.
I just wanted to quickly post some more graphs. This is for \(b = -\log(2)\)
And this is for \(b = 1/e\)
Quick update:
So yes, Sheldon, the fixed point 4 seems to be appearing for period \(2\pi i / 0.3\) at about \(8.57i\). Fascinating! The entire solution seems to be hovering about 4 too; I'll have to look into this. The best guess I have is that once \(\beta(z) > 2\) (by growing the period) taking successive \(\log\)'s just shoot us to the fixed point 4 very fast.
Ahh! I can get a better estimate. The value Sexp_N(z+36.5) is normalized to two digits and at here, if I write Sexp_N(8.57*I+36.5) we do not aggregate towards 4. It appears way off in the left half plane we are in a neighborhood of 4; and as we push forward we get closer to 2. I'm making a graph as we speak; to see if any extraneous singularities appear.
It does not appear to produce anymore singularities than the ones at \(\pi i\). We seem to have a zipper effect, though. Where there's a whole lot of overflows very very close to the essential singularity (so its very possible we get a similar kind of singularity wall near these)--but they are no where near as prominent as with \(b=1\). If I had to guess, there are probably branch cuts for \(|z - \pi i| < \delta\). The rule seems to be, as it explodes it gets too close to zero and creates a cluster of zeroes. For \(b=1\) it explodes almost everywhere; for \(b = \log(2)/2\) it seems much more rare; and only explodes near the singularities; and only really really close to the singularities.
As for your concerns Ember, I'm working on seeing if I use 1000 iterations that this solves the case for \(b \to -\infty\) and \(b \to \infty\) (I presume you are saying about 1 everything seems to be fine? I'm testing this either way. I think the key is just to run more iterations; as we should require far more iterations for these cases either way because \(\exp(b)\) is too small and doesn't contribute enough in each iteration, or \(exp(b)\) is too large and we flatline without gaining enough data; and \(b \to 0\) we definitely need more iterations because \(\exp(b)\) needs to multiply together a lot of times to be significant... I'll look closer though and see if I can get it to work.
And just to double check that you're calling everything correctly; recall that \(exp(bz)\) is my use of the value b in the program, not \(b^z\). I know that's confusing; but it does make for easier calculations; maybe I should call this the log_base as opposed to the base...
Alright, so I see it working fine as I've written it if you do 1000 iterations, ember.
If you write:
The polynomial is accurate to about 1000 digits minus a 100 or so digits as you go further out in the Taylor series. So this works fine. Note, that for \(1E13^z\) we have to initialize \( b= \log(1E13)\).
Checking \(\exp(1E-5)\) everything seems to be fine too,
And also for \(\exp(1E-5)\) this seems to be working fine, where I've done 1000 iterations again.
Looking at \(\exp(-1E5)\) everything seems fine too, 1000 iterations seems to be the key.
It actually works exceptionally well here! We get 12000 digit accuracy--though that's probably because it's in the neighborhood of zero already!!
For fun, I tried a negative value too; so here's \(\exp(1E-5+\pi i) \approx -1\):
Still good convergence, even at 300 iterations as opposed to a thousand.
For a thousand iterations I also tried \(-1E13\) which is super damn slow; but it does work too:
And it still works; though I suspect 1000 iterations is the key again.
Either way, I don't see the errors you are talking about. But remember I'm running \(\exp(bz)\) as opposed to \(b^z\); whereas my old code ran with the latter. It fixes a good amount of issues.
PS: I think I figured out how to solve the normalization process; it requires renormalizing each step of the way. So that every \(F_n(0) = 1\) including \(F_0(z) = \beta(z+k_0)\). So in reality, we want to run the program \(F_n(z) = \log^{\circ n} \beta(z+n+k_n)\). I'm just trying to find an efficient manner at the moment. This solves the problem of runaway normalization constants for multipliers and bases; where the final normalization constant can move in the thousands by doing slight adjustments to the code.
Regards, James
I'll address Ember's concerns later tonight (my best guess is that you should initialize with a larger iteration depth, and add more terms to the series); and I'll do some tests with a larger period of \(\sqrt{2}\) for Sheldon.
I just wanted to quickly post some more graphs. This is for \(b = -\log(2)\)
And this is for \(b = 1/e\)
Quick update:
Code:
\r beta.gp
init(0.3,log(2)/2,500)
%18 = 2.631096458622487533105232674332282321448030524841955893353502131514783001693269821395505376936048771562394003877698091183948664395503950719728846995192648240203544746340314048646010273735046291935196447187205197891833410441289897077722816061114574614833820726863519318709419123543937011250057653793313045829282898107397477075103258574939941723388723994967234082096494933055445889786376836670109965964856320731189118240930373227297559517898874450268827432478688622532519326328434535519902544400370535282435395821380154235083221984302198447692568782203961738103919630922937791824800330282245562973498018308523024032096425898239456533257333665783308056501418795810150614147985596084632112448875082019921952766370395725474256550516524405347456420908547124344401325959174335034457762909786158078516732668354654492118136268481379068299711375401508050365205973452994190052522777830795171627139536312574499186117911301251845620498210685451865585871630207402792466855481092330640963332394836791806714011826501 E-66*x^501 - 3.551608728253595611856992486866354231935644548617339428782544749165111641670135678286607591528745865709888943728866606599043785912191090317610385202615324419336808917224921715155621942329560763328537591602432786193428489669819776062644322181081577454680941375493838623380803472953962742842726699575513599825199063403079349021529656789967456653267328092950728075807360119559456377382360484239150491147929831731312248046142278554095557336706118502745368493508061026962242646395504763702494204895868428711474537318225158830603954868577666333308744139067712704148309370221539879773922630051684300138939163387395463361442263559726221004462619641965340490647278284714387726602256224293848926996915219592081672291108929419888740346443257848376798192882821094646609446930738765178576510745669827317290891863621108521232847370796686966725306324613525050941197156930964370126438136717756524147118195370600983652943572721469113764074807254719136666012343113103979899230082947560255071[+++]
beta(1) - exp(base*beta(0))/2
%19 = 0.E-1001
beta(3+I) - exp(base*beta(2+I))/(1+exp(-0.3*(2+I)))
%20 = 0.E-1001 + 0.E-1002*I
Sexp_N(8.57*I)
%21 = 3.999706578082077749667519088239874818457068382888025288693853120133488946393614418201645725102442014092576923221024443376471419942364668796395803908785526738240778062929719298841796957526587565049732889544485044534754733642315154942850182981625655457253805112552151892337520549269311557444341155015995863683684418262299183469233895833797714435999575746795028563095929476238122625874557355853526627606020414478257555557343548924115505421226082999959122482034968924799489255076503343643170779195951524522266609561477137406927033934100918933261558751726142422181650512047937874821400709667986890709225702893596512607881102983605616184694257652120929543100636557296195613735984226923083755862952597448535653336137777306556028092131688101363655212818717279089669730864191713814026860103590563768033399582848655870356519532662995230548571718980135191493838074013816426328947417521073317168584580071771535510106114715944141560246454318770428936985958956520554979520538165555864753664993377530126784943431371 + 0.00016399098349320826274344285773639576466432323053935938101282266586748104908489413418450033227869442673308967030910103025913297888850066784202994025079855245463790879230751569897404878723740662367631569911221429137554122186155482395023245562769064405072787483925649179232448064220188171154785763712415223342269534226015647014767276085435940775657164807001626711574503604030163557890775952363406618798393637734778549372380802838043961537819418247101883807970339880261032065838324326996790136059660463283001587548264474032123874713064683241508027661113872075732230499109682429232691890537542213111382036974048668744537688301371087124445852304764592519460889959088545279634686582440912180582548822946712276932141410533071373347085658813754967128005135289329032678412527975578994706152800185482083338182203427003286526440938309963162050281733939869501283429775674100188019955928635849513033693464077500816089572180569769608950078087973609269514599260766463417004549366061052822813064445[+++]So yes, Sheldon, the fixed point 4 seems to be appearing for period \(2\pi i / 0.3\) at about \(8.57i\). Fascinating! The entire solution seems to be hovering about 4 too; I'll have to look into this. The best guess I have is that once \(\beta(z) > 2\) (by growing the period) taking successive \(\log\)'s just shoot us to the fixed point 4 very fast.
Ahh! I can get a better estimate. The value Sexp_N(z+36.5) is normalized to two digits and at here, if I write Sexp_N(8.57*I+36.5) we do not aggregate towards 4. It appears way off in the left half plane we are in a neighborhood of 4; and as we push forward we get closer to 2. I'm making a graph as we speak; to see if any extraneous singularities appear.
It does not appear to produce anymore singularities than the ones at \(\pi i\). We seem to have a zipper effect, though. Where there's a whole lot of overflows very very close to the essential singularity (so its very possible we get a similar kind of singularity wall near these)--but they are no where near as prominent as with \(b=1\). If I had to guess, there are probably branch cuts for \(|z - \pi i| < \delta\). The rule seems to be, as it explodes it gets too close to zero and creates a cluster of zeroes. For \(b=1\) it explodes almost everywhere; for \(b = \log(2)/2\) it seems much more rare; and only explodes near the singularities; and only really really close to the singularities.
As for your concerns Ember, I'm working on seeing if I use 1000 iterations that this solves the case for \(b \to -\infty\) and \(b \to \infty\) (I presume you are saying about 1 everything seems to be fine? I'm testing this either way. I think the key is just to run more iterations; as we should require far more iterations for these cases either way because \(\exp(b)\) is too small and doesn't contribute enough in each iteration, or \(exp(b)\) is too large and we flatline without gaining enough data; and \(b \to 0\) we definitely need more iterations because \(\exp(b)\) needs to multiply together a lot of times to be significant... I'll look closer though and see if I can get it to work.
And just to double check that you're calling everything correctly; recall that \(exp(bz)\) is my use of the value b in the program, not \(b^z\). I know that's confusing; but it does make for easier calculations; maybe I should call this the log_base as opposed to the base...
Alright, so I see it working fine as I've written it if you do 1000 iterations, ember.
If you write:
Code:
init(1,log(1E13),1000)
%19 = 0.1298145027662377249554599157008877151682143003128644524757079278979362913866331797271701888068439189029209872646053124282157380258921547849503322680507451036011734448253090944559927527910545286015333130026970194332099683907825169797692000972496119598542982846706547311033815441682636620435312863262339908641392125140239246855244370238577057554318278553533344885496257772890926045914841936765733100350171996705751578801989804726133956504302479084323032007236624920688356199425463963007349873891702994687923301634644245859981765881732250210450892897055360680990897102889622121645463886586668151782613732020124539022262802611492957416960566976482150034972447346698347063745676475718520365761009248398644046500678573881216772113382666947611019405347879455445700750287079415002136218255589892403345359942280998188409417125477168811268463839261875676275872368827518089145095330990834954664787696406347928023695805125887443616425438846814665958822805420863277174567671590079176777470528316066082659636306803*x^1001 + 0.147473653053442865631157035427473875080867865829832534094307842262273160987865472789667798585872826705028909719280552151852480469856885972279146254360570603777109162529674839399414745828816933297154150029365357444694185877927574508812875030346865369823581099951894993399184536345315903822915508614797745973254831399717431826306771663307990820071325906154126433059687692945379394787638033500104486234170774527617199550685623554547057368964512626396057683789790726475291903574750343331728182074147135700498493931918915756219722892991984603849846691930385990580664095031201519801733037446841275199193311597043081561480021200639844254242094171930091932297620720336275574979761869970372424005743363470983026536013253019058536121928933420055121589855817764539236186515019925812179793469487936601288843002536394612391253572140129223915057964939964708246737777381152266543649543321701843605237792859647703079607066550372486881891851261130440387687071195091632534917545010042549125092[+++]
beta(0)
%20 = 1414450995945612060947115.320174756681858078057874605652777604893643857656899842844600963717877938156097005878927467624521771990046979564389001621458201307316280575942560885360833844103595073073467887931720315063957621577960489707592328361073821042747896857384772894295035129405458386859341578335548278492081505414799604926955500433383087653381943317601573349313619420005980289805175795845442890404224597322634803403014064158487550885342664377516178216641103991599046006266954512534337714831890884177315822337844298606004186426436051863650453955794783406851318828012079460937975363304619581521101908374132971855046068482249733595123149701247643351796165168357974007223011462677977535292905116259916897495207299586836827826381156556015893685614975389428591552177079245736865258045146262847552724116202126832916282670023587016096471516361895327419549062108248641702076730291867947132230197926184667100688309716636020900211538440589676900988142832395844445552122643741398290903668030316337825122762880688
beta(-1)
%21 = 1.901610016152517836127978333469384205313848906110750808508094436363114688118758605358383118047198930845250681200594120723639141038149107248709281697818058094157264168742309700134388265985357474781592768149778341026299059439784731120149254674959434807295352399322117521569249845868303777151841979920986302517212340090907787534681559432021598636376148785197130397225739780254441199518519742289277107591288431848424980010732274932098939724753124093484522901900359158447771190590225203656901236806994876625732865993018071615444654877883756429033856822812849918891732498892785952037697288153912660327603225963166736773060193081162071736491999611146989321643134859072697118463657038049726913351676697579063292119650620280956874815282245805922922401390587471049844997297665467747849653792639715692709789309451359813102461713401071296247253658303924317304914585609581499805528267876819983247380405155254744063134279789791048897579173416734162054688213666230778813995514168016909704910423171274534392751519390
beta(z) - exp(base*beta(z-1))/(1+exp(-mult*(z-1)))
%23 = 0.E-977 + 0.E-975*z + 0.E-972*z^2 + 0.E-970*z^3 + 0.E-968*z^4 + 0.E-966*z^5 + 0.E-965*z^6 + 0.E-963*z^7 + 0.E-961*z^8 + 0.E-959*z^9 + 0.E-958*z^10 + 0.E-956*z^11 + 0.E-955*z^12 + 0.E-953*z^13 + 0.E-952*z^14 + 0.E-950*z^15 + 0.E-949*z^16 + 0.E-948*z^17 + 0.E-946*z^18 + 0.E-945*z^19 + 0.E-944*z^20 + 0.E-942*z^21 + 0.E-941*z^22 + 0.E-940*z^23 + 0.E-938*z^24 + 0.E-937*z^25 + 0.E-936*z^26 + 0.E-934*z^27 + 0.E-933*z^28 + 0.E-932*z^29 + 0.E-931*z^30 + 0.E-929*z^31 + 0.E-928*z^32 + 0.E-927*z^33 + 0.E-926*z^34 + 0.E-925*z^35 + 0.E-923*z^36 + 0.E-922*z^37 + 0.E-921*z^38 + 0.E-920*z^39 + 0.E-919*z^40 + 0.E-918*z^41 + 0.E-916*z^42 + 0.E-915*z^43 + 0.E-914*z^44 + 0.E-913*z^45 + 0.E-912*z^46 + 0.E-911*z^47 + 0.E-910*z^48 + 0.E-909*z^49 + 0.E-907*z^50 + 0.E-906*z^51 + 0.E-905*z^52 + 0.E-904*z^53 + 0.E-903*z^54 + 0.E-902*z^55 + 0.E-901*z^56 + 0.E-900*z^57 + 0.E-899*z^58 + 0.E-898*z^59 + 0.E-897*z^60 + 0.E-896*z^61 + 0.E-894*z^62 + 0.E-894*z^63 + 0.E-892*z^64 + 0.E-891*z^65 + 0.E-891*z^66 + 0.E-889*z^67 + 0.E-888*z^68 + 0.E-887*z^69 + 0.E-886*z^70 + 0.E-885*z^71 + 0.E-884*z^72 + 0.E-883*z^73 + 0.E-882*z^74 + 0.E-881*z^75 + 0.E-880*z^76 + 0.E-879*z^77 + 0.E-878*z^78 + 0.E-877*z^79 + 0.E-876*z^80 + 0.E-875*z^81 + 0.E-874*z^82 + 0.E-873*z^83 + 0.E-872*z^84 + 0.E-871*z^85 + 0.E-870*z^86 + 0.E-869*z^87 + 0.E-869*z^88 + 0.E-867*z^89 + 0.E-866*z^90 + 0.E-866*z^91 + 0.E-865*z^92 + 0.E-864*z^93 + 0.E-863*z^94 + 0.E-862*z^95 + 0.E-861*z^96 + 0.E-860*z^97 + 0.E-859*z^98 + 0.E-858*z^99 + 0.E-857*z^100 + 0.E-856*z^101 + 0.E-855*z^102 + 0.E-854*z^103 + 0.E-853*z^104 + 0.E-852*z^105 + 0.E-851*z^106 + 0.E-851*z^107 + 0.E-850*z^108 + 0.E-849*z^109 + 0.E-848*z^110 + 0.E-847*z^111 + 0.E-846*z^112 + 0.E-845*z^113 + 0.E-844*z^114 + 0.E-843*z^115 + 0.E-842*z^116 + 0.E-841*z^117 + 0.E-840*z^118 + 0.E-839*z^119 + 0.E-838*z^120 + 0.E-838*z^121 + 0.E-837*z^122 + 0.E-836*z^123 + 0.E-835*z^124 + 0.E-834*z^125 + 0.E-833*z^126 + 0.E-832*z^127 + 0.E-831*z^128 + 0.E-830*z^129 + 0.E-830*z^130 + 0.E-829*z[+++]The polynomial is accurate to about 1000 digits minus a 100 or so digits as you go further out in the Taylor series. So this works fine. Note, that for \(1E13^z\) we have to initialize \( b= \log(1E13)\).
Checking \(\exp(1E-5)\) everything seems to be fine too,
Code:
\r beta.gp
init(1,1E-5,1000)
%18 = 1.867330055199129483817007152110538060781215935289567548234021463168942214723070952518319438765136613995403148935429902384258796625604333525563289395831897344706412053257973078121074881788660653110056171469736600486189406493985861728687934327453061647205840843094381128273217297109896601886658152751270767897513317591536932820453332761119779087095385157289868666305206302376996104361749519689201347997796384813943245756218945129133013164573495328161655118001777903653222494402360106007627775757019651884142637666626524017922341017710344216523730233489789676656227987571164132924764426276951805170446725900830952225016751560028566276355701321607068298293997321006004129750152072144226069346654483291732435339995068922311145155201918512862496656560034151360645770804625885865552651243708886029803146201257801121545404880854114275019620107059968046945842422469617448684073297438526723880689324239609758630715608589289084176161224591052772118525851736242935331821866005175315608471224288553113244292534633 E-435*x^1001 - 5.0759293567832195619630136083908362475908694776195837301533141912936637457889786758986257116260422265063452260171480107148204940963719051340648424441435035678474814977882146675734690588594635177004047014910270176928768838597542076461604833887052188874336490947650419530024592679966528366142117704308090674550191865200147309588323391551062728866285304303543590278770416374807577796752986651982662441295486086053446184784321433604141123144761951206842909395418418039391966341626903834265909429323286332225048527564831163677048518326981444823215096164651843795503620764033806177240603813334343666068633793936666571711501844239447970306093006548282895751750809795318232072502434289358633230094085741399410799370763562817122164707528223796034289907910768546277410484589018556115620693341512349928888062772793109530446328256037828689134132576576692095763686217833484052211485062751436848109509509644671469840883707760349093315928095502131386138569227559129375366790113028450630[+++]
beta(z+1) - exp(base*beta(z))/(1+exp(-mult*z))
%19 = 0.E-1021 + 0.E-1021*z + 0.E-1007*z^2 + 0.E-1022*z^3 + 0.E-1008*z^4 + 0.E-1023*z^5 + 0.E-1009*z^6 + 0.E-1024*z^7 + 0.E-1011*z^8 + 0.E-1025*z^9 + 0.E-1012*z^10 + 0.E-1026*z^11 + 0.E-1012*z^12 + 0.E-1027*z^13 + 0.E-1013*z^14 + 0.E-1028*z^15 + 0.E-1015*z^16 + 0.E-1029*z^17 + 0.E-1016*z^18 + 0.E-1030*z^19 + 0.E-1017*z^20 + 0.E-1031*z^21 + 0.E-1018*z^22 + 0.E-1032*z^23 + 0.E-1018*z^24 + 0.E-1033*z^25 + 0.E-1020*z^26 + 0.E-1034*z^27 + 0.E-1021*z^28 + 0.E-1035*z^29 + 0.E-1023*z^30 + 0.E-1036*z^31 + 0.E-1023*z^32 + 0.E-1037*z^33 + 0.E-1024*z^34 + 0.E-1038*z^35 + 0.E-1025*z^36 + 0.E-1039*z^37 + 0.E-1026*z^38 + 0.E-1040*z^39 + 0.E-1028*z^40 + 0.E-1041*z^41 + 0.E-1028*z^42 + 0.E-1042*z^43 + 0.E-1029*z^44 + 0.E-1043*z^45 + 0.E-1030*z^46 + 0.E-1044*z^47 + 0.E-1031*z^48 + 0.E-1045*z^49 + 0.E-1034*z^50 + 0.E-1046*z^51 + 0.E-1033*z^52 + 0.E-1047*z^53 + 0.E-1034*z^54 + 0.E-1048*z^55 + 0.E-1035*z^56 + 0.E-1049*z^57 + 0.E-1037*z^58 + 0.E-1050*z^59 + 0.E-1039*z^60 + 0.E-1051*z^61 + 0.E-1039*z^62 + 0.E-1052*z^63 + 0.E-1039*z^64 + 0.E-1053*z^65 + 0.E-1040*z^66 + 0.E-1054*z^67 + 0.E-1042*z^68 + 0.E-1055*z^69 + 0.E-1043*z^70 + 0.E-1056*z^71 + 0.E-1044*z^72 + 0.E-1057*z^73 + 0.E-1045*z^74 + 0.E-1058*z^75 + 0.E-1046*z^76 + 0.E-1059*z^77 + 0.E-1047*z^78 + 0.E-1060*z^79 + 0.E-1048*z^80 + 0.E-1061*z^81 + 0.E-1049*z^82 + 0.E-1062*z^83 + 0.E-1050*z^84 + 0.E-1063*z^85 + 0.E-1051*z^86 + 0.E-1064*z^87 + 0.E-1052*z^88 + 0.E-1065*z^89 + 0.E-1053*z^90 + 0.E-1066*z^91 + 0.E-1054*z^92 + 0.E-1067*z^93 + 0.E-1055*z^94 + 0.E-1068*z^95 + 0.E-1056*z^96 + 0.E-1069*z^97 + 0.E-1057*z^98 + 0.E-1070*z^99 + 0.E-1059*z^100 + 0.E-1071*z^101 + 0.E-1059*z^102 + 0.E-1072*z^103 + 0.E-1060*z^104 + 0.E-1073*z^105 + 0.E-1061*z^106 + 0.E-1074*z^107 + 0.E-1062*z^108 + 0.E-1075*z^109 + 0.E-1064*z^110 + 0.E-1076*z^111 + 0.E-1065*z^112 + 0.E-1077*z^113 + 0.E-1065*z^114 + 0.E-1078*z^115 + 0.E-1066*z^116 + 0.E-1079*z^117 + 0.E-1067*z^118 + 0.E-1080*z^119 + 0.E-1069*z^120 + 0.E-1081*z^121 + 0.E-1070*z^122 + 0.E-1082*z^123[+++]
beta(0)
%20 = 0.2689417419563710366039719472062873185215020928828650674321273582658311568854302231048803149537725115669719644592365691206024833703045301897804905756961127940104712047578049180583976391795876503241764058281940782410310734537112064321154976730554798700952031985773854188740355169461834265977900484617254533553336430584117575930526696609993354791202354778229856674615022593482430368177769171363496160987180732750808086063903949784337778283041175541285255317781996894878796384571813251925774234953035560127138989095781243264371493256906396384217070715231641943620520770500995971026312972865815795790139999797010542197134103981965377264006463739392027985985185642276544688206021511426727865321224504696377093331210970273315994516193548262696720420057000427947393581818941111820791134295482029254004345757705541869723534080784223288326684428309580168593254754227394719873458643186109020492843037719079618914694627511607000439817514803588350166554987436033554204857212529991108599169640595492976506859763207And also for \(\exp(1E-5)\) this seems to be working fine, where I've done 1000 iterations again.
Looking at \(\exp(-1E5)\) everything seems fine too, 1000 iterations seems to be the key.
Code:
\r beta.gp
init(1,-1E5,1000)
%18 = 9.466881219443518654605370147335949951251837259112187304427745580057432085900873327044139987840663420717783316386290363754656360091342015745092657075911673953262784855213003432585717767942192848902012409484641595920316001151496059574348580665643124765947898493918040650796054455164878618494141749427861236237647398475914155233265601769580250450752576189625338512346513114902606577393235755215036652953055732628116966118989902211831105973626759837602361829038061000228316257010769274960918786321323103138035798512099608429710738181456487098350868520520356438400959339348666900964072585498257771579322568240201530189609307769620004289329749721385782802956381701750213197734241524077054275514604162865490052381917671158035390458000415800630560344705521593734128583470360203765691622573521637742380997943971167584571327292934521761349537602186646384781324780674339800153469113186324721678548032659213522717766812469724848364899424773262678589242417640441864999075477682356078027647351416626681357007313160 E3544*x^1001 - 3.0599953829150688142081242293249888303681584520093663493304439032593179049702875520285452858127147769623184230606469865656375242352479521819403986461698183551076746501539188781221340157735139692402945464989369117607242279733242347391047439188365626082255580048878029177404303035563562380100627597857145478096762915287687601054126071440356506237922183349324127889517739983338966225707203360854361847206752806538514031046514069107827715556229651500460132657334538161709421262347279975925950349908506010871615652871738112399403748268151394423455468182929984351904268668098998041319497812725269922650660393909620981552212901211014036588208344003260113617140154571700876807787903101084575233281192606904915472959432894461210242502091654708909054825573158865441834166136945890528378377472525297584952932241862057413663015312321487787178325466119722395772576688807421855484290847685951771036960626255281005860136883947858659135520087164847526896019219977701047392229656829285362[+++]
beta(0)
%19 = 0.2689414213699951207488407581781637256348553598349434807236340920809595469297953606125254679240187547078255335068592254335588672690652010520214276941920607183354336479166115304013137160346148649813492756957003687952091081940535504266480986153893321591085761333389050293676059934603293561309628998999520352121612007828243337426386436001987833121463197736652484862552352223417798474659899584614026622157472965450918158838274968608551169827677953740491169754122846568846384258169856132825812401694860612081747698667812435006064342201362165251624951611544121351796968796669662868138541682614605142088833395610168874213350871482822493046910113973156096096554920649461710601929290740963614676083778709036887742869953146280360183027838514179142972103901064656367799729101972135969323384280212697664890134818576566327320339551224766083137358268157135685206321004591730269800124610781727476896167628347329246233920429626004145502166780491946937912046971914841015662929646423256253710776395126958520336218064325
beta(1)
%20 = 5.265557792007748655013092371115806082275788083416767092496807686592646318537349838483082957100807697218634715319914617704079125086410923234779061912897693893915319405948476744902352809614410679494663556344851261085928796868356161949249788828717970604243208924621885557001698203363492134961277837011039856345709922644830790268853421336362576162637971908867335599081278989117876710855805837490367919748669368851066150925882766842582649502470781362709861327653560440689558366042310067084121811240184550799349338313216643491636985749804150282634637249487948908137242809141972073901749714815054656102612403666513896432868358039293215264007471728269804057238755943449106129986465966520551220746527764744415797766770918594388459299772014589292694325536755469770364737152952317211470609361970934307614032515242052181700066886368133325937543598698081176307158189735878908122321654065616007171452444077885812332265243448236602221279147025327081648155219743599331955969230771630055466922331114770725228656394136 E-11681
beta(z+1) - exp(base*beta(z))/(1+exp(-mult*z))
%21 = 0.E-12682 + 0.E-12677*z + 0.E-12673*z^2 + 0.E-12669*z^3 + 0.E-12666*z^4 + 0.E-12662*z^5 + 0.E-12658*z^6 + 0.E-12655*z^7 + 0.E-12652*z^8 + 0.E-12648*z^9 + 0.E-12645*z^10 + 0.E-12642*z^11 + 0.E-12639*z^12 + 0.E-12636*z^13 + 0.E-12632*z^14 + 0.E-12629*z^15 + 0.E-12626*z^16 + 0.E-12623*z^17 + 0.E-12620*z^18 + 0.E-12617*z^19 + 0.E-12614*z^20 + 0.E-12611*z^21 + 0.E-12608*z^22 + 0.E-12605*z^23 + 0.E-12602*z^24 + 0.E-12599*z^25 + 0.E-12596*z^26 + 0.E-12594*z^27 + 0.E-12591*z^28 + 0.E-12588*z^29 + 0.E-12585*z^30 + 0.E-12582*z^31 + 0.E-12580*z^32 + 0.E-12577*z^33 + 0.E-12574*z^34 + 0.E-12571*z^35 + 0.E-12568*z^36 + 0.E-12566*z^37 + 0.E-12563*z^38 + 0.E-12560*z^39 + 0.E-12558*z^40 + 0.E-12555*z^41 + 0.E-12552*z^42 + 0.E-12550*z^43 + 0.E-12547*z^44 + 0.E-12544*z^45 + 0.E-12542*z^46 + 0.E-12539*z^47 + 0.E-12536*z^48 + 0.E-12534*z^49 + 0.E-12531*z^50 + 0.E-12529*z^51 + 0.E-12526*z^52 + 0.E-12524*z^53 + 0.E-12521*z^54 + 0.E-12518*z^55 + 0.E-12516*z^56 + 0.E-12513*z^57 + 0.E-12511*z^58 + 0.E-12508*z^59 + 0.E-12506*z^60 + 0.E-12503*z^61 + 0.E-12501*z^62 + 0.E-12498*z^63 + 0.E-12496*z^64 + 0.E-12493*z^65 + 0.E-12491*z^66 + 0.E-12488*z^67 + 0.E-12486*z^68 + 0.E-12484*z^69 + 0.E-12481*z^70 + 0.E-12479*z^71 + 0.E-12476*z^72 + 0.E-12474*z^73 + 0.E-12471*z^74 + 0.E-12469*z^75 + 0.E-12466*z^76 + 0.E-12464*z^77 + 0.E-12462*z^78 + 0.E-12459*z^79 + 0.E-12457*z^80 + 0.E-12455*z^81 + 0.E-12452*z^82 + 0.E-12450*z^83 + 0.E-12447*z^84 + 0.E-12445*z^85 + 0.E-12443*z^86 + 0.E-12440*z^87 + 0.E-12438*z^88 + 0.E-12436*z^89 + 0.E-12433*z^90 + 0.E-12431*z^91 + 0.E-12429*z^92 + 0.E-12426*z^93 + 0.E-12424*z^94 + 0.E-12422*z^95 + 0.E-12419*z^96 + 0.E-12417*z^97 + 0.E-12415*z^98 + 0.E-12412*z^99 + 0.E-12410*z^100 + 0.E-12408*z^101 + 0.E-12406*z^102 + 0.E-12403*z^103 + 0.E-12401*z^104 + 0.E-12399*z^105 + 0.E-12397*z^106 + 0.E-12394*z^107 + 0.E-12392*z^108 + 0.E-12390*z^109 + 0.E-12387*z^110 + 0.E-12385*z^111 + 0.E-12383*z^112 + 0.E-12381*z^113 + 0.E-12378*z^114 + 0.E-12376*z^115 + 0.E-12374*z^116 +[+++]It actually works exceptionally well here! We get 12000 digit accuracy--though that's probably because it's in the neighborhood of zero already!!
For fun, I tried a negative value too; so here's \(\exp(1E-5+\pi i) \approx -1\):
Code:
\r beta.gp
init(1,1E-5+Pi*I)
%18 = (6.370542742196280583271196011243055529609616969230416418975693471398271256043809855993588966505844008389430073737333624266272315633971391655020238482289133595693603849790128084325849637962018872778105017781045480944105604404928676704220427083454387083174477194028999771721571824304859910948562893234920920144238260266350548946099572300884919501437655419713569084209637174288915301918557676343391028562876220465491003641203916859245637484901596954001267485931828154549822425601127129480258643144133494835531165837467795638548699283010420808905842684274737267878448077630692084009235093601932309417771074465417168611782862529727540585132533424491509111741165342825341702392648620450351697075130677239674525456173761513139933256484527047373904372381671987450941491160974330261434292971439612825007000742556997028841204139096302316396801379176073556530669543809836490102472143883833429375843678290681961061786627858276086720738123020158264971460586756379130763600803819506362335324386508437435173940198640 E-133 - 8.6549194480179078100250356345375662348390403555734463835315064376278081499758091500079127306832798907291609062661381712675245507350531109736502841315863489658788498409250059265884559523014613982402318213204231080001663718229688196798536016094468032225248382907146440490053534536410115061902555327014878060445767814975103641891965247332011805290470169038006302564869743161505133388888531891975103328661652195878003788082926247129659460462172601793592185341287957734218570913345834989073506021404355393802218199263964905227287527043730098365560759171303032685191198709337109427768800315090286880478269055132089734416302064455191741029679806382276824957409921233674716860952588358701357623946504131292729532641423056357018916165650135801711621547809500122867461275373315997341423076112373305671715081307618825141353738979258738320844623051734445651256480092346950377444886604644471088066558448113134178559381767100696435986739483353591480146473561984685169132214906681535804556646[+++]
beta(0)
%19 = 0.2375809024724632975931570104134484867590810055377534726198893919385751544178949333395340493896414265874058610553215106647052057476004312632239759730305903724988350505822127659060244001810496771526834792898470436413854627348062344741800766541510386799572850273625881766731045316881717781376884077104629297745796850622489298177157696740715924505522201335340104258491145231928135946513019751526285542662796319506791371260538978245943968874823927374650933450397200252003238071313253518071332519529765302726989086439398983628581832897877877535591696974241053053623206330489162050396076961506060441217031638048093151172796857184320175795491643132621937621268903072058647815847074925659299113730152378921450929911232876840002420169225419555271117534123275624337359455074230383313687703613616526240346067470689485904450631352357308928108531908127200480336073422071294722670143902549013070236970724521446507905856675203577220922350710987648100335114125423256916248941252806521725577434198559366687155902338519 + 0.0914015925546030014730606778290236333082793068389504132259911445426104166804664779693079675099388861302950360451592473789813354601984899401430480532468820712158281550841024734533911551593106026551662132277066773050792140318549211747008089221344268485579245727742427214148724359229884663331324871544739201087645372177984182730568027126464807774116974358665260800166032216872940602837146027068197900592897963555197795563699033530234133464068864523956743629614065004651033493059194964840869270710178161617809675441126828150974368954311512911309379295983492259332145803850233923844524569761070331532032193571628199858154702158749263665225922403233114321898310677821409327450750545895589556487992546829874535978667939264319268174663128229577657022340777438373002106866318296584170322357518557153799787221688500953744796687284847624166263013588410913447941141348130426153487798196522337622793446136258974003169534569567235301905633392963605504982103509995380854991596366827880655819017457[+++]
beta(z+1) - exp(base*beta(z))/(1+exp(-mult*z))
%20 = (0.E-1002 + 0.E-1002*I) + (0.E-1002 + 0.E-1002*I)*z + (0.E-1002 + 0.E-1002*I)*z^2 + (0.E-1002 + 0.E-1002*I)*z^3 + (0.E-1002 + 0.E-1003*I)*z^4 + (0.E-1003 + 0.E-1003*I)*z^5 + (0.E-1003 + 0.E-1003*I)*z^6 + (0.E-1004 + 0.E-1003*I)*z^7 + (0.E-1003 + 0.E-1004*I)*z^8 + (0.E-1004 + 0.E-1003*I)*z^9 + (0.E-1003 + 0.E-1004*I)*z^10 + (0.E-1004 + 0.E-1004*I)*z^11 + (0.E-1004 + 0.E-1004*I)*z^12 + (0.E-1004 + 0.E-1005*I)*z^13 + (0.E-1005 + 0.E-1004*I)*z^14 + (0.E-1005 + 0.E-1005*I)*z^15 + (0.E-1005 + 0.E-1005*I)*z^16 + (0.E-1006 + 0.E-1005*I)*z^17 + (0.E-1005 + 0.E-1007*I)*z^18 + (0.E-1006 + 0.E-1006*I)*z^19 + (0.E-1006 + 0.E-1006*I)*z^20 + (0.E-1006 + 0.E-1006*I)*z^21 + (0.E-1007 + 0.E-1006*I)*z^22 + (0.E-1007 + 0.E-1007*I)*z^23 + (0.E-1007 + 0.E-1007*I)*z^24 + (0.E-1007 + 0.E-1007*I)*z^25 + (0.E-1007 + 0.E-1008*I)*z^26 + (0.E-1009 + 0.E-1008*I)*z^27 + (0.E-1008 + 0.E-1008*I)*z^28 + (0.E-1008 + 0.E-1008*I)*z^29 + (0.E-1009 + 0.E-1009*I)*z^30 + (0.E-1009 + 0.E-1011*I)*z^31 + (0.E-1009 + 0.E-1009*I)*z^32 + (0.E-1009 + 0.E-1009*I)*z^33 + (0.E-1010 + 0.E-1010*I)*z^34 + (0.E-1012 + 0.E-1010*I)*z^35 + (0.E-1010 + 0.E-1011*I)*z^36 + (0.E-1011 + 0.E-1011*I)*z^37 + (0.E-1011 + 0.E-1011*I)*z^38 + (0.E-1011 + 0.E-1012*I)*z^39 + (0.E-1012 + 0.E-1011*I)*z^40 + (0.E-1012 + 0.E-1012*I)*z^41 + (0.E-1012 + 0.E-1012*I)*z^42 + (0.E-1013 + 0.E-1012*I)*z^43 + (0.E-1012 + 0.E-1013*I)*z^44 + (0.E-1013 + 0.E-1013*I)*z^45 + (0.E-1014 + 0.E-1013*I)*z^46 + (0.E-1013 + 0.E-1014*I)*z^47 + (0.E-1014 + 0.E-1014*I)*z^48 + (0.E-1014 + 0.E-1014*I)*z^49 + (0.E-1014 + 0.E-1015*I)*z^50 + (0.E-1015 + 0.E-1015*I)*z^51 + (0.E-1015 + 0.E-1015*I)*z^52 + (0.E-1015 + 0.E-1015*I)*z^53 + (0.E-1016 + 0.E-1015*I)*z^54 + (0.E-1016 + 0.E-1016*I)*z^55 + (0.E-1016 + 0.E-1016*I)*z^56 + (0.E-1017 + 0.E-1016*I)*z^57 + (0.E-1016 + 0.E-1017*I)*z^58 + (0.E-1017 + 0.E-1017*I)*z^59 + (0.E-1018 + 0.E-1017*I)*z^60 + (0.E-1017 + 0.E-1019*I)*z^61 + (0.E-1018 + 0.E-1018*I)*z^62 + (0.E-1018 + 0.E-1018*I)*z^63 + (0.E-1018 + 0.E-1019*[+++]Still good convergence, even at 300 iterations as opposed to a thousand.
For a thousand iterations I also tried \(-1E13\) which is super damn slow; but it does work too:
Code:
\r beta.gp
init(1,log(1E13)+Pi*I,1000)
*** _/_: Warning: increasing stack size to 16000000.
%18 = (-53.31037925066047495673165268607566441060365320209951830282670512703518311905332670954897290121003340367347357576638427942737937756655593614601607209759121030827503565619841325761556391154604610468510111965458382814985131009223932810190407029070225046430545584912318250790448362245942045049589331809730923269574870470808442360621205470709671079952557682950082377712860589176605123968802154554734000105549388030404295316238939643391885358072412563342930139553870241956852147318635128124613345132482589609663508679636901029548496969223908804339500375971626672237476164305355270359838440298473570362628525868412276194237242950046140483531073862807263539616812016414375959857346896994961152631401213145192600901338040934890407376745125523095576228691417792767330796837166899072370248841196971299551592644226081860927266078051497827472465470925766117713227577958701379764648555273059609762185926282045081233463183367564336086542437082503942918649096826001301885423724496810234803512440043964146286728517128 + 7.360266450946606755625339770333231845245059316767878834707669433349582579698705679375088260495642617530138134733551116609406241839542768326904283548473193366268015016236391417670521530789415025484177693337625047940864134806104301477874738357730591534309267298242545400362573090174920086990930087883201651066035998874856241974667003733583794984431919667503280401579565890660180885110352758965608649621892896628823826387686651376173038190006643295198267568951320772835250914368680685144195847990332390454391664023197210059921009043869594981012419398126609816378029130401222839254538445489315570569158347806383311635394703364574744427001475653431583018626887827292355366900932956410596875556787885032085517908966247663803954384614231433279941473399453185838093758720609524468331781270517531376035978375037197341661166859383409145433415621020965772586879920235580416461369413113234746973780911738844491642489800874273806242745638250827972967975133116570641137577661640280561683165401241[+++]
beta(0)
%19 = 2374786044089840508.270373732865472285161792703072583005034504320194897296670573110837203240279256081603942183319086677183028720843243531229080010474875678012148164186407880707264009247341200758940123967501889134191088819836203819151942790043384826476009729913001256798782503297239819612701552141094212367233331987156005900798669827615011526079851801418585799459663265262065925001088311871574944475351457536161876312855082668765883319410744297287166301817905127131824786913560241493155729102734137130829472327012483773922021894397483083518132348322081855704229075884480068444292825646493944435428204498018092081992912750648714796294317067892154584099765754346599471091643393589821244659627753355167664220649837539570592103625993817252995195926049446520380000176743009232682257740186300752443747231498644777960983344214054213595393039498642586066617782041493170862407846964185575572988554713651335008417734348579556114781395708037760841032713748786400309843845537758122524885122150228658261517857919834 + 4103623123749473973.77728961531082338601381620270223050426065179658586676471486781023594905770724546208806728913012470253528330712440772348740692386065753947275211882773979185553712127352488560584076021548247602435327719315128445422846410838075144506147848173745705489759100070528788111089114078298687234615770483038268330317730680651015174044978417912556449706058880110023542141150933432447054585877303105295951859118461159487083443343032691616075402317101699240702237036638782629937777499675331913132106350591130331295590070392742833578660053346373961233824343131598078636100549664866772994222781709660482396108992013277206912876928659542609210140342933860308136321735405671588789826106094862856327524425212212835254195036686261387010949756552535112210452939802962300058237302499026159029271324620999032863078078327531539208025619546338237108521308011704072267286403155882050199810730426205621810436995668027051933842025940389759417587400088586359661074532932782240888482666250711293[+++]
beta(-1)
%20 = 1.576927162543843683068676760531718814822676338730656516858579136595788492336132800688293070762318508803138981429985818207717876685777173540104705735493304044602143662714041753915901499441871830797655458287381942237208238006028239196034539114521063996187434879456085514663475002603080289341187107347379136418718491622433949286386943489133450506037351512496306100716860422064673398852077728896733104048944816918756931635901605002968459407626434986399542103024780503455698037774609695784019103816792650864238081070496134250435841850684175060109760834843284449877884593909003311744000138384827209182731737328621450698785092722445774104906417562212910767991147633060421070587927783404796862485803332925874247439338578443863571197868749406043782778201644845953260106098970969834226568228710767682072090896343931733216100371833233703348527813026390577088844355856550462352053325103816786875145210473159004521311146503879351667580014866187239592247699557138608304072426314741198659815901269899955587941507821 + 0.91896866246456071337594185222758607751752647337614380119720677653580272914954942654699823210612636646678742823800966153758960585768562198708046128351172038047209266517745169324938203255244932413360323056951736133483210002582399249115831421733469902532555663262519396684115822251219309063861779847348494904983356350175166765104559202284566339520452103462607779906833212116763992784055947994757762915392633079210177899853383809859777735039269561791035667012008461589924735530411927153705866644238669553801206045657130084494295175351029908889739292137063644831833949990685958384429820159378175373542791410364485183699889572233145669015140271491329016767271717181663979721485668418543142789692030876826854801072945975232474794780933726134912039585800265903628995121213980072187330836497064185989816381753518631788889033816066079032476399083457939758032760305694674429287839139838697683600154515082462556644226036616469952855715518373530609971769339341771115734711654580087267671583295840[+++]
beta(z) - exp(base*beta(z-1))/(1+exp(-mult*(z-1)))
%21 = (0.E-983 + 0.E-983*I) + (0.E-981 + 0.E-980*I)*z + (0.E-978 + 0.E-978*I)*z^2 + (0.E-976 + 0.E-976*I)*z^3 + (0.E-974 + 0.E-974*I)*z^4 + (0.E-972 + 0.E-972*I)*z^5 + (0.E-970 + 0.E-971*I)*z^6 + (0.E-969 + 0.E-969*I)*z^7 + (0.E-967 + 0.E-967*I)*z^8 + (0.E-966 + 0.E-965*I)*z^9 + (0.E-964 + 0.E-964*I)*z^10 + (0.E-962 + 0.E-963*I)*z^11 + (0.E-961 + 0.E-961*I)*z^12 + (0.E-960 + 0.E-959*I)*z^13 + (0.E-958 + 0.E-958*I)*z^14 + (0.E-956 + 0.E-957*I)*z^15 + (0.E-955 + 0.E-955*I)*z^16 + (0.E-954 + 0.E-953*I)*z^17 + (0.E-952 + 0.E-952*I)*z^18 + (0.E-951 + 0.E-951*I)*z^19 + (0.E-950 + 0.E-950*I)*z^20 + (0.E-948 + 0.E-948*I)*z^21 + (0.E-948 + 0.E-947*I)*z^22 + (0.E-946 + 0.E-946*I)*z^23 + (0.E-944 + 0.E-945*I)*z^24 + (0.E-943 + 0.E-943*I)*z^25 + (0.E-942 + 0.E-942*I)*z^26 + (0.E-941 + 0.E-941*I)*z^27 + (0.E-939 + 0.E-940*I)*z^28 + (0.E-938 + 0.E-940*I)*z^29 + (0.E-937 + 0.E-937*I)*z^30 + (0.E-936 + 0.E-936*I)*z^31 + (0.E-935 + 0.E-934*I)*z^32 + (0.E-933 + 0.E-934*I)*z^33 + (0.E-932 + 0.E-935*I)*z^34 + (0.E-931 + 0.E-931*I)*z^35 + (0.E-930 + 0.E-930*I)*z^36 + (0.E-929 + 0.E-928*I)*z^37 + (0.E-928 + 0.E-928*I)*z^38 + (0.E-926 + 0.E-927*I)*z^39 + (0.E-925 + 0.E-925*I)*z^40 + (0.E-924 + 0.E-924*I)*z^41 + (0.E-924 + 0.E-923*I)*z^42 + (0.E-922 + 0.E-922*I)*z^43 + (0.E-921 + 0.E-921*I)*z^44 + (0.E-920 + 0.E-920*I)*z^45 + (0.E-919 + 0.E-919*I)*z^46 + (0.E-919 + 0.E-917*I)*z^47 + (0.E-917 + 0.E-916*I)*z^48 + (0.E-915 + 0.E-916*I)*z^49 + (0.E-914 + 0.E-915*I)*z^50 + (0.E-913 + 0.E-913*I)*z^51 + (0.E-913 + 0.E-912*I)*z^52 + (0.E-912 + 0.E-911*I)*z^53 + (0.E-910 + 0.E-910*I)*z^54 + (0.E-909 + 0.E-910*I)*z^55 + (0.E-908 + 0.E-908*I)*z^56 + (0.E-907 + 0.E-907*I)*z^57 + (0.E-907 + 0.E-906*I)*z^58 + (0.E-905 + 0.E-905*I)*z^59 + (0.E-904 + 0.E-904*I)*z^60 + (0.E-903 + 0.E-905*I)*z^61 + (0.E-902 + 0.E-902*I)*z^62 + (0.E-901 + 0.E-901*I)*z^63 + (0.E-901 + 0.E-900*I)*z^64 + (0.E-899 + 0.E-899*I)*z^65 + (0.E-897 + 0.E-898*I)*z^66 + (0.E-897 + 0.E-897*I)*z^67 + (0.E-896 + 0.E-896*I)*z^68 + (0.E[+++]And it still works; though I suspect 1000 iterations is the key again.
Either way, I don't see the errors you are talking about. But remember I'm running \(\exp(bz)\) as opposed to \(b^z\); whereas my old code ran with the latter. It fixes a good amount of issues.
PS: I think I figured out how to solve the normalization process; it requires renormalizing each step of the way. So that every \(F_n(0) = 1\) including \(F_0(z) = \beta(z+k_0)\). So in reality, we want to run the program \(F_n(z) = \log^{\circ n} \beta(z+n+k_n)\). I'm just trying to find an efficient manner at the moment. This solves the problem of runaway normalization constants for multipliers and bases; where the final normalization constant can move in the thousands by doing slight adjustments to the code.
Regards, James

