現実と数学の区別が付かない

数学ネタのブログです

x²+y³ のb関数を手計算する

今日は b 関数というものの定義を紹介し,さらに x^2+y^3b 関数を手計算で求めてみます.

x^2+y^3 は擬斉次孤立特異点多項式と呼ばれるクラスに属する多項式で,b 関数は簡単に計算できることが知られています.詳しく知りたい人は次の本の第6章などを参照してください.www.iwanami.co.jp

b 関数

微分作用素

\mathbb{C}[\boldsymbol{x}]=\mathbb{C}[x_1,\dots,x_n]n 変数多項式環D_n=S\langle \partial_1,\dots,\partial_n\rangle多項式係数微分作用素の環とします.ただし,\partial_k=\cfrac{\partial}{\partial x_k}x_k に関する偏微分作用素です.

D_n の要素としての多項式 ff写像のことです.

D_n 内での \partial_kx_k の積である  \partial_k x_k は 「x_k 倍してから x_k偏微分する」という作用素で,関数 \varphi に作用させると,関数の積の微分法則により\begin{align} (\partial_k x_k)(\varphi)=\cfrac{\partial}{\partial x_k}(x_k \varphi)=\varphi+x_k\cfrac{\partial \varphi}{\partial x_k}=\left(1+x_k \partial_k\right)(\varphi) \end{align} となります.つまり,\begin{align}\partial_k x_k=1+x_k \partial_k\end{align}であり,x_k\partial_k の積は非可換で,D_n は非可換環です.

b 関数の定義

sD_n 上の不定元として,多項式  f\in \mathbb{C}[\boldsymbol{x}] の形式的なべき f^s を考えます.D_nf^s に形式的な微分として作用します:\begin{align} \partial_k (f^s) =s f_{x_k} f^{s-1}\end{align}ここで  f_{x_k}=\partial_k(f) であり,f^{s-1}=f^s/f です.

ある微分作用素 P(s)\in D_n[s] に対し\begin{align} b(s) f^s=P(s)(f^{s+1})\end{align}となる b(s)\in \mathbb{C}[s] 全体からなる \mathbb{C}[s] のイデアルの生成元を f b 関数と呼び,b_f(s) で表します.

b_f(s)\neq 0 であり,その根はすべて負の有理数であることが知られています. b 関数の選び方には定数倍の自由度がありますが,モニックという条件を付けると一意に定めることができます.

 b_f(s) f^s=P(s)(f^{s+1})s=-1 を代入すると \cfrac{b_f(-1)}{f}=P(-1)(1) となり,これが成り立つには b_f(-1)=0 である必要があります.よって b_f(s) は必ず s+1 で割り切れ,\begin{align}\tilde{b}_f(s)=\cfrac{b_f(s)}{s+1}\end{align}とおいて 被約 b 関数と呼びます.

形式的随伴作用素

 \displaystyle P=\sum_{\alpha =(\alpha_1,\dots,\alpha_n)\in \mathbb{Z}_{\ge 0}^n} a_{\alpha}(\boldsymbol{x}) \partial_1^{\alpha_1}\cdots\partial_n^{\alpha_n} に対し\begin{align} P^*
=\sum ({-}\partial_1)^{\alpha_1}\cdots({-}\partial_n)^{\alpha_n} a_{\alpha}(\boldsymbol{x}) \end{align}を P形式的随伴作用素と呼びます.例えば x_1\partial_1 の形式的随伴作用素は \begin{align}(x_1\partial_1)^*=(-\partial_1) x_1=-x_1\partial_1-1\end{align}です.

任意の P,Q\in D_n に対し \begin{align}(P^*)^*=P,~(P+Q)^*=P^*+Q^*,~(PQ)^*=Q^*P^*,~1^*=1\end{align}であり,随伴を取る写像D_n からその反対環 D_n^{\mathrm{op}} への環同型になっています.

なぜ P^*P の随伴と呼ぶかというと,次のようなことが成り立つからです.

