2018年8月19日日曜日

180819

Ruby


A145495(1)

M. Kaneko と D. Zagier による
SUPERSINGULAR j-INVARIANTS, HYPERGEOMETRIC SERIES, AND ATKIN’S ORTHOGONAL POLYNOMIALS
に従って求めてみた。

def f(n)
  return 1 if n < 2
  (1..n).inject(:*)
end

def A(n)
  s = 8 * n + 7
  s *= f(6 * n + 1)
  s /= (f(3 * n) * f(n) * (f(n + 1)) ** 2)
  s
end

def A001421(n)
  (0..n).map{|i| f(6 * i) / (f(3 * i) * f(i) ** 3)}
end

def B(n)
  (0..n).map{|i| A(i) / 7}
end

# 0からn+1まで
def C(n)
  a = A001421(2 * n - 1)
  p [0, a[0..n]]
  b = B(2 * n - 1)
  ary = [1, 84]
  n.times{|i|
    c0 = (b[1] - a[1]).to_r
    c = (1..2 * n - 1 - i).map{|j| (b[j] - a[j]) / c0}
    a, b = b, c
    p [i + 1, a[0..n]]
    ary << ary[-1] * c0
  }
  ary
end

p C(20)

出力結果
[0, [1, 120, 83160, 81681600, 93699005400, 117386113965120, 155667030019300800, 214804163196079142400, 305240072216678400087000, 443655767845074392936328000, 656486312795713480715743268160, 985646873056680684690542988249600, 1497786250388951255453847206769124800, 2299241651370858900383998675261515840000, 3560251685571826433222298030346561248960000, 5554245802945245454595369624089460192733081600, 8721738890392447591431363764108524712997083223000, 13774460761259199831096363132750092317866900076104000, 21865397620346985377975126061775131112067443213399080000, 34866992128729358679641555532900021787099170706630643520000, 55827110111954369003114678433725205384304901681068121718830400]]
[1, [1, 450, 394680, 429557700, 522037315800, 678696698599920, 923563866149496000, 1298893924326291064200, 1872892788786285985719000, 2753834730409783196154778800, 4113309164116707723917886096960, 6223851534727948966324708452588000, 9519742025929437438510124385204606400, 14695371749906021645384318063679469680000, 22864727491783507537805425128225693354432000, 35820546174463282209128731442858198352352803600, 56456337503553683247550028913001053443745331095000, 89455040808018851107680040821109395833272297716462000, 142414950309968750429795251227050606637719844815724360000, 227693911097791544091873515328241749420395834418121898844000, 365435184331798488644618823164977397214334029241769852793134400]]
[2, [(1/1), (944/1), (1054170/1), (1297994880/1), (1700941165560/1), (2326960109485440/1), (3285120488273369460/1), (4750462777483659350400/1), (7000542310802147888540760/1), (10475220761578770433945887360/1), (15873347459609903883739895346480/1), (24308956895577230857746294480107520/1), (37564030601621705287879755722478648000/1), (58498411533974791226009476054179188198400/1), (91716061731872838650101096420511327756423400/1), (144650298827761320170056561057250087062873478400/1), (229335091050786822050253568752603950046683023152600/1), (365301674817035651672182197470531744017128489704016000/1), (584323996875946016400702908470732507979686859731791682800/1), (938206285514679150428800438579552096454633719880914336588800/1), (1511583494262851421523948323436339987645096275528346373688360000/1)]]
[3, [(1/1), (1335/1), (1757970/1), (2386445040/1), (3336565609080/1), (4780478992153590/1), (6986981484124227300/1), (10379857332015914783040/1), (15630336095483779833585240/1), (23805745537435619756724715080/1), (36609525021962109091946530420080/1), (56769814930551149492651075581526400/1), (88670121020382124657135947349189713600/1), (139375170526496621684809051198958774093100/1), (220303143022870522188113015413748762571904200/1), (349956990986301900410331052306888454661817190400/1), (558393995969669636770247280666846858671773667991000/1), (894552725842059242856088374987210326603172094971796200/1), (1438284158738638879224548427634231471729226488791077809200/1), (2320138279212657758865039474233527510993445842685377572662400/1), (3753953783973578783343619657695482401242060258116628632270760000/1)]]
[4, [(1/1), (1800/1), (2783760/1), (4183182720/1), (6274984354650/1), (9467675181204240/1), (14397428528215487040/1), (22071083848290618785280/1), (34093413748994499546748920/1), (53033702205504361146308529600/1), (83020097276148129501035245783680/1), (130706113602967824473801001602841600/1), (206845930927165806799998913413758531700/1), (328867215577999190634301583102909040448800/1), (525081054113914527468732714193448510483232000/1), (841582877030390830485917421775557311061612902400/1), (1353583250703385143692854673955699699708551420122200/1), (2184041334687194022567379844407925738489871174064670400/1), (3534352925058768819530023109089451188078803383131619529600/1), (5734962377776796321789440752580926888994792794343432886400000/1), (9328944506693079082143685676383594117427103064635392435786910000/1)]]
[5, [(1/1), (2206/1), (3863952/1), (6319180098/1), (10079991804410/1), (15936445256110236/1), (25142422615644524736/1), (39705543340883268200352/1), (62855820791545680407707128/1), (99807682267066710557180033040/1), (159002792843906827916451453809280/1), (254141526681255230414759066805524340/1), (407509774304306599891381789040753260980/1), (655436367937729043614235911354193006260920/1), (1057259969987288021667927676276707218064076800/1), (1710084418782183885855069662986780303304898391680/1), (2773093782462655440239336493377882606207955008801880/1), (4507674766279849333990268132161762830859305149119444560/1), (7343707738847609812740647910424514791400746132597968416640/1), (11989227360687097416774335524060455303623747971008094201110000/1), (19612036467328737924132013446040734272666621580822919451623468080/1)]]
[6, [(1/1), (18624/7), (36827541/7), (65603576720/7), (111530518532862/7), (185258518748776512/7), (43434629292100121712/1), (70843367099879755815168/1), (115206847442271796578501240/1), (187149496472312065062601497600/1), (304028111030264546652606071927790/1), (494245919648130032244785407948262880/1), (804357518127413430985059921801192034020/1), (1310785507077274616254174783456302235420800/1), (2139166358994564175786089264067051705032722880/1), (3496331359012981025976556205473356912560107361280/1), (5723235053183880077396276570822258848200576293238360/1), (9382647324603056633523706407229220697837297412478691840/1), (15404593553966258854642597959309183287263436395725766785000/1), (25327812710925268083715093028712167870048075163023465556247680/1), (41701006618409024330505764843431565419032866965548968034541300080/1)]]
[7, [(1/1), (6147/2), (6715687/1), (12875730956/1), (23162602751730/1), (40240555227903576/1), (68499298024190890416/1), (115165677735726842613312/1), (192141011765153199729085560/1), (319037469297455698036795200135/1), (528199481699598872661905841608790/1), (873015149830844694423553403307062040/1), (1441685724065625081231795130331478505380/1), (2380058052498721897808652141587809996474080/1), (3929518724580634814849279006098691472277329600/1), (6489939941875729874323878234478514674402372404480/1), (10724326809636219703561932094742993422013182226120280/1), (17732935482662018633976634299871992291338413526679631860/1), (29343211015608797821679856232734754231605999479606410900680/1), (48592957591942804790891344997402834074344348740754978026532000/1), (80536123945373207751350707996501053420338413564493207686233978480/1)]]
[8, [(1/1), (10568/3), (8485224/1), (17508286016/1), (33359407661840/1), (60699768595272576/1), (107336507334692823936/1), (186313492565358872878080/1), (319396578369142165998739290/1), (542881714127431337853346614000/1), (917275423379693006487243026297040/1), (1543434506683093427340303220796403840/1), (2589485493150019363736841898260008416320/1), (4335743490435043927847198821733775599623680/1), (7249700771506397487781094690550459897213580800/1), (12111275659977989061809233235580398552737672212480/1), (20222112820070138039498528022314271286804294343333880/1), (33755517118663820366462829238532778623213264690248921920/1), (56341814276811194239831781276884505597673037552022344678080/1), (94048026738885758154614980823901199103663319907493401682009600/1), (157018318004338364322332404952784194463678274936528581954635940480/1)]]
[9, [(1/1), (19698/5), (113450328/11), (249717671268/11), (501041960017200/11), (951115330053108576/11), (8711977326077391460992/55), (3116462855607893051501724/11), (5481899873387158526119626462/11), (866217309862918294230806348100/1), (1492584839003151167903710168807440/1), (2555398372729634766245002080731420952/1), (4354030659598490604909565892718290767680/1), (7391870976458098715247085011766460315256960/1), (12515033138632116929466467534920706222638886400/1), (21145349188350096480749378688470377435527522338880/1), (35671795850096775656741064798502678289888351384569848/1), (60108207631619435439299276536140448310353331515582783920/1), (101198669714900823815340191079402667968799193692182019270080/1), (170275756717547658414059436637365063547324366690987846237629600/1), (286385169825016453218936928075484287790599730381891059401537060480/1)]]
[10, [(1/1), (48240/11), (137015970/11), (321606513600/11), (679767849788400/11), (1347203112889008384/11), (2559196763804634113790/11), (4721468287479840182603520/11), (775509103938647960611112250/1), (1379859487424348004676528164000/1), (2427159896178145200442993747845420/1), (4232199791609700770321531806343817600/1), (7330014757010844549248208002956551124800/1), (12628715303307609789779435987456618944896000/1), (21667909006329007240822222864302795529556724000/1), (37055523736872331988909186383566694123162912634880/1), (63206005387645383129604526617223384283194915634795000/1), (107587596989341932144647609056247591232314093716404720000/1), (182829541042521346960611902334818990510859562160603880450000/1), (310281863976682336656390765404621266374132048557792958379200000/1), (526028990558193874406987965420355167290260256606323777236655890560/1)]]
[11, [(1/1), (4805/1), (14658030/1), (36441948000/1), (80761720666320/1), (166544592323047839/1), (327258264389516991090/1), (621625534201527004445520/1), (1152039791447623932571352250/1), (2096143387351140681415080207450/1), (3760870974569922119900870031346620/1), (6674786940611673882172144036502092800/1), (11745634041951028019707988894174974497600/1), (20528838297175147505283685797080781008094000/1), (35684674992607574951014983412050298418560740000/1), (61756036398547158103233439361782841107244965082880/1), (106490759916594785041764875972836345351433077279390200/1), (183088570386556103620827996046321578167087524091150899800/1), (314017449606573986759979735837170343180589776636256470426000/1), (537493277070579812631221232116788939420982340035225490617875200/1), (918478100150182178752615925453041117793461861125834851691882821760/1)]]
[12, [(1/1), (68232/13), (223253280/13), (587636838144/13), (1365598317364839/13), (2931391956281838840/13), (5961725602075934834640/13), (11667148063658410398768000/13), (22194712392097801251053725290/13), (41326258767069143983201800333840/13), (5821984537166133094335153744689280/1), (10524769693248541316372175472026577920/1), (18830195651688605605752274735832238937200/1), (33409409718107095300567793288238901793942400/1), (765367997967388978190328965522190469929303033600/13), (1341217745967446256433137585666880483804562755184640/13), (2339466781322129257008406357438912271218331645414670360/13), (4064977448463602923360693432467225012301499603470925323200/13), (7040353645163020382318690517841815221170009031695092548240640/13), (12160394945103862951554669184111395649394979294970765687345059840/13), (20955616612988446865393881380302331754480625763863355171658230389910/13)]]
[13, [(1/1), (5670/1), (19748832/1), (54741797937/1), (132878837538099/1), (296058291141358410/1), (621816563037724872720/1), (1251637784511650793762120/1), (2440852216317724141634429970/1), (4646172414383690422688692261740/1), (8678650214024497424068043811655680/1), (15970053914789059930392876008591024400/1), (29035447975050341830881463045787336607600/1), (52274531483178516356361051008416263306400800/1), (93356905286341807021172684925213030936427641600/1), (165612433224622342893265644146356820123062535249280/1), (292149476927063217667752641558010143251146486957857400/1), (512940315636823054350434186224831066381540130990767891920/1), (896997111702154566906327929008694197489545495840616318590720/1), (1563274026536514399446830995216368514507650696935582122362364090/1), (2716516699547920028659112900010297478960921182402611877453225470670/1)]]
[14, [(1/1), (6112/1), (45274383/2), (66050852616/1), (167463641576455/1), (387347520521082240/1), (840478849031224885020/1), (1740848196428005219093440/1), (3481924538137793266110113010/1), (6779235815837666353875058574400/1), (12922361241333833877741713577097080/1), (24218379007612736569309866379959158400/1), (44769365269428344966285569617069313556400/1), (81831283452912470442664464860456176021222400/1), (148182527556159949101737091682321682693546952000/1), (266242500680849319582398317417893317095029697889280/1), (475218447392314126176515331956111509795276031290444920/1), (843484630698245525276300211623075820772924865686914858240/1), (1489990397931877371532335478952426987806586302517671030187235/1), (2621230463879976908940231164627881612269322673853705592412139600/1), (4595010867972684991447699406841569228569315777680019335699110901270/1)]]
[15, [(1/1), (26139/4), (869927283/34), (1330184770706/17), (3511124206912455/17), (8410087922826923550/17), (18815785073705939435820/17), (40041243146925735556757040/17), (82040900055922151199475627410/17), (163219654896512940525910375593900/17), (317243272800910639958345783514159000/17), (605150665168384735977081021972383728800/17), (1136798152682075157165515917386150489031600/17), (124039869388728828236571056011558035649591200/1), (227669835873816689341929125048725106271418920000/1), (414183191097852734182721019000229336072691276770560/1), (747837816881046314311914084611413471473721119222051960/1), (2683227539501008165728540949971641585144981025688030369215/2), (2393566600324575813333484546179893886338624382167700158483655/1), (72249775708644806261099481031971990369553638279900286855610978100/17), (127754295103639382276147023865112935507689242005962550077444123584150/17)]]
[16, [(1/1), (118584/17), (490408696/17), (29853586521920/323), (82030565122180920/323), (203489646749443433280/323), (469520171130321205940160/323), (1026884625059760255083312640/323), (2156073978753825281349859767600/323), (4384859851606088271314006863079040/323), (8693852675908683788710709820812496000/323), (16886244633788462594996010512178523980800/323), (1897015098238937428939622074206825151836800/19), (3572463295175583831019866668152962857432448000/19), (6649019794022625375295402318307236807984790062080/19), (644871364846202692218565943596219897524411798773760/1), (1178306656539937451420390924571839081725761436208398170/1), (2137377178930096846365816835546935301081107225665355714480/1), (65497002537398459631260913621047907654583448431430613328455600/17), (117419539557903577579032841984166194256678589675700109687898848640/17), (209502164369595288126191033626511031297926195029347006873580697730000/17)]]
[17, [(1/1), (22198/3), (611226888/19), (2044400652700/19), (5831645309542840/19), (14949488503641057840/19), (35512094921185237314240/19), (79711323883669223442407880/19), (171312368941693177369193571120/19), (355817634896924782904899734300000/19), (2157294363162507301143617693805718400/57), (1421291398138659234087848774721138129600/19), (2758082034554500865035236014662145672643200/19), (5270874388435170416385244322621668356196993280/19), (523364221629059391667082203067005577643779251200/1), (976608317379127792459094021863308360762644431824360/1), (1805355213832859837790850182436051999419008323219269210/1), (3310495490191928843237804201913683860384590656201209172820/1), (6028060434292032338162127374929997516047769845634380653559920/1), (10909534483162300183504355221218843064122637443483729596121385800/1), (19638450208855427500106500455324877361247079364969142842578264520400/1)]]
[18, [(1/1), (148944/19), (680284710/19), (2374489470720/19), (7030395735975000/19), (18624795391389075840/19), (45554901586372241617140/19), (104964785776111603672586880/19), (230966957755385357370586927920/19), (490073385122447152461801209043200/19), (1009860618289360282848721012965784800/19), (2031757830669646305213117005793529497600/19), (4007539824014014798447037123063939133755520/19), (7774586900314826334104614441485117402128148480/19), (782760459849133899892057554900597373237247352900/1), (1479572333762331900846369119601871879446450968703360/1), (2768068560856548155846736174919227191842215922889262810/1), (5132787755005934595747467162870646356744976257659922890080/1), (9444232440435207579421837250377644744157432247180988264018420/1), (17259853222117189697735653851301732744046565306069457960153113600/1), (595762501538676197728433497507087046777505859671127073544210248295600/19)]]
[19, [(1/1), (41319/5), (39500058/1), (143448395664/1), (10115523544260600/23), (27640752289505516430/23), (69504940988373523569300/23), (164186941689061045875394560/23), (369511239152813861165783875440/23), (800263753858324355415179215680400/23), (1680182841828404782913582287355205600/23), (3438874649888570458931562683674660902144/23), (6890951867558686012071660877605823062195840/23), (13564757411508483457636325738086910411768515410/23), (26301788012699664383554752817521211527501809726700/23), (50343725486559847824940827129854115567085168056137280/23), (95294182655411309993624576857382442470221999342336405398/23), (178643857201982558487893085229831093580046565952437278712050/23), (14438299486255632321945912322087144465722532435875010640199780/1), (26641238241374919253260070465406586786654728967297171065244103200/1), (48837694207249703107303352190004926718755703890863398453231463014800/1)]]
[20, [(1/1), (60920/7), (304554960/7), (26458307664000/161), (83987506072059750/161), (236709302700447154800/161), (87424929877989264912000/23), (211753986704543782086016000/23), (3412565907940203232922937090000/161), (7545271363946212363211417804560000/161), (16144532571994598039040430206981935360/161), (33623693849811464397952197504806557440000/161), (68466850695315096313277856038082246724496250/161), (19541862037037023008194039815738574516974950000/23), (38417202646252952083985574254630547638447128200000/23), (74482971339146692666746393476929689905947996976002560/23), (142684246535791774240639234177675109705179609888069456950/23), (11760649695172166047936023693324470725779839813736202021200/1), (22092451273629416915168676491409760145950163551142330259132000/1), (41168251704106016374201208956521474539408110142941114135394208000/1), (76171292755599887636468471062112042272707249301997191610344700985900/1)]]
[1, 84, (27720/1), (13693680/1), (5354228880/1), (2489716429200/1), (1010824870255200/1), (459492105307435200/1), (189737418627305920800/1), (85223723866764909426000/1), (35532611270849849570013600/1), (15842376246977818384652245440/1), (6646596943618421076833646609600/1), (2948532659526725719238433845966400/1), (1242466300683646422306780046784918400/1), (549170104902171718659596780678933932800/1), (232161661847393094063344539032019320091200/1), (102332080743410488358244498064804633545493200/1), (43368737121334790105394050611229163714750784800/1), (19074635783015143648109278049535353233838634648000/1), (8099893496027514841140804061013744050592466950894400/1), (3556316095812994873251735314445662995012983989554121280/1)]

0 件のコメント:

コメントを投稿

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