高校物理162509 views
Computer370048 views
ヒストリア294981 views
いろは3025218 views
英語617403 views
高校化学2933198 views
中学社会670081 views
りんご220229 views
教育150077 views
中学英語813624 views
Help
Tools

English

双対空間と双対基底|定義・双対写像の表現行列が転置になる理由

ベクトルを 1 つの数へ送る線形写像を線形汎関数といいます。その全体を集めたものが双対空間 です。

の基底を 1 つ決めると、 にも対になる基底が決まります。条件はクロネッカーのデルタ 1 本です。

これを双対基底といいます。もとの空間とよく似た形をしていながら、写像の向きだけが裏返り、その裏返りが行列の転置として姿を現します。

線形汎関数

をベクトル空間とします。 から実数への線形写像を、 上の線形汎関数といいます。

行き先がベクトル空間ではなく数である、という点だけが違い、課される条件は線形写像のときと同じです。

線形写像の記事で見た定積分やトレースは、値が数になるので線形汎関数にあたります。一次形式や余ベクトルとも呼ばれます。

例:どんなものが線形汎関数になるか

値が数になる線形写像は、身近なところにいくつも転がっています。

成分を取り出す

のベクトルから第 2 成分だけを返す操作です。重みをつけた和 も同じ仲間になります。

1 点で値を読む

多項式 に対して を返す操作です。和とスカラー倍がそのまま通るので線形になります。

定積分

区間を固定して、 に を対応させる操作です。積分の線形性がそのまま効いています。

トレース

正方行列 に対角成分の和を対応させる操作です。行列の空間の上に乗った線形汎関数になります。

どれも行き先が数なので、値どうしを足したり定数倍したりできます。この点が、次の節で を空間として扱える理由になります。

双対空間

上の線形汎関数をすべて集めたものを、 の双対空間といい と書きます。

には、値の側の計算で和とスカラー倍を入れます。

こう定めた と が、また線形汎関数になることは確かめられます。値の側で足し算をしているだけなので、線形性はそのまま受け継がれます。

したがって はそれ自身がベクトル空間です。ベクトルを集めた空間ではなく、ベクトルを測る道具を集めた空間だ、と読むと見通しがよくなります。

双対基底

の基底 を 1 つ固定します。各 について、次の条件を満たす線形汎関数 を考えます。

右辺は のとき 、そうでないとき を表す記号で、クロネッカーのデルタといいます。

基底の像を決めれば線形写像はただ 1 つに定まるので、この条件で は決まります。 にだけ を返し、他の基底ベクトルには を返す汎関数です。

こうして得た組 を、 の双対基底といいます。

双対基底は座標を取り出す

双対基底の正体は、座標を読む操作です。 に を当ててみます。

の項だけが残り、ほかは で消えます。つまり は、 の に関する第 座標そのものです。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 205" width="100%" style="max-width:460px;display:block;margin:0 auto">
	<text x="230" y="24" font-size="11" fill="#9a9a9a" text-anchor="middle">双対基底は、座標のうち 1 つだけを抜き出します</text>
	<text x="185" y="52" font-size="11" fill="#1f1f1f" text-anchor="middle">v の座標</text>
	<rect x="155" y="60" width="60" height="34" fill="#f5f5f5" stroke="#c8c8c8" stroke-width="1"></rect>
	<rect x="155" y="94" width="60" height="34" fill="#1b81e0" fill-opacity="0.12" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="155" y="128" width="60" height="34" fill="#f5f5f5" stroke="#c8c8c8" stroke-width="1"></rect>
	<text x="185" y="82" font-size="12" fill="#1f1f1f" text-anchor="middle">c<tspan font-size="9" dy="3">1</tspan></text>
	<text x="185" y="116" font-size="12" fill="#1b81e0" text-anchor="middle">c<tspan font-size="9" dy="3">2</tspan></text>
	<text x="185" y="150" font-size="12" fill="#1f1f1f" text-anchor="middle">c<tspan font-size="9" dy="3">3</tspan></text>
	<text x="62" y="116" font-size="13" fill="#1b81e0" text-anchor="middle">v<tspan font-size="9" dy="3">2</tspan><tspan font-size="10" dy="-8">*</tspan></text>
	<line x1="85" y1="111" x2="142" y2="111" stroke="#1b81e0" stroke-width="1"></line>
	<polygon points="142,107 150,111 142,115" fill="#1b81e0"></polygon>
	<line x1="220" y1="111" x2="292" y2="111" stroke="#1b81e0" stroke-width="1"></line>
	<polygon points="292,107 300,111 292,115" fill="#1b81e0"></polygon>
	<text x="330" y="116" font-size="13" fill="#1b81e0" text-anchor="middle">c<tspan font-size="9" dy="3">2</tspan></text>
	<text x="230" y="192" font-size="11" fill="#9a9a9a" text-anchor="middle">基底を決めた時点で、座標を読む操作そのものが道具として手に入っています</text>
