2次曲線とパラメータ空間について

この記事は、[Supershipグループ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/supership)の2日目の記事になります。

記事概要: 2次曲線という素朴な対象について線形代数を使って幾何学的性質を取り出し、2次曲線をちょっと違った側面から眺めてみようと思います。

誰向け： 数学、特に幾何学が好きな人

前提知識: 高校数学程度の2次曲線（円や楕円や双曲線の式等）、線形代数を知っている方向けになります。

この記事を書いた人: 
数学をやっていました(2017博士取得)。好きなことは幾何学と整数論です。業務では研究開発業務を主にやっています。
Supershipグループの多様性のアピールになればと思い今回は純粋数学の記事を書きました。


# イントロ
2次曲線というものは平面内の

```math
ax^2 + 2bxy + cy^2 + 2dx + 2ey + f = 0
```

という式で表される曲線です。ここで $a,b,c,d,e,f$ は全て定数です。
2倍と付いてるのは $b' = b/2$ とおけば消えるので、あまり本質的ではないため気にしないでください。
さらに、2次曲線と限定して考えるため、 $a, c$ は $0$ ではないと仮定します。

高校で習う2次曲線の例は

```math
x^2 + y^2 - f = 0, \quad x^2 - y^2 - f = 0
```
などの円（楕円）や双曲線などが該当します。

また、 

```math
(y-x)(y+x) = 0, \quad (y-x)^2 = 0
```

のように1次式の積に因数分解できる場合は２つの直線を表すことになるので、このような2次曲線は除外して考えることにします（このような2次曲線を退化2次曲線といいます）。

さて、我々の興味は非退化2次曲線（双曲線や楕円など"普通"の2次曲線）です。
非退化2次曲線はどれぐらい、どういう種類のものがあるのかをパラメータ空間の視点から見ていきます。
線形代数の教科書によくある固有値とか固有ベクトルを使って2次曲線を分類する手法とは異なるやり方をご紹介するのが今回の記事の目的です。

# 2次曲線の不変量

まず2次曲線を行列の形で表示すると

```math
\begin{pmatrix}
x & y & 1
\end{pmatrix}
A
\begin{pmatrix}
x \\
y \\
1
\end{pmatrix}
= 0, 
\quad A = 
\begin{pmatrix}
a & b & c \\
b & c & e \\
d & e & f \\
\end{pmatrix}
```

となります。
非退化2次曲線は回転、平行移動を施しても非退化2次曲線です。
これらの作用を施しても不変なものを考えてみましょう。

まず計算しやすいように回転、平行移動を行列で表示してみます。
比較的簡単な平行移動ですが、

```math
S = \begin{pmatrix}
1 & 0 & l \\
0 & 1 & m \\
0 & 0 & 1 \\
\end{pmatrix}
```
という行列を用いて

```math
A \mapsto \ ^tS A S
```
という変換で表すことができます。
もっと地に足を付けた説明をすると、

```math
\begin{pmatrix}
x & y & 1
\end{pmatrix}
A
\begin{pmatrix}
x \\
y \\
1
\end{pmatrix}
= 0
```

という2次曲線を $x$ 軸方向に $l$、 $y$ 軸方向に $m$ 平行移動すると

```math
\begin{pmatrix}
x & y & 1
\end{pmatrix}
^tS A S
\begin{pmatrix}
x \\
y \\
1
\end{pmatrix}
=0
```

という2次曲線に変換されます。
これは単純に式計算をして確認してもよいですが、

```math
\begin{pmatrix}
1 & 0 & l \\
0 & 1 & m \\
0 & 0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
x \\
y \\
1
\end{pmatrix}
= 
\begin{pmatrix}
x+l \\
y+m \\
1
\end{pmatrix}
```

と座標変換されることからも理解できるかと思います。

同様に回転は

```math
R = \begin{pmatrix}
p & q & 0 \\
-q & p & 0 \\
0 & 0 & 1 \\
\end{pmatrix},  \quad p^2 + q^2 = 1
```
という行列で変換されます（ $p, q$ はそれぞれ $\cos\theta, \sin \theta$ と理解すれば良いです）。