\mathbb{R}^n で定義された無限階微分可能な関数 \varphi:\mathbb{R}^n\to\mathbb{R} で,任意の多項式係数微分作用素 P\in D_n に対し \lim_{|\boldsymbol{x}|\to\infty} P(\varphi(\boldsymbol{x}))=0 となる関数を急減少関数と呼びます.\varphi(x)=e^{-x_1^2-x_2^2-\dots-x_n^2} や,\{\boldsymbol{x}\in \mathbb{R}^n\mid \varphi(\boldsymbol{x})\neq 0\}有界となる無限階微分可能関数 \varphi(\boldsymbol{x}) などが急減少関数の例となります.

多項式 f(\boldsymbol{x})\in \mathbb{R}[\boldsymbol{x}] と急減少関数 \varphi(\boldsymbol{x}) に対し,\begin{align}\langle f, \varphi\rangle:=\int_{\mathbb{R}^n} f(x) \varphi(x) d\boldsymbol{x} \end{align}と書くことにします (気分としては「内積っぽいもの」です).繰り返し部分積分を使うことで任意の P\in D_n に対して,\begin{align} \langle P(f), \varphi\rangle=\langle f, P^*(\varphi)\rangle\end{align}が成り立つことが示せます.

n=1,~P=x^r\partial_x\in D_1 の場合を見てみましょう.部分積分より\begin{align}\langle P(f), \varphi\rangle&=\int_{-\infty}^\infty x^r\partial_x(f(x)) \cdot \varphi(x) dx=\int_{-\infty}^\infty f'(x)\cdot x^r\varphi(x)dx\\
&=[f(x)x^r\varphi(x)]_{-\infty}^\infty-\int_{-\infty}^\infty f(x)\cdot \partial_x(x^r\varphi(x))dx\\
&=\int_{-\infty}^\infty f(x)\cdot (-\partial_x)(x^r\varphi(x))\\
&=\langle f, P^*(\varphi)\rangle\end{align}が確かに成り立っています.

擬斉次孤立特異点多項式 (quasi-homogeneous isolated singularity polynomials) の b 関数

擬斉次孤立特異点多項式

w=(w_1,\dots,w_n) を正整数のベクトルとし,\mathbb{C}[\boldsymbol{x}]=\mathbb{C}[x_1,\dots,x_n] の次数付けを  \mathrm{deg}~ x_i =w_i で定めます.この次数付けに対して斉次な多項式擬斉次多項式または重み付き次数多項式と呼びます.

例えば,\mathbb{C}[x,y],~\mathrm{deg}~ x=3,~\mathrm{deg}~ y=2 の場合,x^2+y^3 は次数 6 の擬斉次多項式x^4+3x^2y^3-y^6 は次数 12 の擬斉次多項式です.

ここで \displaystyle Y=\sum_{k=1}^nw_k x_k \partial_k という微分作用素を導入します.Y(\boldsymbol{x}^\alpha)=(w\cdot \alpha)(\boldsymbol{x}^\alpha) であり, Y は単項式をその次数倍する微分作用素です.f\in \mathbb{C}[\boldsymbol{x}] を次数 d の擬斉次多項式とすると,Y(f)=df となるので \begin{align}X=\cfrac{1}{d}Y=\sum_{k=1}^n \cfrac{w_k}{d} x_k \partial_k \end{align}とおくと,\begin{align}X(f)=f \end{align}が成り立ちます.

f\in \mathbb{C}[\boldsymbol{x}] に対し,その偏微分  f_{x_k}:=\partial_k(f) で生成されるイデアル \begin{align}J_f:=\langle f_{x_1},\dots,f_{x_n}\rangle\end{align}をヤコビイデアルと呼び,剰余環 \begin{align}M(f):=\mathbb{C}[\boldsymbol{x}]/J_f\end{align}をミルナー代数と呼びます.

f を擬斉次多項式とすると,X(f)=f より f\in J_f であることが分かります.ミルナー代数 M(f)\mathbb{C} 上有限次元のとき,f擬斉次孤立特異点多項式と呼びます.これは超曲面 \{f=0\}特異点が原点のみであることと同値です.

擬斉次孤立特異点多項式b 関数

擬斉次孤立特異点多項式b 関数は次の定理で計算できます.

\mathbb{C}[\boldsymbol{x}]=\mathbb{C}[x_1,\dots,x_n] の次数付けを  \mathrm{deg}~ x_i =w_i>0 とし, f(\boldsymbol{x})\in \mathbb{C}[\boldsymbol{x}] を次数 d の擬斉次孤立特異点多項式\displaystyle X=\sum_{k=1}^n \cfrac{w_k}{d} x_k \partial_k とする.