</svg>

基底を決めた時点で座標という仕組みが手に入りましたが、その座標を取り出す操作こそが の元だった、というのがこの節の中身です。

双対基底が基底になる理由

が の基底であることを確かめます。まず張ることを見ます。

を任意に取ります。線形写像は基底の像で決まるので、 の値さえ分かれば は決まります。

右辺を に当てると が出るので、両辺は基底の上で一致します。基底の上で一致する線形写像は同じものです。

一次独立も短く済みます。 とおいて に当てると、左辺は 、右辺は です。

すべての で が出るので、 は一次独立です。張ることと合わせて基底になります。

本数が なので が従います。ただしこの一致から得られる と の対応は、選んだ基底に寄りかかったものです。

基底を変えれば対応も変わってしまうので、 と を無条件に同じものとは見なせません。この点はあとでもう一度扱います。

例:3 次元で双対基底を書き下す

に次の基底を入れます。

を と書くと、成分ごとに 、、 という関係が出ます。

下から順に解けば 、、 です。これがそのまま双対基底になります。

検算します。、、 で、条件を満たしています。

標準基底のときと違い、 は第 成分をそのまま返しません。基底が傾けば、座標を読む式のほうも傾きます。

例:多項式の空間の双対基底

2 次以下の多項式の空間 に、基底 を入れます。 の座標は係数そのものでした。

双対基底は、その係数を取り出す汎関数です。 に対して 、、 をそれぞれ返します。

微分を使えば、見なれた式に書き直せます。、、 だからです。

テイラー展開の係数を取り出す操作が、そのまま双対基底になっていました。抽象的に定義した対象が、具体的な式で書けています。

例:汎関数を双対基底で展開する

の上の定積分 を、いまの双対基底で表します。展開の公式は でした。

基底の各元での値を計算します。

この 3 つがそのまま係数になります。

確かめます。 に当てると右辺は で、実際に積分した値と一致します。

積分という操作が、 の中では 3 つの数の組として書けました。汎関数もまた座標を持つ、ということです。

行ベクトルとして見る

で標準基底を取ると、線形汎関数の姿がはっきりします。 はかならず次の形に書けます。

ここで は で決まる列ベクトルです。つまり の双対空間は、行ベクトル全体だと思えます。

列ベクトルが の元、行ベクトルが の元で、並べて掛けると数が出ます。転置がその橋渡しをしています。

標準基底の双対基底は、単位行列の各行にあたります。 は第 成分を返す操作なので、行ベクトルとしては です。

基底を変えると双対基底は逆行列で動く

基底を取り替えると、双対基底も動きます。動く向きはもとの基底とは逆です。

から への変換行列を とします。新しい基底は でした。

新しい双対基底を と置き、条件 に代入します。

これがすべての で に等しいので 、つまり です。

基底が で動けば、双対基底は で動きます。座標が逆行列で移ったのと同じ食い違いが、こちらにも顔を出しています。

汎関数の座標のほうは事情が逆です。 の新しい座標は なので、係数を並べたベクトルには が掛かります。

例:基底を取り替えて確かめる

の標準基底から、次の基底へ移ります。

変換行列は 2 本を列に並べたもので、逆行列は行列式が であることから求まります。

の各行を係数として読めば、新しい双対基底が出ます。

検算すると 、 となり、条件が成り立っています。

の列を並べ替えるのではなく、 の行を読むのだ、という点が肝心です。ここを取り違えると符号や係数がずれます。

双対写像は向きが逆になる

線形写像 が与えられると、双対空間の間にも写像が誘導されます。ただし向きが裏返ります。

