跳到主要内容

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

Author

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

Description

日本語版

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

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

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

s=(0110),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=u1e1u2e2ukek(4B)x=u_1^{e_1}u_2^{e_2}\cdots u_k^{e_k}\tag{4B}

ここで、k1k\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 に対して、detxy=detxdety\det xy=\det x\det y である。ここで、det\det は行列式を表す。

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

(2) 任意の整数 nn について、tn=(1n01)t^n=\begin{pmatrix}1&n\\0&1\end{pmatrix} であることを示し、この式を用いて、行列 (1n01)\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 と表されているとき、積 stnxst^{-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 に属するか否かを正しく判定し、特に xLx\in L であるときは、xx を式 (4B) の形式の有限積で記述する式を一つ出力する手続きを与えよ。その正当性も示すこと。

题目描述

本题矩阵均为可逆的 2×22\times2 方阵,元素均为整数时称整矩阵。对整数 eex0=Ix^0=Ixe=xe1xx^e=x^{e-1}x。令

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

LL 为所有能写成 u1e1ukeku_1^{e_1}\cdots u_k^{e_k} 的矩阵的集合,其中 k1,uj{s,t},ejZk\ge1,u_j\in\{s,t\},e_j\in\mathbb Z

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

Kai

(1)、(2)

s1=(0110),t1=(1101).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),(1n01)=s2tn.\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)

直接相乘得

stnx=(x21x22rx12nx22).\boxed{st^{-n}x=\begin{pmatrix}-x_{21}&-x_{22}\\r&x_{12}-nx_{22}\end{pmatrix}}.

(4)

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

  • c=0c=0,则 a=d=1a=d=1a=d=1a=d=-1,分别输出 tbt^bs2tbs^2t^{-b}
  • c0c\ne0,选择整数 n,rn,r,使 a=nc+ra=nc+r0r<c0\le r<|c|。对 x=stnxx'=st^{-n}x 递归,得到其乘积表示 WW,输出 tns1Wt^ns^{-1}W

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

x=tns1x=tns1W.x=t^ns^{-1}x'=t^ns^{-1}W.

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