このとき,被約 b 関数  \tilde{b}_f(s)X^*ミルナー代数 M(f) への作用の最小多項式である.

この定理についていくつかコメントをしておきます.まず,X の形式的随伴は\begin{align}X^*=\sum_{k=1}^n \cfrac{w_k}{d} (-\partial_k)x_k=\sum_{k=1}^n \cfrac{w_k}{d} ({-}x_k\partial_k{-}1)=-X-\cfrac{w_1+\cdots+w_n}{d} \end{align}であり,擬斉次多項式  g に対する作用は\begin{align}X^*(g)=-\cfrac{\mathrm{deg}~g+w_1+\cdots+w_n}{d} g\end{align}となります.つまり X^* は擬斉次多項式に対しては定数倍として作用します.

任意の J_f の元は f_{x_k} の単項式倍の線形和として書け,x^\alpha f_{x_k}X^* で定数倍されるだけなので, X^*(J_f) \subset J_f が成り立つことが分かります.よって X^*M(f) 上の線形作用素としてちゃんと定義されています.

M(f) も次数付き環で,その次数 j の成分を A_j で表すと,\mathbb{C} ベクトル空間としての直和分解 \begin{align}M(f)=\bigoplus_j A_j\end{align}が得られます.X^*A_j 上に  -\cfrac{j+w_1+\cdots+w_n}{d} 倍として作用するので, X^*M(f) への作用の最小多項式である \tilde{b}_f は \begin{align}\tilde{b}_f(s)=\prod_{A_j\neq \{0\}} \left(s+\cfrac{j+w_1+\cdots+w_n}{d}\right)\end{align}となります.b_f(s)=(s+1)\tilde{b}_f(s) なので,この定理は b 関数が 0 でなくその根がすべて負の有理数であるという定理の,擬斉次孤立特異点多項式という特別な場合の証明にもなっています.

また,可換環論の知識があれば b_f(s)w_1,\dots,w_n, \mathrm{deg}~f だけに依存して決まることが比較的簡単に分かります.

定理の証明の概略

b(s)\in \mathbb{C}[x] に関する条件\begin{align}\mbox{(条件★)}~~\exists P(s)\in D_n[s],~b(s)(s+1)f^s=P(s)(f^{s+1}) \end{align}を同値なものに書き換えていきます.(条件★) を満たす b(s) 全体からなるイデアルの生成元が被約 b 関数 \tilde{b}_f(s) です.

まず X(f)=f であったので, X(f^s)=sX(f)f^{s-1}=sf^s となり,Xf^{s}s 倍として作用します.また,X(f^{s+1})=(s+1)X(f)f^s=(s+1)f^{s+1} なので,(X-1)f^{s+1}=sf^{s+1} となり,X-1f^{s+1}s 倍として作用します.

よって P(s)=P_ms^m+P_{m-1}s^{m-1}+\dots+P_1s+P_0 \in D_n[s],~P_j\in D_n に対し,P(s) f^{s+1}=P(X-1)f^{s+1} が成り立ちます.ただし,

P_m (X-1)^m+P_{m-1}(X-1)^{m-1}+\dots+P_1(X-1)+P_0 \in D_n

です (D_n は非可換環なので「sX-1 を代入する」という操作を気軽に行えないことには注意しておいてください).よって (条件★) は\begin{align}\exists P\in D_n,~(s+1)b(s)f^s=P(f^{s+1}) \end{align}と書き換えることができます.