作り方は素直です。 の上の汎関数 に対して、 を先に通してから で測る操作を割り当てます。

は の上の汎関数です。 のベクトルを へ運んでから測っているので、全体としては を測っていることになります。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 200" width="100%" style="max-width:460px;display:block;margin:0 auto">
	<text x="230" y="24" font-size="11" fill="#9a9a9a" text-anchor="middle">ベクトルは前へ進み、測る道具は後ろへ戻ります</text>
	<text x="130" y="80" font-size="14" fill="#1f1f1f" text-anchor="middle">V</text>
	<text x="330" y="80" font-size="14" fill="#1f1f1f" text-anchor="middle">W</text>
	<line x1="150" y1="75" x2="302" y2="75" stroke="#1b81e0" stroke-width="1"></line>
	<polygon points="302,71 310,75 302,79" fill="#1b81e0"></polygon>
	<text x="226" y="66" font-size="12" fill="#1b81e0" text-anchor="middle">T</text>
	<text x="130" y="155" font-size="14" fill="#1f1f1f" text-anchor="middle">V<tspan font-size="10" dy="-5">*</tspan></text>
	<text x="330" y="155" font-size="14" fill="#1f1f1f" text-anchor="middle">W<tspan font-size="10" dy="-5">*</tspan></text>
	<line x1="310" y1="150" x2="158" y2="150" stroke="#d0562a" stroke-width="1"></line>
	<polygon points="158,146 150,150 158,154" fill="#d0562a"></polygon>
	<text x="230" y="141" font-size="12" fill="#d0562a" text-anchor="middle">T<tspan font-size="10" dy="-5">*</tspan></text>
	<line x1="130" y1="92" x2="130" y2="132" stroke="#c8c8c8" stroke-width="1" stroke-dasharray="4 3"></line>
	<line x1="330" y1="92" x2="330" y2="132" stroke="#c8c8c8" stroke-width="1" stroke-dasharray="4 3"></line>
	<text x="230" y="190" font-size="11" fill="#9a9a9a" text-anchor="middle">点線は双対を取る対応です。矢印の向きだけが裏返ります</text>
</svg>

向きが裏返るのは、汎関数が測る側だからです。ベクトルが前へ運ばれるぶん、測る道具は後ろへ引き戻されます。

を の双対写像、または転置写像といいます。この名前の理由は次の節で見えます。

双対写像の表現行列は転置になる

の基底を 、 の基底を とし、 の表現行列を とします。

双対基底 と に関する の表現行列を求めます。 を に当ててみます。

前の節で見たとおり、汎関数を基底ベクトルに当てた値がその座標です。したがって の展開は次のようになります。

表現行列は、像の座標を列に並べたものでした。第 列に が縦に並ぶので、これは の第 行を立てたものにほかなりません。

行が列になった行列、つまり が の表現行列です。転置という成分の入れ替えが、双対を取るという操作と同じ内容だった、ということになります。

例:転置になることを数値で確かめる

を次の式で定めます。

標準基底での表現行列は、像の座標を列に並べて得られます。

の双対基底は、第 1 成分を返す と第 2 成分を返す です。まず を計算します。

となるので、この汎関数の座標は です。

同じように で、座標は になります。2 本を列に並べれば の表現行列です。

の行がそのまま列に立ちました。 という型も、 の をひっくり返したものになっています。

消滅部分空間

部分空間 に対して、 の上で恒等的に になる汎関数を集めます。これを の消滅部分空間といい、 と書きます。

を測っても何も出てこない道具の全体だ、と読めます。 が の部分空間になることは、定義から直ちに出ます。

の上で になるものどうしを足しても定数倍しても、やはり の上で のままだからです。

次元には簡単な関係があります。

証明には次元定理を使います。 から への写像を、 にその への制限を対応させることで作ります。

この写像は全射です。 の基底を の基底まで延長しておけば、 の上で与えられた汎関数を 全体へ広げられるからです。

核のほうは定義そのままで になります。次元定理から が出て、 と を入れれば目的の式です。

例:平面を消す汎関数

の中で を満たすベクトル全体を とします。2 次元の部分空間です。

の上で になる汎関数を探します。 と置きます。

