ラスクのMathematics for Everyone!

数学が得意な人もそうでない人もちょっとだけ楽しめるようなブログです。

微分加群!~その定義と応用~

皆さん、こんにちは。ラスクです。

この記事は日曜数学 Advent Calendar 2019 - Adventarの17日目の記事です。
adventar.org

昨日は、はるさんの「結婚式→Riesz の表現定理→bra-ket 記法」でした。
haru-negami.hatenablog.com


せっかくのアドカレですので、自分は専門に近い「微分加群」について話したいと思います。
この概念はあまり広くは知られていませんが、知ってみると面白いことがいろいろと出てくるので、今回はその雰囲気だけでも知っていただければと思います。
少々、長めですが予備知識としては「線形代数」と簡単な「可換環論」のみですので、ぜひ最後まで読んでみてください!

では、始めます。

微分加群

微分環と微分加群

まず微分環および微分体の定義をしましょう。

定義
R可換環とする。d:R\rightarrow Rが以下の条件を満たすとき、Rにおける微分(または導分)という。
(1)dは加法的、つまりアーベル群の準同型である。
(2)任意のa,b\in Rに対して\begin{align}d(ab)=d(a)b+ad(b)\end{align}が成り立つ(ライプニッツ則)。
Rとその微分の組(R,d)微分という。
またRが体であるとき、(R,d)微分という。

微分環とはその名の通り、環に微分構造を付加したようなものということですね。
抽象的な数学において微分とは、加法的かつ、何らかの意味のライプニッツ則を満たすような写像のことを指すことが多いですが、ここでもそのように定めています。

この記事では今後dと書いたら微分環(または体)における微分を表すことにし、単にR微分環などということにします。


次に、微分環上の微分加群を定義しましょう。

定義
R微分環、MR-加群とする。このときD:M\rightarrow Mが以下の条件を満たすとき、Mにおける微分(または導分)という。
(1)Dは加法的、つまりアーベル群の準同型である。
(2)任意のa\in R,m\in Mに対して\begin{align}D(am)=d(a)m+aD(m)\end{align}が成り立つ(ライプニッツ則)。
Mとその微分の組(M,D)R上の微分加群という。

こちらもほぼ同様の定義ですが、(2)の条件はスカラー倍に対してのライプニッツ則を述べていることに注意しましょう。
当然のことですが、Rが体のときはMはベクトル空間となります。この場合、(M,D)微分ベクトル空間とでも呼ぶべきかもしれませんが、あまり一般的な名称ではないようなので、気にせず微分加群と呼んでしまうことにします。
(後半では主に微分体上の微分加群を考えます。)

先ほどと同様Dと書いたら微分加群における微分を表すことにし、単にMR上の微分加群ということにします。


\mathbb{C}(t)(複素係数の有理関数体)は通常の微分d=\frac{d}{dt}に関して微分体をなす。
そして\mathbb{C}(t)上の加群(\mathbb{C}(t))^3はその成分ごとの微分により微分加群をなす。
このようなものは自明な微分加群と言われ、非常に単純な構造を持っています。より一般の微分加群の定め方については次の項目を参照してください。

また、\mathbb{C}(t)d=t\frac{d}{dt}などに関しても微分体をなす。

微分の行列表示

ベクトル空間上の線形写像(変換)が与えられたとき、何か一つ基底を固定すれば、その行列表示(表現行列)が定まりました。そうすることで、線型写像を行列の演算として具体的に表すことができたのでした。
微分環上の微分加群についても同じようなことができます。

定義
R微分環、MR上の微分加群とする。いまMR上有限生成かつ自由であるとする*1
このとき、MR上のある基底e_1,\ldots,e_nに対して、Dの表現行列A=(A_{ij})_{1\le i,j\le n}\in M_n(R)を以下の式で定める。\begin{align}D(e_j)=\sum_{i=1}^nA_{ij}e_i\tag{1}\end{align}つまりAは\begin{align}(D(e_1),\ldots,D(e_n))=(e_1,\ldots,e_n)A\end{align}を満たすような行列である。

この定義は、線型写像の表現行列と全く同様なので特に疑問はないかとおもいます。
線型写像の場合、ベクトル空間の元を(基底をとって)列ベクトルと同一視したとき、その行き先はAを左からかけるという操作によって与えられました。

ではDのときはどうでしょうか?

