次数2のモジュラー方程式及びその解であるシンギュラーモジュリ$x_2$を求めます。シンギュラーモジュリ$x_2$は$\frac{K^{\prime}(k)}{K(k)}=\sqrt{2}$を満たす$k$に対して$x_2=k^2$として定義されます。
$0\lt k\lt 1$として、第1種完全楕円積分を$K(k)$で表します。
$$K(k)=\int_{0}^{\frac{\pi}{2}}{\frac{1}{\sqrt{1-k^2\,\sin ^2\vartheta}}\;d\vartheta}$$
また$k^{\prime}$を$k^{\prime}=\sqrt{1-k^2}$と定義します。自明に$k^{\prime\,2}=1-k^2$です。さらに$K^{\prime}(k)=K(k^{\prime})=K(\sqrt{1-k^2})$と定義します。
$x_2$を求める計算はランデン変換公式から始まります。
$$\tag{A}\left(k+1\right)\,K\left(k\right)=K\left(\frac{2\,\sqrt{k}}{k+1}\right)$$
が、その前に簡単な補題を示しましょう。$0 \lt k \lt 1$として、
$$\tag{B}\sqrt{1-\frac{4\,k}{(k+1)^2}}=\frac{1-k}{1+k}$$
が示すべき公式です。
$0 \lt k \lt 1$ を宣言し、示すべき式の左辺の根号の中を取り出します。
assume(0<k)$assume(k<1)$
B1:1-4*k/(k+1)^2;
この式を因数分解した式とこの式は等しいので次のB2が成り立ちます。
B2:factor(B1)=B1;
$0 \lt k \lt 1$よりこの式は常に正です。よって平方根をとっても等号が成り立ちます。
B3:sqrt(B2);
上記B3が示したかった式です。後で使うために左辺を少しだけ変形し、$B$という名前をつけておきます。
B:ratsimp(lhs(B3))=rhs(B3);
ここからシンギュラモジュリ$x_2$を求める計算を始めます。その起点となるのはランデン変換公式です。
A:(k+1)*K(k)=K(2*sqrt(k)/(k+1));
最初の一歩はこの式の$k$を全て$\frac{1-k}{1+k}$で置き換えることです。
A1:subst((1-k)/(1+k),k,A);
式を整理します。
A2:ratsimp(A1);
右辺の根号を計算してしまいます。そのために$rootscontract()$という関数を使います。
A3:rootscontract(A2);
得られた式の左辺の$K()$の引数を$B$を使って書き換えます。
A4:A3,B;
上記式$A4$には楕円積分$K$が簡単に$K^{\prime}$に書き換えられる形で2回登場しています。その書き換えを行うパターンマッチを定義します。またmaximaの中では$K^{\prime}$を$Kp$で記述しますが、表示は$K^{\prime}$となるように設定します。
matchdeclare(X,true);
defrule(KKp,K(sqrt(1-X)),Kp(sqrt(X)));
texput(Kp,"K^{\\prime}");
では実際に$K$を$K^{\prime}$に書き換えてみます。
A5:apply1(A4,KKp);
両辺に$(k+1)$を掛けます。元のランデン変換公式とよく似た公式が得られました。この式には係数2があるために、上昇ランデン変換とも呼ばれるようです。
A6:A5*(k+1);
上昇ランデン公式$A6$の両辺をランデン公式$A$の両辺で割ることで次の式を得ることができます。
A7:rhs(A6)/lhs(A)=lhs(A6)/rhs(A);
整理することで次の式を得ることができます。
A7*(2/rhs(A7));
この式で仮に$K^{\prime}(k)=K\left(\frac{2\,\sqrt{k}}{k+1}\right), K(k)=K^{\prime}\left(\frac{2\,\sqrt{k}}{k+1}\right)$が成り立つ$k$が見つかったとするとその$k$について$\left(\frac{K^{\prime}(k)}{K(k)}\right)^2=2$、すなわち$\frac{K^{\prime}(k)}{K(k)}=\sqrt{2}$が成り立ちます。すなわちこの式を満たす$k$について$k^2$はシンギュラモジュリ$x_2$です。
$K^{\prime}(k)=K\left(\frac{2\,\sqrt{k}}{k+1}\right)$を満たす$k$を1つ求めるのは難しくはありません。左辺の$K^{\prime}(k)$を$K(\sqrt{1-k^2})$に戻して両辺の$K$の引数が等しいと置けば、この等式を満たすような$k$が満たす等式が得られます。
sqrt(1-k^2)=2*sqrt(k)/(k+1);
%^2;
solve(%,k);
$0 \lt k \lt 1$より求める$k$は$k=\sqrt{2}-1$です。
ちなみに$K^{\prime}(k)=K\left(\frac{2\,\sqrt{k}}{k+1}\right), K(k)=K^{\prime}\left(\frac{2\,\sqrt{k}}{k+1}\right)$を両方満たす$k$を見つける必要があるのですが、前半の式だけで$k=\sqrt{2}-1$を求めました。念の為後半の式も満たすことを確認しましょう。$K^{\prime}(k)=K(\sqrt{1-k^2})$ですから、$k=\sqrt{1-\left(\frac{2\,\sqrt{k}}{k+1}\right)^2}$が成り立つことを示します。この式の右辺に求めた値を代入して$\sqrt{2}-1$になることを見ます。
sqrt(1-(2*sqrt(k)/(k+1))^2);
%,k=sqrt(2)-1;
ratsimp(%);
二重根号を外す関数$sqrtdenest()$を使ってみましょう。
sqrtdenest(%);
これで$x_2=(\sqrt{2}-1)^2$が分かりました。