nfsplitting(*,,2);

私が案出した Galois 群の計算方法を PARI の開発メンバーの方にお伝えしたところ,それに基づいた nfsplitting さらに galoisinit の改良版を作成してくださいました. 試用方法は
https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=tree;h=refs/heads/bill-nfsplitting;hb=refs/heads/bill-nfsplitting
の snapshot のリンクをクリック,保存,展開して

./Configure;make all;./gp

で,PARI が起動します.以下,実行例です.

? #
   timer = 1 (on)
? galoisinit(nfsplitting(x^17-2)); \\ 従来の方法
  *** galoisinit: Warning: increasing stack size to 16000000.
  *** galoisinit: Warning: increasing stack size to 32000000.
  *** galoisinit: Warning: increasing stack size to 64000000.
time = 1h, 3min, 8,876 ms.
? galoissplittinginit(x^17-2); \\ 新作
  *** galoissplittinginit: Warning: increasing stack size to 16000000.
  *** galoissplittinginit: Warning: increasing stack size to 32000000.
  *** galoissplittinginit: Warning: increasing stack size to 64000000.
time = 20,935 ms.
? g=nfsplitting(f=x^17-2);nfisincl(f,g); \\ 従来の方法
  *** nfisincl: Warning: increasing stack size to 16000000.
  *** nfisincl: Warning: increasing stack size to 32000000.
time = 20,210 ms.
? nfsplitting(x^17-2,,1); \\ 処理の共通部分をまとめたもの.出力は分解体の定義多項式と入力の全ての根の分解体上での表示です.
  *** nfsplitting: Warning: increasing stack size to 16000000.
  *** nfsplitting: Warning: increasing stack size to 32000000.
time = 16,544 ms.
? nfsplitting(x^17-2,,2); \\ 出力は分解体の定義多項式とその Galois 群の写像表示です.
  *** nfsplitting: Warning: increasing stack size to 16000000.
  *** nfsplitting: Warning: increasing stack size to 32000000.
time = 16,846 ms.