Mの元mを基底e_1,\ldots,e_nを用いて\begin{align}m=c_1e_1+\ldots+c_ne_n\ (c_i\in R)\end{align}と表します。Dの表現行列Aを用いて、D(m)を計算すると\begin{align}D(m)&=d(c_1)e_1+\ldots+d(c_n)e_n+c_1D(e_1)+c_nD(e_n)\\&=d(c_1)e_1+\ldots+d(c_n)e_n+c_1\sum_{i=1}^nA_{i,1}e_i+\ldots+c_n\sum_{i=1}^nA_{in}e_i\\&=\sum_{i=1}(\sum_{j=1}^nA_{ij}c_j+d(c_i))e_i\end{align}となります。
ここで、一つ目の等号はDの加法性とライプニッツ則、二つ目の等号は(1)式を使っています。
これによりD(m)e_1,\ldots,e_nによる表示ができました。つまり、mを列ベクトル(c_1,\ldots,c_n)^Tと同一視すればD(m)
\begin{align}D(m)=A \left(
    \begin{array}{c}
      c_1 \\
      c_2 \\
      \vdots \\
      c_n
    \end{array}
  \right)+ d\left(
    \begin{array}{c}
      c_1 \\
      c_2 \\
      \vdots \\
      c_n
    \end{array}
  \right)
\end{align}とかけます。(二項目は成分ごとにdを作用させたものを表しています。)
こうしてみるとライプニッツ則の様子がよくわかりますね!


行列がかけられている左側の部分はいうなればD線形部分で、そこに右側のdが作用している部分が足されているわけです。

このようにして微分Dから行列表示をえましたが、逆に行列を与えれば、それに応じたDを定めることもできます。
これでDの作用についても行列の言葉で書けることがわかりました。

すると今度は「表現行列を簡単にするように基底を取ることができるか?」という自然な疑問が湧きます。そのような問題に関する事柄を後半でご紹介したいと思います。

ちなみに、線形代数では上の疑問に対する一種の答えとして、「ジョルダン標準形」という理論がありました。実は微分加群に対しても似たようなことが成り立つ状況があるのですが、それを紹介するのは非常に骨が折れますので今回は止めることにします。

双対微分加群

ここで次の節に行く前にもう一つだけ準備をします。

一般のR-加群Mに対してはその双対M^*というものが考えられました。
これはMからRへのR線型写像のなす集合Hom_R(M,R)に通常の和とスカラー倍が定義された加群です。
そしてM微分加群の時には、その双対M^*にも微分の構造を入れることができます。

定義
R微分環、MR上の微分加群とする。このとき以下によってD^*:M^*\rightarrow M^*を定義する;\begin{align}D^*(f)(m)=d(f(m))-f(D(m))\ (f\in M^*=Hom_R(M,R),m\in M)\end{align}するとD^*M^*上の微分となり、(M^*,D^*)R上の微分加群をなす。
これをM双対微分加群と呼ぶ。

上の定義でD^*が本当にM^*上の微分になってるか(つまり加法的で、ライプニッツ則を満たすか)というのは確認するべきですが、難しくないので省略をいたします。
今後、M^*には常に上で定めた微分D^*が入っていることにし、単にMの双対微分加群M^*などと呼ぶことにします。


次に微分加群の双対を取ることによって、その行列表示がどのように変わるかを見ていきます。

まずR上の微分加群Mの基底e_1,\ldots,e_nを一つ固定します。
するとM^*上にはその双対基底e_1^*,\ldots,e_n^*が存在するのでした。これは以下の式で定まるようなM^*の元です。
\begin{align}e_i^*(e_j)=\begin{cases}
1\ (i=j) \\
0\ (i\neq j)
\end{cases}\end{align}
では、e_1,\ldots,e_nに関するDの表現行列がAのときにe_1^*,\ldots,e_n^*に関するD^*の表現行列はどうなるでしょうか?少し想像すればわかるかもしませんが、結論としては-A^Tとなります。


簡単に理由を説明しましょう。D^*(e_j^*)=B_{1j}e_1^*+\ldots+B_{nj}e_n^*と表されていたとすると、双対基底の定義および、(2)式から
\begin{align}B_{ij}=D^*(e_j^*)(e_i)&=d(e_j^*(e_i))-e_j^*(D(e_i))\\
&=-e_j^*(A_{1i}e_1+\ldots+A_{ni}e_n)\\
&=-A_{ji}\end{align}となります。よって確かにD^*の表現行列B-A^Tと等しいことがわかりますね。