さて,(s+1)b(s)f^s=P(f^{s+1})s=-1 を代入すると 0=P(1) となるので,ある P_1,\dots,P_n\in D_n により P= P_1\partial_1+\dots+P_n\partial_n と書けます.このとき\begin{align}P(f^{s+1})=\sum_{k=1}^n P_k(\partial_k(f^{s+1}))=(s+1)\sum_{k=1}^n P_kf_{x_k}(f^s)\end{align}であり,(s+1)b(s)f^s=(s+1)\sum_{k=1}^n  P_kf_{x_k}(f^s) の両辺を s+1 で割ると \begin{align}b(s)f^s=\sum_{k=1}^n P_kf_{x_k}(f^s)\end{align}となります.微分作用素 \sum_{k=1}^n  P_kf_{x_k}J_f が生成する D_n の左イデアル D_nJ_f の元で,f^s に対する s 倍は X に置き換えてよかったので,結局 (条件★) は \begin{align}\exists Q\in D_n J_f,~~b(X) (f^s)=Q (f^s)\end{align} と同値になります.実はこの条件は\begin{align}b(X)\in D_nJ_f\end{align} と同値になることが証明できます(この部分が定理の証明で一番非自明な部分ですが,可換環論の準備が必要になるので詳細は省略します*1).さらに形式的随伴を取ることで,この条件は\begin{align}b(X^*)\in J_fD_n\end{align}と書き換えられます.形式的随伴により左イデアル D_nJ_f が右イデアル J_fD_n に変換されることに注意してください.

さて,これは \begin{align}\forall g\in \mathbb{C}[\boldsymbol{x}],~b(X^*)(g)\in J_f\end{align}と同値であることも簡単に分かります.\begin{align}b(X^*)\in J_fD_n \Rightarrow \forall g\in \mathbb{C}[\boldsymbol{x}],~ b(X^*)(g)\in J_f \end{align}は自明ですし, \Leftarrowb(X^*) を次数の低い単項式に作用させていくことで,階数が低い部分から帰納的に  J_fD_n に含まれることが分かります.

以上より (条件★) が成り立つことが,b(X^*)ミルナー代数 M(f) への作用が 0 であることと同値にであることが分かりました.

よって被約 b 関数 \tilde{b}_fX^*M(f) への作用の最小多項式です.

f(x,y)=x^2+y^3 の場合

\begin{align}
f(x,y)=x^2+y^3
\end{align}の場合の b 関数 b_f と,\begin{align}b_f(s)f^{s+1}=P(f^{s+1})\end{align}を満たす P\in D_2 を求めてみましょう.

偏微分\partial_x=\cfrac{\partial}{\partial x},\partial_y=\cfrac{\partial}{\partial y} で表します.

b 関数

まずは X とその形式的随伴を求めると,\begin{gather}
X=\cfrac{1}{2}x\partial_x +\frac{1}{3}y\partial_y\\
X^*=-\cfrac{1}{2}x\partial_x -\frac{1}{3}y\partial_y -\cfrac{5}{6}
\end{gather}となります.ミルナー代数は\begin{align}
M(f)=\mathbb{C}[x,y]/\langle f_x, f_y\rangle =\mathbb{C}[x,y]/\langle x, y^2\rangle \cong \mathbb{C}\oplus \mathbb{C}y
\end{align}であり,その基底 1,yX^* を作用させると
\begin{align}
X^*(1)=-\cfrac{5}{6},~ X^*(y)=-\frac{1}{3}y -\cfrac{5}{6}y=-\cfrac{7}{6}y
\end{align} なので, 1,yX^*固有ベクトルであり,その固有値はそれぞれ  -\cfrac{5}{6}, -\cfrac{7}{6} となっています.

よって X^*M(f) への作用の最小多項式\left(s+\cfrac{5}{6}\right)\left(s+\cfrac{7}{6}\right) となり,これが被約 b 関数です.以上より \begin{align}
b_f(s)=(s+1)\left(s+\cfrac{5}{6}\right)\left(s+\cfrac{7}{6}\right)
\end{align}であることが分かりました.

微分作用素の計算

 f=x^2+y^3 のときの b_f(s)f^s=P(f^{s+1}) を満たす微分作用素  P を求めます.
