跳到主要内容

東北大学 工学研究科 電気・情報系 2017年8月実施 基礎科目 問題4 情報基礎2

Author​

祭音Myyura (co-authored with GPT 5.6 SOL)

Description​

日本語版​

本問では、行列と言えば 2 次正則行列を指し、特に整数行列と言えば、そのような行列のうち全ての成分が整数であるものを指す。任意の行列 xx と整数 ee に対して、

xe={1(単位行列)(e=0)xe−1x(e≠0)(4A)x^e=\begin{cases}1\text{(単位行列)}&(e=0)\\x^{e-1}x&(e\ne0)\end{cases}\tag{4A}

であるとする。s,ts,t をそれぞれ次の整数行列

s=(0−110),t=(1101)s=\begin{pmatrix}0&-1\\1&0\end{pmatrix},\qquad t=\begin{pmatrix}1&1\\0&1\end{pmatrix}

とし、次の式 (4B) の形式の有限積で表すことができる全ての行列 xx から成る集合を LL とする。

x=u1e1u2e2⋯ukek(4B)x=u_1^{e_1}u_2^{e_2}\cdots u_k^{e_k}\tag{4B}

ここで、k≥1k\ge1 であり、u1,u2,…,uk∈{s,t}u_1,u_2,\ldots,u_k\in\{s,t\}、e1,e2,…,eke_1,e_2,\ldots,e_k は整数である。このとき、以下の問に答えよ。もし必要ならば、次の事実 (4C) は証明なしに用いてもよい。

(4C) 任意の 2 つの行列 x,yx,y に対して、det⁡xy=det⁡xdet⁡y\det xy=\det x\det y である。ここで、det⁡\det は行列式を表す。

(1) 集合 LL に属する任意の行列 xx は、det⁡x=1\det x=1 を満たす整数行列であることを示せ。

(2) 任意の整数 nn について、tn=(1n01)t^n=\begin{pmatrix}1&n\\0&1\end{pmatrix} であることを示し、この式を用いて、行列 (−1n0−1)\begin{pmatrix}-1&n\\0&-1\end{pmatrix} を式 (4B) の形式の有限積で表せ。

(3) x=(x11x12x21x22)x=\begin{pmatrix}x_{11}&x_{12}\\x_{21}&x_{22}\end{pmatrix} を整数行列とする。x11x_{11} が整数 n,rn,r を用いて x11=nx21+rx_{11}=nx_{21}+r と表されているとき、積 st−nxst^{-n}x を計算して得られる行列を、n,rn,r および x12,x21,x22x_{12},x_{21},x_{22} を用いた式で表せ。

(4) 問 (1)–問 (3) の結果を利用して、任意に与えられた整数行列 x=(x11x12x21x22)x=\begin{pmatrix}x_{11}&x_{12}\\x_{21}&x_{22}\end{pmatrix} に対して、絶対値 ∣x21∣|x_{21}| に関する再帰処理を用いて、xx が集合 LL に属するか否かを正しく判定し、特に x∈Lx\in L であるときは、xx を式 (4B) の形式の有限積で記述する式を一つ出力する手続きを与えよ。その正当性も示すこと。

题目描述​

本题矩阵均为可逆的 2×22\times2 方阵,元素均为整数时称整矩阵。对整数 ee,x0=Ix^0=I,xe=xe−1xx^e=x^{e-1}x。令

s=(0−110),t=(1101),s=\begin{pmatrix}0&-1\\1&0\end{pmatrix},\qquad t=\begin{pmatrix}1&1\\0&1\end{pmatrix},

LL 为所有能写成 u1e1⋯ukeku_1^{e_1}\cdots u_k^{e_k} 的矩阵的集合,其中 k≥1,uj∈{s,t},ej∈Zk\ge1,u_j\in\{s,t\},e_j\in\mathbb Z。

  1. 证明 x∈Lx\in L 时 xx 为整矩阵且 det⁡x=1\det x=1。
  2. 证明 tn=(1n01)t^n=\begin{pmatrix}1&n\\0&1\end{pmatrix}(n∈Zn\in\mathbb Z),并用 s,ts,t 的幂乘积表示 (−1n0−1)\begin{pmatrix}-1&n\\0&-1\end{pmatrix}。
  3. 设 x=(xij)x=(x_{ij}) 为整矩阵且 x11=nx21+rx_{11}=nx_{21}+r,求 st−nxst^{-n}x。
  4. 给出对任意整矩阵判定其是否属于 LL 的正确算法;对 ∣x21∣|x_{21}| 递归,若属于 LL 则输出一个上述乘积表示,并证明正确性。

Kai​

(1)、(2)​

s−1=(01−10),t−1=(1−101).s^{-1}=\begin{pmatrix}0&1\\-1&0\end{pmatrix},\qquad t^{-1}=\begin{pmatrix}1&-1\\0&1\end{pmatrix}.

s,ts,t 及其逆矩阵均为整矩阵、行列式均为 11,故任意整数幂乘积也如此。

对正负整数分别归纳可得

tn=(1n01),(−1n0−1)=s2t−n.\boxed{t^n=\begin{pmatrix}1&n\\0&1\end{pmatrix}},\qquad \boxed{\begin{pmatrix}-1&n\\0&-1\end{pmatrix}=s^2t^{-n}}.

(3)​

直接相乘得

st−nx=(−x21−x22rx12−nx22).\boxed{st^{-n}x=\begin{pmatrix}-x_{21}&-x_{22}\\r&x_{12}-nx_{22}\end{pmatrix}}.

(4)​

先检验 det⁡x\det x。若不是 11,由 (1) 判定不属于 LL。以下设 x=(abcd)x=\begin{pmatrix}a&b\\c&d\end{pmatrix} 且 ad−bc=1ad-bc=1。

  • 若 c=0c=0,则 a=d=1a=d=1 或 a=d=−1a=d=-1,分别输出 tbt^b 或 s2t−bs^2t^{-b}。
  • 若 c≠0c\ne0,选择整数 n,rn,r,使 a=nc+ra=nc+r 且 0≤r<∣c∣0\le r<|c|。对 x′=st−nxx'=st^{-n}x 递归,得到其乘积表示 WW,输出 tns−1Wt^ns^{-1}W。

每步均保持整性与行列式 11,且下一步左下元素绝对值为 r<∣c∣r<|c|,故必终止。基例正确;若递归输出满足 x′=Wx'=W,则

x=tns−1x′=tns−1W.x=t^ns^{-1}x'=t^ns^{-1}W.

因此算法正确,同时证明 L=SL(2,Z)\boxed{L=\mathrm{SL}(2,\mathbb Z)}。