の元は なので、条件は がすべての で成り立つことです。

したがって となり、 だけが自由に残ります。 は を読む汎関数の定数倍の全体で、次元は です。

となって公式に合っています。この平面を潰してしまう汎関数は、平面から外れたぶんだけを読むものに限られる、というわけです。

理解の確認

線形写像 の表現行列が のとき、双対写像 について正しいのはどれでしょうか。

  • で、表現行列は のまま変わらない
  • で、表現行列は の転置になる
  • で、表現行列は の逆行列になる
__RESULT__

汎関数は測る側なので、 が から へ進むのに対して は から へ戻ります。表現行列は から読み取れて、 の行が列に立った になります。逆行列は出てきませんし、そもそも が正方行列とはかぎりません。

二重双対と自然な同型

もベクトル空間なので、その双対 を考えられます。これを二重双対といいます。

から への写像は、基底を使わずに作れます。 に、汎関数を受け取って での値を返す操作を対応させます。

を固定して のほうを動かす、という読み替えです。 は の上の線形汎関数なので、 の元になります。

有限次元では が同型です。 なら となる が取れるので単射で、次元が等しいことから全射も従います。

大事なのは、この同型が基底を選ばずに書けている点です。

もとの空間と双対空間

次元は等しいので同型ですが、対応をつけるには基底を 1 つ選ぶ必要があります。基底を変えれば対応も変わります

もとの空間と二重双対

値を読むという操作だけで書けるので、基底を選ばずに決まります。こちらを自然な同型と呼びます

自然な同型があるおかげで、有限次元では と を同じものだと思って差し支えありません。

無限次元では崩れる

ここまでの話は、有限次元だから成り立っています。無限次元では様子が変わります。

次数に制限をつけない多項式全体の空間では、 の次元が の次元より真に大きくなります。基底のそれぞれに好きな値を割り当てた汎関数が、いくらでも作れるからです。

から への写像は単射のままですが、全射になりません。 は の真の部分空間にとどまります。

無限次元で双対を扱うときは、連続性のような条件を足して集める汎関数を絞ります。関数解析はそこから始まる分野です。

他の話題とのつながり

内積を入れると、 と の対応を基底なしに作れるようになります。ベクトル に を割り当てる仕組みで、リースの表現定理と呼ばれます。内積空間の話が済んでからの話題です。

双対写像の表現行列が転置になることは、転置の記事で見た と同じ内容です。あちらは内積で、こちらは汎関数の言葉で書いた形になっています。

微分幾何では、接ベクトルの空間の双対に住む対象を微分形式と呼びます。座標の微小変化を表す記号が、双対基底にあたります。

テンソルを扱うときは、 の元と の元を区別して数えます。反変と共変という呼び分けは、基底を変えたときにどちらの向きへ動くかの違いです。

よくある誤り

と を同じ空間だと思い込むと、あとで行き詰まります。次元は等しいものの、対応は基底を選ばないと決まりません
双対基底の元が「第 成分を返す操作」だと決めつけるのは早合点です。そうなるのは標準基底のときだけです
基底を で動かしたとき双対基底も で動く、と考えると係数が合わなくなります。動くのは のほうです
双対写像の向きを と書く取り違えが起きがちです。 が前へ進むぶん、 は後ろへ戻ります
消滅部分空間を の中の部分空間だと勘違いしないでください。住んでいるのは の側です
二重双対との同型を、 と の同型と同じ性質のものと見なすのは誤りです。基底によらないのは前者だけです
無限次元でも同じ結論が使えると考えると外します。次元の一致も全射性も、有限次元にかぎった話です

参考文献

Dual space - Wikipedia
Dual basis - Wikipedia
Dualraum - Wikipedia(ドイツ語)
Espace dual - Wikipédia(フランス語)
Spazio duale - Wikipedia(イタリア語)
Espacio dual - Wikipedia(スペイン語)
对偶空间 - 维基百科(中国語)
双対写像の表現行列は、もとの写像の表現行列の転置になります。なぜそうなるのかを、線形汎関数の定義から順に組み立てます。双対基底が座標を取り出す操作であること、基底の取り替えで逆行列の側へ動くこと、消滅部分空間の次元が引き算で出ること、有限次元でだけ二重双対と一致することも扱います。