\begin{gather}
\tilde{b}_f(X^*)=\left\{\left(X+\cfrac{5}{6}\right)\left(X+\cfrac{7}{6}\right)\right\}^*=\left(X^*+\cfrac{7}{6}\right)\left(X^*+\cfrac{5}{6}\right)\\
=\left(-\cfrac{1}{2}x\partial_x -\frac{1}{3}y\partial_y +\cfrac{1}{3}\right)\left(-\cfrac{1}{2}x\partial_x -\frac{1}{3}y\partial_y\right)\\
=\cfrac{1}{4}x^2 \partial_x^2+\cfrac{1}{3}xy\partial_x \partial_y+\cfrac{1}{9}y^2 \partial_y^2+\cfrac{1}{12}x \partial_x\\
=\cfrac{1}{8}xf_x \partial_x^2+\cfrac{1}{6}yf_x\partial_x \partial_y+\cfrac{1}{27}f_y \partial_y^2+\cfrac{1}{24}f_x \partial_x
\end{gather}となります.この形式的随伴を取って \begin{gather}
\tilde{b}_f(X)=\left(X+\cfrac{5}{6}\right)\left(X+\cfrac{7}{6}\right)\\
=\cfrac{1}{8}\partial_x^2\cdot xf_x +\cfrac{1}{6}\partial_x \partial_y\cdot yf_x+\cfrac{1}{27} \partial_y^2\cdot f_y-\cfrac{1}{24}\partial_x\cdot f_x \\
=\cfrac{1}{8}(x\partial_x^2+2\partial_x)\cdot f_x +\cfrac{1}{6}(y\partial_x \partial_y+\partial_x)\cdot f_x+\cfrac{1}{27} \partial_y^2\cdot f_y-\cfrac{1}{24}\partial_x\cdot f_x
\end{gather}が得られますが,この式の f_x\partial_xf_y\partial_y に置き換えた微分作用素P とおく,すなわち \begin{gather}
P=\cfrac{1}{8}(x\partial_x^3+2\partial_x^2) +\cfrac{1}{6}(y\partial_x^2 \partial_y+\partial_x^2)+\cfrac{1}{27} \partial_y^3-\cfrac{1}{24}\partial_x^2\\
=\cfrac{1}{8}x\partial_x^3 + \cfrac{1}{6}y\partial_x^2 \partial_y + \cfrac{1}{27} \partial_y^3 +\cfrac{3}{8}\partial_x^2
\end{gather}とすると,P の作り方より\begin{gather}
P(f^{s+1})=(s+1)\left(X+\cfrac{5}{6}\right)\left(X+\cfrac{7}{6}\right)f^s=(s+1)\left(s+\cfrac{5}{6}\right)\left(s+\cfrac{7}{6}\right)f^s
\end{gather}が成り立ち,P が求めたい微分作用素であることが分かりました.

おまけ:Risa/Asir で計算

国産の数式処理ソフトである Risa/Asir で b 関数の計算をしてみましょう.Windows版は次のサイトからダウウンロードできます.
www.math.kobe-u.ac.jp
b 関数の計算をしてみましょう.

load("bfct")$ で b 関数を計算するためのパッケージを読み込んで,bfct(x^2+y^3) で  x^2+y^3b 関数を計算しています.
fctr() は因数分解のための関数で,@@は直前の出力を表すものです.つまり fctr(@@) で直前の計算結果を因数分解します.
先ほど計算した結果とちゃんと一致しています.

*1:f_{x_1},\dots,f_{x_n} が正則列であることと,正則列が linear type と呼ばれる性質を持つことを利用します.

ユークリッドの互除法

正整数 m,n の最大公約数(the greatest common divisor)を \mathrm{gcd}(m,n) で表します.\mathrm{gcd}(m,n) の計算方法として,ユークリッドの互除法がよく知られています.
ja.wikipedia.org

\mathrm{gcd}(m,n) に対しては,\begin{align}am+bn=\mathrm{gcd}(m,n)\end{align}となる整数 a,b が存在します(上記Wikipediaの「拡張された互除法」の項を参照).また,m,n は共に \mathrm{gcd}(m,n) の倍数なので,\begin{align}m=k\cdot \mathrm{gcd}(m,n),~~n=\ell\cdot\mathrm{gcd}(m,n)\end{align}となる自然数 k,\ell が存在します.ユークリッドの互除法を利用して \cfrac{n}{m}=\cfrac{\ell}{k} と約分を計算することが出来ますが,一旦 \mathrm{gcd}(m,n) を計算して,それから  m,n\mathrm{gcd}(m,n) で割り算をするのは結構面倒に感じることがあります.

今回紹介するのは,ユークリッドの互除法の計算を一工夫することで上記の\begin{align}\mathrm{gcd}(m,n),a,b,k,\ell\end{align} を一度に全部に計算する方法です.