上の説明がよくわからなかった人は、とにかく「双対をとったら表現行列は転置のマイナスになる」とだけ覚えておいてください。
このことは非常に重要で本記事の最後に使います。


twisted polynomialと巡回ベクトル

ベクトル空間とその上の線形変換

F上のベクトル空間Vとその上の線形変換fが与えられた時、多項式環F[T]からVへの作用が以下のように定まります。
\begin{align}F[T]\times V&\longrightarrow V\\
(P(T),v)&\mapsto P(f)(v)=P_mf^m(v)+\ldots+P_1f(v)+P_0v\end{align}(ただしP(T)=P_mT^m+\ldots+P_0とする。)

このときI=\{P\in F[T]\ |\ P(f)(v)=0(\forall v\in V)\}という集合はF[T]イデアルをなし、F[T]が単項イデアル整域であることからあるモニックな多項式P\in F[T]が存在し、I=F[T] Pとなります。

このようなPfの最小多項式と言いました。一般にfの最小多項式fの特性多項式の約数となります。
ここでもし、あるv\in Vが存在して、v,f(v),\ldots,f^{n-1}(v)Vの基底をなすとすると、最小多項式Pは特性多項式に一致し以下のFベクトル空間の同型があります。
\begin{align}F[T]/F[T] P\simeq V\end{align}

さらに、左辺の F[T]/F[T] PにはF[T]による自然な作用(つまりTをかけるもの)を入れることにすると、上の同型は作用も込みで同型になることがわかります。
このようにして抽象的なベクトル空間Vとその上のfを、F[T]/F[T] Pという非常に具体的な形で表すことができました。


このことを微分加群に対しても考えてみましょう。

twisted polynomial

以下、F微分体、Vをその上の微分加群としましょう。このとき、V上の微分Dに関して、上でやったようにF[T]からVへの作用を作りたいのですが、このままではうまくいきません。
なぜなら一般にDは線形ではないので、例えばa\in F,v\in Vに関して\begin{align}D(av)=d(a)v+aD(v)\neq aD(v)\end{align}となってしまい、F[T]の演算と作用がマッチしません。そこでDに合わせた、すなわちライプニッツ則に合わせた、新しい多項式環を定義します。

定義
微分F上の1変数多項式の集合F[T]に通常の和と、\begin{align}Ta=aT+d(a)\ (a\in F)\tag{3}\end{align}によって定まる積を入れた非可換環F\{T\}と表しtwisted polynomial ring(また、その元をtwisted polynomial)という。


さて、何を言っているかわかりますでしょうか?
ベクトルを定数倍してから微分する際、その結果は”単に定数を外に出して微分したもの””係数を微分してベクトルはそのままにしたもの”の和になります。
そのようなライプニッツ則を機械的多項式の言葉で置き換えると(3)式のようになるので、それを積の定義として採用しているわけです。

試しに少し計算してみると、例えば
\begin{align}T(aT+b)&=(Ta)T+Tb\\&=(aT+d(a))T+(bT+d(b))\\&=aT^2+(d(a)+b)T+d(b)\end{align}となります。
まだよくわからない方は、ぜひご自分で色々計算してみてください!


ここでF\{T\}は一般に非可換になることに注意しましょう*2
しかし、このF\{T\}でも通常の多項式と同じように割り算アルゴリズムが実行でき、任意の左(右)イデアルが単項生成になります。


そして、このようにして定めたF\{T\}から元々の微分加群Vに作用ができます。
\begin{align}F\{T\}\times V&\longrightarrow V\\
(P(T),v)&\mapsto P(D)(v)=P_mD^m(v)+\ldots+P_1D(v)+P_0v\end{align}(ただしP(T)=P_mT^m+\ldots+P_0とする。)


これで、線形変換のときと同様の作用を考えることができました。

巡回ベクトル

もう一つ重要な概念を定義しましょう。

定義
F上の微分加群Vの元vであって、\begin{align}v,D(v),\ldots,D^{n-1}(v)\end{align}(n=dim(V))Vの基底となるようなものを巡回ベクトルという。

これも、線型写像で考えたものの類似ですね。