これらの操作をまとめて、回転や平行移動を繰り返し作用させた2次曲線を考えたいとします。
行列で表示することのメリットとして、回転や平行移動作用の合成は行列の積に対応するということがあります。
なんとなく頭の中にある平行移動や回転という移動する操作が行列 $R, S$ を掛け算しまくったものを計算すれば良いという単なる式計算に落とせます。便利ですね。

以上をまとめて、回転と平行移動とそれらの合成変換全体からなる集合を $G$ と表します。
$G$の元は

```math
X = \begin{pmatrix}
p & q & l \\
-q & p & m \\
0 & 0 & 1 \\
\end{pmatrix}, \quad p^2 + q^2 = 1
```

の形で与えられます（ $R, S$ を掛け算しまくったものは必ず $X$ の形になるということを言っています）。

これで線形代数的準備が整いました。
つまり、「2次曲線を回転、平行移動させても不変なものは何か？」という問が、「行列 $X$ を作用させても不変な $A$の性質は何か？」という問題に言い換えることができました。

この問題に対して、すぐ分かることとして、 $\det X = 1$ であるため、 $\det(A) = \det(^tX A X)$ が成立します。
つまり、「$A$ の行列式の値は、回転や平行移動を施しても変わらない」ということが分かります。
最初に決めた2次曲線の係数から行列を作って、行列式を求めると、回転とか平行移動しまくっても係数の行列式は不変であるって結構凄いと思いませんか？

また、 

```math
^tX A X =
\left(\begin{matrix}
ap^2 -2bpq + cq^2 & bp^2 +(a-c)pq -bq^2 &  * \\
b(p^2 -q^2) + (a-c)pq & cp^2 + 2bpq + aq^2 &  * \\
* & * & *
\end{matrix}\right)
```

と計算できます。この左上の2 $\times$ 2行列 $(^tX A X) '$ に着目します（左上の2 $\times$ 2行列を取る操作を便宜的に $'$ で表しました）。
このとき、

```math
\begin{eqnarray}
\text{tr} (^tX A X) ' &=& ap^2 -2bpq + cq^2 + cp^2 + 2bpq + aq^2 \\
 &=& a(p^2 + q^2) + c (p^2 + q^2) \\
 &=& a + c \\
 &=& \text{tr} A'
\end{eqnarray}
```
となり、左上の2 $\times$ 2行列はトレースで不変です。

また、

```math
\begin{eqnarray}
\det(^tX A X) ' &=& a c p^{4} + 2 a c p^{2} q^{2} + a c q^{4} - b^{2} p^{4} - 2 b^{2} p^{2} q^{2} - b^{2} q^{4} \\
 &=& ac(p^2 + q^2)^2 - b^2(p^2 + q^2)^2 \\
 &=& ac - b^2 \\
 &=& \det A'
\end{eqnarray}
```
となり、左上の2 $\times$ 2行列は行列式でも不変です。

以上のことから、2次曲線を平行移動、回転させても行列表示した際の行列Aについて、 $\det A$, $\det A'$, $\text{tr}A$が不変であることが分かりました。
これらの値が2次曲線が持つ真の姿を反映させた値ということになります。
2次曲線を人間に例えるとAさんが住む場所や年齢が変わっても利き手や性格が変わらないように不変な性質ってあると思うのですが、それです。
最初に2次曲線を1つ決めてしまえば回転とか平行移動させても $\det A$, $\det A'$, $\text{tr} A$ が不変。色々やったけど凄く綺麗にまとまりました。

# 2次曲線のパラメータ空間

ここまでは単に式変形だけで計算できたのですが、非退化性が抜けており、2つの直線などの場合も含まれています。
双曲線や楕円などの非退化2次曲線に限定する際は $\det A \neq 0$ という条件をつければクリアできます。
この事情から $\det A = D$ と表して判別式（discriminant）と呼んだりします。
また、ついでに 

