\\ -*- sh -*- /* 作者: 松元隆二 (matsumoto(AT)tech-i.kyutech.ac.jp) last updated : 2016/11/03 (JST) ファイル「atan_solver_check.gp」のサンプルで, 特別な式を掲載したものです。 2015/1/13: 初版公開(maybe) 2016/11/3: arctan 関係式一覧(2016/11/3)公開版に合わせてサンプルを更新。 */ \\ print("# 評価値nのbast10, worst10"); print("# 既知の2項式(全4式)"); atan_solver([5,239]); atan_solver([3,7]); atan_solver([2,7]); atan_solver([2,3]); print("\n# 既知の3項式"); atan_solver([18,57,239]); atan_solver([10,239,515]); atan_solver([5,478,54608393]); atan_solver([7,53,4443]); atan_solver([5,240,57361]); atan_solver([5,238,56883]); atan_solver([5,241,28800]); atan_solver([5,237,28322]); atan_solver([8,57,239]); atan_solver([5,577,1393]); print(" .. omit .. "); atan_solver([2,9,32]); atan_solver([2,12,17]); atan_solver([2,6,117]); atan_solver([2,6,68]); atan_solver([2,6,43]); atan_solver([2,8,18]); atan_solver([2,5,57]); atan_solver([2,5,18]); atan_solver([2,5,8]); atan_solver([2,4,13]); /* 作業メモ: 注意:conv_atan_check.plは非公開ファイル head -10 atan_table_k4-best1000.txt | perl ~/2n1/search/conv-atan_check.pl -s | awk '{print "atan_solver("$1");"}' */ print("\n# 既知の4項式"); atan_solver([57,239,682,12943]); atan_solver([28,443,1393,11018]); atan_solver([23,182,5118,6072]); atan_solver([21,239,347,361577]); atan_solver([49,57,239,110443]); atan_solver([21,239,343,27493]); atan_solver([21,239,353,21637]); atan_solver([15,239,433,1875333]); atan_solver([18,239,682,12943]); atan_solver([22,172,682,5357]); print(" .. omit .. "); atan_solver([2,4,10,293]); atan_solver([2,4,23,30]); atan_solver([2,5,13,21]); atan_solver([2,4,11,72]); atan_solver([2,4,9,132]); atan_solver([2,4,18,21]); atan_solver([2,4,6,327]); atan_solver([2,4,8,47]); atan_solver([2,4,5,268]); atan_solver([2,4,8,21]); /* 作業メモ: 注意:conv_atan_check.plは非公開ファイル head -10 atan_table_k5-best1000.txt | perl ~/2n1/search/conv-atan_check.pl -s | awk '{print "atan_solver("$1");"}' */ print("\n# 既知の5項式"); atan_solver([31,239,14942,474193,7250363755]); atan_solver([28,443,1112,8637069,133280317780182]); atan_solver([31,239,14942,963375,30349818]); atan_solver([28,443,1112,8638168,67922179193]); atan_solver([57,239,348,812852,1453603235443]); atan_solver([57,239,348,812857,145361217682]); atan_solver([57,239,693,73122,28872792057]); atan_solver([57,239,682,25886,8672910142057]); atan_solver([24,882,6948,50912,983133543]); atan_solver([57,239,348,812882,22363952057]); print(" .. omit .. "); atan_solver([2,4,6,16,2843]); atan_solver([2,4,5,33,905]); atan_solver([2,4,5,70,157]); atan_solver([2,5,6,9,993]); atan_solver([2,4,5,31,327]); atan_solver([2,4,6,17,302]); atan_solver([2,4,5,30,242]); atan_solver([2,4,6,10,2818]); atan_solver([2,4,6,11,438]); atan_solver([2,4,6,12,191]); /* 作業メモ: 注意:conv_atan_check.plは非公開ファイル head -11 atan_table_k6-best1000.txt | perl ~/2n1/search/conv-atan_check.pl -s | awk '{print "atan_solver("$1");"}' 10位が二個あるので-11を指定。 */ print("\n# 既知の6項式"); flag_tenuki_factor=0; \\ 以下の式のいくつかは巨大のためそのままでは擬似素数を使います。使わないように抑制。 atan_solver([107,1710,225443,2513489,42483057,7939642926390344818]); atan_solver([107,1710,105218,2513489,7167807,7939642926390344818]); atan_solver([107,1710,110443,2513489,4841182,7939642926390344818]); atan_solver([107,1710,225443,1256744,42483057,3158812219818]); atan_solver([107,1710,225443,1256745,42483057,3158814733307]); atan_solver([107,1710,225443,1256742,42483057,631761438568]); atan_solver([107,1710,225443,1256747,42483057,631763952057]); atan_solver([107,1710,225443,1256732,42483057,126351282318]); atan_solver([107,1710,225443,1256757,42483057,126353795807]); atan_solver([107,1710,225443,1256688,42483057,27952844818]); atan_solver([107,1710,225443,1256801,42483057,27955358307]); flag_tenuki_factor=1; \\ 擬似素数を使う。 print(" .. omit .. "); atan_solver([2,4,5,6,302,307]); atan_solver([2,4,5,6,123,746]); atan_solver([2,4,6,8,12,18543]); atan_solver([2,4,5,6,191,307]); atan_solver([2,4,5,6,41,18543]); atan_solver([2,4,5,6,99,302]); atan_solver([2,4,5,6,28,3583]); atan_solver([2,4,5,9,11,5257]); atan_solver([2,4,5,6,23,931]); atan_solver([2,4,5,6,12,18543]); /* 作業メモ: 注意:conv_atan_check.plは非公開ファイル head -12 atan_table_k7ov-best1000.txt | perl ~/2n1/search/conv-atan_check.pl -s | awk '{print "atan_solver("$1");"}' */ print("\n# 既知の公式で項数制限無し (bast4-10のみ。best1-3は非常に長いため省略)"); \\ もしbest 1-3を実行する場合はパラメータ「flag_tenuki_factor=1」を指定してください。因数分解が終わりません。 flag_tenuki_factor=0; \\ 以下の式のいくつかは巨大のためそのままでは擬似素数を使います。使わないように抑制。 atan_solver([107,1710,103697,2513489,18280007883,7939642926390344818,3054211727257704725384731479018]); atan_solver([107,1710,225443,2513489,42483057,15879285852780689636,2001994613678354896260473080240048507073548373974000280182]); atan_solver([107,1710,103696,2513489,60932772000,7939642926390344818,11138408110872884772003]); atan_solver([107,1710,103696,2513489,60932772001,7939642926390344818,5569204055527841544002]); atan_solver([107,1710,103696,2513489,60932772002,7939642926390344818,2227681622247696280801]); atan_solver([107,1710,103696,2513489,60932771997,7939642926390344818,1113840811032448982400]); atan_solver([107,1710,103696,2513489,60932771996,7939642926390344818,856800623857053192923]); atan_solver([107,1710,103696,2513489,60932772006,7939642926390344818,655200477174686745177]); atan_solver([107,1710,103697,2513489,18280007883,7939642926390344818,6108423454515409450769462958036,113961304647080596819624466597175483302909553393817867790586030045648828451300174873440812382]); flag_tenuki_factor=1; \\ 擬似素数を使う。 /* 注意:conv_atan_check.plは非公開ファイル head atan_table_u-best100.txt | perl ~/2n1/search/conv-atan_check.pl -s | awk '{print "atan_solver("$1");"}' */ print("\n# 既知の4項以下の式で整数の逆数以外の式"); atan_solver([74131715073913/21025635306,2086423476993591581/18413451386633,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([10501470120210335127/2983710106787489,2086423476993591581/18413451386633,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([160844654564/45608727,2086423476993591581/18413451386633,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([40536459497/11852171,2086423476993591581/18413451386633,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([74131715073913/21025635306,499320064735822/4689032729,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([74131715073913/21025635306,77510562861687239/733140716248,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([10501470120210335127/2983710106787489,499320064735822/4689032729,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([160844654564/45608727,499320064735822/4689032729,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([160844654564/45608727,77510562861687239/733140716248,8673008485629982251/4904321815307,280501013155091906/19005422517]); atan_solver([20484742216612/6002361509,2086423476993591581/18413451386633,8673008485629982251/4904321815307,280501013155091906/19005422517]); /* EOF */