ユークリッドの互除法イデアルの生成系の書き換え

正整数 m,n に対するユークリッドの互除法は,数列 a_i
\begin{align}
\left\{
\begin{array}{l}
a_1=m,~ a_2=n,\\
a_{i+2}=(\mbox{$a_{i+1},~a_i$ の大きい方を小さい方で割った余り})
\end{array}
\right.
\end{align}と定義し,初めて 0 となる直前の a_i\mathrm{gcd}(m,n) となるというものですが,この記事では次のように定義します.

正整数のペア m,n から始め,大きい方の数を「大きい方の数を,小さい方の数で割った余り」に取り換えるという操作を,片方が 0 になるまで繰り返す.

例えば 455,663 の場合は\begin{align}
455,663 \longrightarrow 455,208 \longrightarrow 39, 208 \longrightarrow 39, 13 \longrightarrow 0,13
\end{align}といった具合で,\mathrm{gcd}(455,663)=13 が求まります.

同じ数を2回書くので表記としては冗長ですが,ユークリッドの互除法を「イデアルの生成系の書き換え」と解釈するとこのように書くことが妥当に思えます.

可換環 R に対し,a_1,\dots,a_r\in R が生成するイデアルを \begin{align} \langle a_1,\dots,a_r\rangle=\{a_1x_1+\dots+a_rx_r \mid x_1,\dots,x_r \in R\}\end{align}と書くことにします.任意の  a,b,q\in R に対し \begin{align}\langle a,b\rangle=\langle a, b-aq\rangle \end{align}であることが簡単に証明できます.このことから,ユークリッドの互除法の計算過程に現れる数のペアが生成する有理整数環 \mathbb{Z}イデアルは変わらないことが分かります.先ほどの 455,663 を例に取ると\begin{align}
\langle 455,663\rangle = \langle 455,208 \rangle= \langle 39, 208 \rangle = \langle 39, 13 \rangle = \langle 13 \rangle
\end{align}となります.

これをちゃんと理解すると,ユークリッドの互除法の計算過程で正の数こだわる必要はなく,負の数を使ってもいいことが分かります.例えば
\begin{align}\langle 102,531\rangle=\langle 102,21\rangle=\langle -3,21\rangle=\langle 3\rangle\end{align}より \mathrm{gcd}(102,531)=3 というように計算できます.

また,\mathrm{gcd}(m,n)\in\langle m,n\rangle なので am+bn=\mathrm{gcd}(m,n) となる整数 a,b が存在することも自然に分かります.

アルゴリズム

\mathrm{gcd}(m,n)
\begin{gather}am+bn=\mathrm{gcd}(m,n)\\
m=k\cdot \mathrm{gcd}(m,n),~~n=\ell\cdot\mathrm{gcd}(m,n)
\end{gather}を満たす a,b,k,\ell を一度に全て計算する方法を紹介しましょう.

方法自体は単純で 
\left[
\begin{array}{c:cc}
m & 1 & 0\\
n & 0 & 1
\end{array}
\right] という行列を用意して,第1列だけ見るとユークリッドの互除法になるように行基本変形していくだけです.

まず具体例を見てみます.455663 の場合,


\left[
\begin{array}{c:cc}
455 & 1 & 0\\
663 & 0 & 1
\end{array}
\right]
\xrightarrow{\mbox{第2行から第1行の1倍を引く}}
\left[
\begin{array}{c:cc}
445 & 1 & 0\\
208 & -1 & 1
\end{array}
\right]

\hspace{36mm}
\xrightarrow{\mbox{第1行から第2行の2倍を引く}}
\left[
\begin{array}{c:cc}
39 & 3 & -2\\
208 & -1 & 1
\end{array}
\right]

\hspace{36mm}
\xrightarrow{\mbox{第2行から第1行の5倍を引く}}
\left[
\begin{array}{c:cc}
39 & 3 & -2\\
13 & -16 & 11
\end{array}
\right]

\hspace{36mm}
\xrightarrow{\mbox{第1行から第2行の3倍を引く}}
\left[
\begin{array}{c:cc}
0 & 51 & -35\\
13 & -16 & 11
\end{array}
\right]
この計算結果から,455663 の最大公約数は 13 で,


\left[
\begin{array}{cc}
51 & - 35 \\
{-}16 & 11
\end{array}
\right]
\left[
\begin{array}{c}
455\\
663
\end{array}
\right]
=
\left[
\begin{array}{c}
0\\
13
\end{array}
\right]

であることが分かります (ガウスの消去法で逆行列を計算する方法と同じ考え方です).行列の第2行目  \left[-16,11\right] から
\begin{align}
(-16)\cdot 455+11\cdot 663=13
\end{align}であることが分かり,行列の第1列目  \left[51,-35\right] から,455, 663 がそれぞれ最大公約数 13 の何倍であるかの情報
\begin{align}
455=13\times35,~~ 663=13\times 51
\end{align}が得られます.

定理の形にまとめておきます.

m,n を正整数とする.
\left[
\begin{array}{c:cc}
m & 1 & 0\\
n & 0 & 1
\end{array}
\right] を,第1列だけ見るとユークリッドの互除法になるように行基本変形をすると,


\left[
\begin{array}{c:cc}
g & a & b\\
0 & c & d
\end{array}
\right] または 
\left[
\begin{array}{c:cc}
0 & c & d\\
g & a & b
\end{array}
\right]

という形の行列になる(g>0,a,b,c,d は整数).このとき mn の最大公約数は g であり \begin{gather}
a m+b n=g\\
m=|d| \cdot g,~~ n=|c|\cdot g
\end{gather}が成り立つ.

一応証明しておきましょう.

\mathrm{gcd}(m,n)=g であることはユークリッドの互除法で最大公約数が求まることから分かります.第1列だけ見るとユークリッドの互除法になるように行基本変形をしていくということは,左から 
\left[
\begin{array}{cc}
1 & -q\\
0 & 1
\end{array}
\right]
または 
\left[
\begin{array}{cc}
1 & 0\\
{-}q & 1
\end{array}
\right]
という形の基本行列 (ただし q は正整数) を掛けていくということです.いずれの場合も同様なので,最終的に 
\left[
\begin{array}{c:cc}
g & a & b\\
0 & c & d
\end{array}
\right] となる場合だけを考えます.第2,3列からなる2次正方行列 
\left[
\begin{array}{cc}
 a & b\\
 c & d
\end{array}
\right] は,初期状態が単位行列で,それに変形過程の行基本変形に対応する基本行列が左からかけられていったものなので,それらの基本行列の積になっています.
つまり, 
\left[
\begin{array}{c:cc}
m & 1 & 0\\
n & 0 & 1
\end{array}
\right] に左から 
\left[
\begin{array}{cc}
 a & b\\
 c & d
\end{array}
\right] を掛けると 
\left[
\begin{array}{c:cc}
g & a & b\\
0 & c & d
\end{array}
\right] となるということです.

特に 
\left[
\begin{array}{cc}
 a & b\\
 c & d
\end{array}
\right]
\left[
\begin{array}{c}
m\\
n
\end{array}
\right]
=
\left[
\begin{array}{c}
g\\
0
\end{array}
\right] が成り立ちます.よって am+bn=g です.

また,cm+dn=0 が成り立っていますが,これは  (c,d) が syzygy加群\begin{align}
\mathrm{Syz}(m,n):=\{(r_1,r_2)\in \mathbb{Z}^2\mid r_1m+r_2n=0\}
\end{align}の元であることを示しています.syzygy加群 \mathrm{Syz}(m,n)\left(\frac{n}{g},-\frac{m}{g}\right) で生成されます.このことから,\mathrm{Syz}(m,n) の元 (r_1,r_2) \mathrm{gcd}(|r_1|,|r_2|)=1 を満たすものは \mathrm{Syz}(m,n) の生成元である  \pm \left(\frac{n}{g},-\frac{m}{g}\right) しかないことが分かります.

一方で 
\left[
\begin{array}{cc}
 a & b\\
 c & d
\end{array}
\right]行列式 1 である行列の積なので,この行列自身の行列式1 です.よって 
\begin{align}
\mathrm{det}
\left[
\begin{array}{cc}
 a & b\\
 c & d
\end{array}
\right]=ad-bc=1
\end{align} となります.これは  \mathrm{gcd}(|c|,|d|)=1 であることを示しています.よって  (c,d)\mathrm{Syz}(m,n) の生成元であり,|c|=\frac{n}{g}, |d|=\frac{m}{g} が成り立ちます.つまり m=|d| \cdot g,~~ n=|c|\cdot g となります.

応用

約分

第184回 数学検定 1級 1次:計算技能検定で出題された問題を解いてみましょう.
http://amateurmath.web.fc2.com/files/184-1-1.pdf

次の分数は約分できますか。できるならば、約分してもっとも簡単な分数で表し、できないならば「約分できない」と答えなさい。
\begin{align}\frac{10033}{12877}\end{align}

行基本変形
\left[
\begin{array}{c:cc}
10033 & 1 & 0\\
12877 & 0 & 1
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
10033 & 1 & 0\\
2844 & -1 & 1
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
1501 & 4 & -3\\
2844 & -1 & 1
\end{array}
\right]


\to
\left[
\begin{array}{c:cc}
1501 & 4 & -3\\
1343 & -5 & 4
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
158 & 9 & -7\\
1343 & -5 & 4
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
158 & 9 & -7\\
79 & -77 & 60
\end{array}
\right]


\to
\left[
\begin{array}{c:cc}
0 & 163 & -127\\
79 & -77 & 60
\end{array}
\right]
より, \begin{align}\frac{10033}{12877}=\frac{127}{163} \end{align}

合同式での乗法逆元

第372回 数学検定 1級 1次:計算技能検定で出題された問題を解いてみましょう.
http://amateurmath.web.fc2.com/files/372-1-1.pdf

次の合同方程式の解のうち、0 \le x < 79 を満たす整数 x を求めなさい。\begin{align}
65x \equiv 3 ~(\mathrm{mod} ~79)\end{align}

行基本変形
\left[
\begin{array}{c:cc}
65 & 1 & 0\\
79 & 0 & 1
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
65 & 1 & 0\\
14 & -1 & 1
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
{-}5 & 6 & -5\\
14 & -1 & 1
\end{array}
\right]


\to
\left[
\begin{array}{c:cc}
{-}5 & 6 & -5\\
{-}1 & 17 & -14
\end{array}
\right]
\to
\left[
\begin{array}{c:cc}
{-}5 & 6 & -5\\
1 & -17 & 14
\end{array}
\right]
より  (-17)\cdot 65 \equiv 1 ~(\mathrm{mod} ~79) .\begin{align}
65x &\equiv 3 ~&(\mathrm{mod} ~79)\\
(-17)\cdot65x &\equiv (-17)\cdot3 ~&(\mathrm{mod} ~79)\\
x &\equiv -51 ~&(\mathrm{mod} ~79)\\
x &\equiv 28 ~&(\mathrm{mod} ~79)
\end{align}なので,条件を満たすものは x=28.

巨大ブラックホールめっちゃ軽い

2年前、史上初めてブラックホールが撮影されたというニュースがありました。
www.itmedia.co.jp

観測したブラックホールおとめ座銀河団楕円銀河M87の中心に位置する巨大ブラックホール。地球から約5500万光年の彼方(かなた)にあり、質量は太陽の約65億倍だという。

ブラックホールの影の直径は約1000億キロメートルで、ブラックホールの表面といえる「事象の地平面」(イベント・ホライズン)の直径は約400億キロメートル。

とのことなので、単純に直径が400億キロメートルで質量が太陽の約65億倍の球体と思って、平均の密度を計算してみます。

太陽の質量の65億倍がどれくらいかWolframAlphaさんに聞いてみると  1.292×10^{40} \rm{kg} らしいです。
(太陽の質量)*65億 - Wolfram|Alpha
直径400億キロメートルの球の体積は  3.351×10^{40} \rm{m}^3 となります。
直径400億キロメートルの球の体積 - Wolfram|Alpha

なので撮影されたブラックホールの平均の密度を単純に計算してみると\begin{align}\frac{1.292×10^{40}}{3.351×10^{40}}=0.3856 ~\rm{kg/m^3}\end{align}となります。空気の密度が 1.25~\rm{kg/m^3} くらいなのでけっこう小さな値です。