```math
\begin{eqnarray}
T &=& \text{tr}A = a + c \\
E &=& \det A' = ac - b^2
\end{eqnarray}
```
と名前を付けておきます。

実は2次曲線の回転、平行移動に対する不変多項式は上の$D,T,E$（とその和積）で尽くされることが示せます。
つまり、他に不変多項式は（$D+E$とか$DE + TE$とか和積を除けば）ないよという意味です。

さらに定数倍という操作を考えます。 $I$ を単位行列とするとき、実数 $r \neq 0$ について $X = rI$ という操作で2次曲線は不変です（全ての係数を $r$ 倍するだけなので）。
しかしこのとき $D$, $T$, $E$ はそれぞれ $r^3$, $r^2$, $r$ 倍されて、ちょっと動いてしまいます。
$D$, $T$, $E$ は回転と平行移動に関しての不変量だったのに定数倍に対しては無力な不変量だったわけです。
これはちょっと困るので以下のやり方のように、割ったり、次数を調整したりしてうまい具合に変形してやります。
というわけで、非退化2次曲線に対する回転、平行移動、定数倍という作用に関する不変多項式として
$$
X=\frac{E^3}{D^2}, \  Y=\frac{ET}{D}, \  Z=\frac{T^3}{D}
$$
（とこれらの和積）が出てきます。ここで$D$が分母になっているのは $D \neq 0$ を表しており、 $E^3, D^2$ などは $r$ 倍の次数合わせになっています。うまい具合にできました。


さらに追い打ちをかけます。 $D \neq 0$ であるため、定数倍で調整して $D = 1$ としても良いです。
こうすることで $D$, $T$, $E$ という2次曲線の3つの不変量を2つに減らすことができます。
よって「非退化2次曲線(を回転移動と平行移動で同一視したもの)から $T$, $E$ という2次元のパラメータ空間が作れる」という結論まで導くことができました。

ここまでは「非退化2次曲線 $\to$ パラメータ空間」　という方向性だったのですが、当然逆も気になります。
平面上の点 $(E, T)$ を取ると2次曲線が分かるの？という議論です。

これを計算しようとすると、 $D=1$, $E=p$, $T=q$ という3つの式から2次曲線を決める6つのパラメータを求めることになるので、不定性が現れるわけですが回転や平行移動から来る不定性なので問題があるわけではありません。
適当に標準形を定めてあげることで一つの2次曲線を指定することが可能です。

ここからは私もフォローしていないのですが、ファクトとしてご紹介します。
パラメータ空間の点 $(E, T)$ の変化に応じて2次曲線が円、楕円、放物線、鋭角双曲線、直角双曲線、鈍角双曲線、虚数係数2次曲線などが順に現れてきます。
これらは円錐を平面でカットした際に現れる2次曲線と関連し、更に実は $(E, T)$ と2次曲線の離心率も関連していて幾何学的に面白い対象となっています。


このように何か知りたい対象の同形類が連続的なパラメータを持つ場合、パラメータ空間自身が幾何学的な性質を持つことがあったりなかったりします。
今回の場合は2次曲線の同形類という分かりやすい対象から2次元のパラメータ空間を取り出して、実はパラメータを連続的に移動すると、2次曲線も連続的に移動して様子が分かるよという話をしました。
もっと乱暴に言うと、**「2次曲線の真の姿は2次元平面の1つ点である」**とも言えます。

以上なかなか不思議な話ですがモジュライ空間という名前で数学の中では割と使われる手法だったりします（僕は詳しくない）。
なんだか勉強したことのまとめノートみたいになりましたが、個人的には線形代数的議論だけで2次曲線のモジュライ空間を知れるという点が面白かったです。

# 最後に宣伝
Supershipではプロダクト開発やサービス開発に関わる人を絶賛募集しております。
ご興味がある方は以下リンクよりご確認ください。
 [Supership株式会社 採用サイト](https://supership-hd.jp/recruit/)
是非ともよろしくお願いします。

# 参考文献
向井茂, モジュライ理論 I, 岩波書店, 2008.