Vに巡回ベクトルvが存在すると仮定すると、
\begin{align}F\{T\}&\longrightarrow V\\f(T)&\mapsto f(D)(v)\end{align}によって定まる写像全射な準同型になります。その核はF\{T\}の左イデアルになりますが、全ての左イデアルは単項生成だったので、あるP\in F\{T\}を用いてF\{T\}Pと書くことができます。したがって準同型定理から同型\begin{align}F\{T\}/F\{T\}P\simeq V\end{align}を得ます。


このようにして微分加群Vも、巡回ベクトルが存在すればF\{T\}/F\{T\}Pと具体的に表すことができました。


今からいうことは少し雑な話になりますが、ここで出てきたPはtwisted polynomialですので常微分方程式と考えることができます。なので逆に、考えたい常微分方程式があったとしたら、F\{T\}をその方程式で割ることにより、対応する微分加群を得ることができます。*3
このようにして、常微分方程式という解析的な(?)対象を加群という代数的な対象にうつしてその性質を調べることができるという寸法です。
なかなか、面白いですね!!


さて、上の話は全て巡回ベクトルの存在性を仮定しています。一般の体(あるいは環)上の微分加群に巡回ベクトルが存在するかどうかはケースバイケースですが、実はよく考えている体上であればこれは必ず存在するということが知られています。
そちらをご紹介しましょう。

定理
F標数0であるような微分体とする。このときF上の任意の微分加群Vは巡回ベクトルをもつ。

この定理の証明も非常に面白いですが、今回は割愛することにいたします。

連立一階微分方程式の高階化

では最後に今までの話の応用をひとつだけご紹介します。

K標数0の体とします。\mathbb{C}\mathbb{Q}_pなどを想像してください。

よく知られているように、K(t)を係数にもつ*4任意のn階線形常微分方程式\begin{align}y^{(n)}+p_1(z)y^{(n-1)}+\ldots +p_n(z)y=0\tag{4}\end{align}は、未知関数を増やすことにより一階連立微分方程式に変形することができました。
具体的には、y_i=y^{(i)}\ (i=0,\ldots,n)と置くと、上の方程式(4)は
\begin{align}\begin{cases} y_i’=y_{i+1}\ (i=0,\ldots,n-1)\\y_n+p_1(z)y_{n-1}+\ldots+p_n(z)y_0=0\end{cases}\end{align}
と同値になり、これを行列を用いて表すと
\begin{align}\frac{d}{dt}\left(\begin{array}{c}y_1\\y_2\\ \vdots\\y_n\end{array}\right)=\left(
\begin{array}{ccccc}
& 1 & & & \\
& &1 & &\\
& && \ddots & \\
& & & &1\\
p_n(z)&p_{n-1}(z)&\ldots&&p_1(z)
\end{array}
\right)
\left(\begin{array}{c}y_1\\y_2\\ \vdots\\y_n\end{array}\right)\end{align}となります。


逆に、任意のK(t)係数一階連立微分方程式が与えられたとき、それを単独の高階方程式に直すことができます。
このことを微分加群を用いて、説明しましょう。


まず、n元一階連立方程式を与えるということはK(t)を要素にもつ行列A\in M_n(K(t))を与えるということに他なりません。この時、上で説明したことからなんらかの変数変換を施して、行列A
\begin{align}\left(
\begin{array}{ccccc}
& 1 & & & \\
& &1 & &\\
& && \ddots & \\
& & & &1\\
*&*&\ldots&&*
\end{array}
\right)\end{align}という形に変形できればこれは(4)の単独高階方程式と同値になります。

今言ったことを微分加群の言葉に直します

まずK(t)を通常の微分d=\frac{d}{dt}によって微分体とみなします。

次に、行列-A\in M_n(K(t))によって定まるK(t)上のn次元微分加群Vとします。つまりベクトル空間V=(K(t))^n
\begin{align}D\left(
    \begin{array}{c}
      c_1 \\
      c_2 \\
      \vdots \\
      c_n
    \end{array}
  \right)=-A \left(
    \begin{array}{c}
      c_1 \\
      c_2 \\
      \vdots \\
      c_n
    \end{array}
  \right)+ \left(
    \begin{array}{c}
      c_1 \\
      c_2 \\
      \vdots \\
      c_n
    \end{array}
  \right)
