2018年9月2日日曜日

180902(3)

Ruby


1^(1^m) * 2^(2^m) * ... * n^(n^m) の漸近展開(2)

数列{a_m(k)} の分子を出力してみた。

def bernoulli(n)
  ary = []
  a = []
  (0..n).each{|i|
    a << 1r / (i + 1)
    i.downto(1){|j| a[j - 1] = j * (a[j - 1] - a[j])}
    ary << a[0] # Bn = a[0]
  }
  ary
end

def ncr(n, r)
  return 1 if r == 0
  (n - r + 1..n).inject(:*) / (1..r).inject(:*)
end

def A(k, n)
  a = bernoulli(n + k + 1)
  ary = [1]
  (1..n).each{|i|
    ary << (-1) ** (k % 2) / i.to_r * (0..i - 1).inject(0){|s, j| s + a[i - j + k + 1] * ary[j] / (ncr(i - j + k, k) * (i - j + k + 1r))}
  }
  ary
end

n = 15
(0..10).each{|i| p [i, A(i, n).map{|i| i.numerator}]}

出力結果
[0, [1, 1, 1, -139, -571, 163879, 5246819, -534703531, -4483131259, 432261921612371, 6232523202521089, -25834629665134204969, -1579029138854919086429, 746590869962651602203151, 1511513601028097903631961, -8849272268392873147705987190261]]
[1, [1, 0, 1, 0, -1433, 0, 1550887, 0, -365236274341, 0, 31170363588856607, 0, -2626723351027654662151, 0, 127061942835077684151157039, 0]]
[2, [1, -1, 1, 259193, -1036793, -201551328007, 9137074752049, 9142431862033871923, -11105299580705049589, -11003865617473929216508154207, 114467620015003245418244743007, 32505236416490926096399421788847363, -254505521478572052318535393350091231, -1828472168539763642032546635313363411876021, 449843951207507728031832088068767125946389963, 31024838101634458799200044021590825216299304842344313]]
[3, [1, 0, -1, 0, 1513, 0, -127057907, 0, 7078687551763, 0, -1626209947417109183, 0, 25620826938516570309695021, 0, -67861652779316417663427293866727, 0]]
[4, [1, 1, 1, -476279, -1905119, 50409422809211, 327409436642411, -33180456307810635797257, -282922303030975330914097, 5379031277933782422359791052783, 47439700106584179998732858654521, -36404043230640972806023058818270566601769, -448477438414484751987416795754334219171169, 44059016262452855253179633655261374898258492303313, 8158862019359543444070175550192616738556343315215309, -569629821149561571872765829220003512513888474356694799393913]]
[5, [1, 0, 1, 0, -33589, 0, 6685358543, 0, -3154174722920027, 0, 4928758950963155306741, 0, -2256715986149278985600498968703, 0, 629222853795800878962230085722916097, 0]]
[6, [1, -1, 1, 9407989, -37631989, -2096938112640143, 149904329568001573, 2077435474826915904958427, -17724254999346713040382427, -111976939829427960973528888190502151, 15178929891207525282519637681009903963, 1779598085747305754736646575789869852177394973, -241225547842987701588833000525699972846584624703, -2216804467382185051458528121403529509855199450770516869, 1857837620155651450279891034916557225570091149066824757, 19922345484131707240270922592637479980113734425892164090660921569859]]
[7, [1, 0, -1, 0, 6569539, 0, -94862020867, 0, 148360361562210426521, 0, -3758214620551052982685723, 0, 17659775228092034903641523829434461, 0, -15253807614781285310910350330441645179853, 0]]
[8, [1, 1, 1, -975236429, -3900952541, 1673187234045287, 24741204553616603957, -416390509638217044924161981, -3553044445676273323476205229, 2594326466683133286611419169781551183899, 318285642111072314088164648150484807919, -183637667316299523050446787340969584371799407441, -5148483739079534617735950371518901403202578056384131, 28638181650561498070967147583289414129520178187169628122173, 18827705277362052458863395307577239815778846623862046296474289, -4107665650991246957700860278306395520803885006941136705235066280532998941]]
[9, [1, 0, 691, 0, -756278519, 0, 70428516045253307, 0, -1207282026600970337462141, 0, 674487004522944662914168709557673, 0, -15888760614678571271038978643189988077091187, 0, 1583798222362424121078560062946355762334601480141783, 0]]
[10, [1, -691, 477481, 27270129276629, -75375321284918639, -365968280308506388285675667, 1643735859311321887269714365897, 28818902191146659899637620909080751658287, -169930095546261471299784052384223123018804317, -382217632900099668663243861277991747464040649775752953, 46823037076414380661715849077881931738040803765228528402891, 4866716392353709570566815278008611320497715893298702739601120942213337, -41443567019975441388846205026673443833189485265378666543917124727811255867, -329646173828465774346971211550445315710876341492464017680118089036106858298781587903, 61664000792126295378754033137652704976705049804896776894833298530688749725982457644122487, 13386120102253131524884309722845350152952297269142174938072503858518945291821013177207927479272809211]]

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。