\end{align}
で定まるような微分Dを入れます。
するとD(v)=0となることが、考えている方程式の解になることと同値になります。
そして、Vの基底を"良いもの"に取り替えることにより、このDの表現行列を
\begin{align}\left(
\begin{array}{ccccc}
& -1 & & & \\
& &-1 & &\\
& && \ddots & \\
& & & &-1\\
*&*&\ldots&&*
\end{array}
\right)\end{align}という形にしたいわけです*5

では、どのような基底をとれば良いでしょうか?
勘の良い方ならお気づきだと思いますが、巡回ベクトルを使います。
しかし、ただ単純にVの巡回ベクトルをとっても上の形の表現行列にならないので、少し工夫が必要です。どうすれば良いでしょう。。。




答えは「双対加群に対して巡回ベクトルをとれば良い」ことになります!!


やってみましょう。
まず、Vの双対V^*を考えます。V^*K(t)(標数0)上の微分加群ですから巡回ベクトルvが存在します。そこでv,\ldots,D^{*(n-1)}(v)に対してD^*の表現行列を考えると、
\begin{align}\left(
\begin{array}{ccccc}
& & & &q_n(z) \\
1& & & &q_{n-1}(z)\\
& 1 && & \\
& & \ddots & &\vdots\\
& & & 1& q_1(z)
\end{array}
\right)\end{align}となります。ここでq_1(z),\ldots,q_n(z)D^{*(n)}(v)=q_n(z)v+\ldots+q_1(z)D^{*(n-1)}(v)を満たすようなものです。添え字のつけ方がおかしいのは次に転置を取るためです。

そして、v,\ldots,D^{*(n-1)}(v)の双対基底e_1,\ldots,e_nVの基底として採用すれば、「双対をとったら表現行列は転置のマイナスになる」ことからDの表現行列は
\begin{align}\left(\begin{array}{ccccc}
& -1 & & & \\
& &-1 & &\\
& && \ddots & \\
& & & &-1\\
-q_n(z)&-q_{n-1}(z)&\ldots&&-q_1(z)
\end{array}
\right)\end{align}となります。
これで求めたい形の行列を得ることができました!!!


結論をまとめます。

Aによって定まる連立一階微分方程式を単独高階微分方程式に直すには
-Aによって定まる微分加群を考える。
②その双対微分加群の巡回ベクトルを持ってくる。
③その双対基底を並べた行列によって、未知関数を変数変換することにより単独の方程式への変形が完了する。


いかがでしたでしょうか?巡回ベクトルの便利さが伝わりましたでしょうか?

おわりに

さて、今回は「微分加群」について基本的な定義とそのちょっとした応用をしていきました。
お楽しみいただけましたでしょうか?

最後に、自分がこの概念を面白いと思う理由を二つ挙げたいと思います。

一つは微分方程式をcordinate freeに考えられるという事。
つまり、数多ある変数変換を全部ひっくるめてDという作用素が定義されているように見えるという事です。
考えてみれば、線形写像を定める際も別に基底を取る必要は必ずしもないわけですから、そのような考えからするとこちらも自然かもしれません。

もう一つは、この「微分加群」をもとにして「微分ガロア理論」や「局所体上の微分方程式」など豊かな理論が作られることです。この話は今回の記事だけでは一切わからないと思いますが、学ぶきっかけとしていただければ幸いです。


では最後までご覧いただきありがとうございました!!
アドベントカレンダーはまだ続きますので、お楽しみに。

コメントはどんなものでも絶賛受け付け中です!
気に入ってくださった方は「読者になる」ボタンやTwitterフォローもポチッとお願いします!

それではまた次回お会いいたしましょう!

参考文献

基本的には次の本を参考にしました。
www.amazon.co.jp

また、自分のリサーチが足りず書き始めてから気づいたのですが、ラブルさんという方が、今回の記事とかなり近い内容をすでにブログに挙げられていました。申し訳ありません。以下、リンクを張りますのでどうぞこちらもご覧になってください。
tetobourbaki.hatenablog.com


f:id:rusk_mathematics:20191217040221p:plain

*1:つまり、有限個の基底が取れるということです。

*2:例えば上の例を逆にして計算してみてください。

*3:本当は双対をとった方が良いです。最後の節もご参照ください。

*4:係数は一般になんでも良いですが、話を簡単にするためK(t)としています。

*5:最後に右辺に移項して考えるため右上には-1が並んでいることに気をつけましょう。