いろは3013586 views
りんご211690 views
高校物理160543 views
中学理科1631220 views
中学英語812035 views
高校化学2925825 views
高校生物551985 views
中学社会669002 views
中学数学623977 views
英語614322 views
Help
Tools
NewsSpreadsheetCalendarBookkeepingMarkdown TablesLanguage Model NewsLinux CommandsSlidesTier ListPen ToolIllustrationCrayonWatercolorPixel ArtASCII ArtPerspectiveEndless StairsGraphMind MapER DiagramFamily TreeMemeCurved TextImage EditorMosaicRetro FilterPencil SketchSwirl EffectLine ArtOCR/HighlighterMakeup EditorFaviconVideo TrimmerScrolling VideoVideo TitleColor PickerColor ExtractorBonfireFireworksCherry BlossomWater RippleWater SplashBreaking GlassGlass TextureFabric TextureWood GrainMarble TextureBrick Wall TextureMetal TextureWashi Paper TextureCardboard TextureCSS ButtonIcon MakerBar ChartGrouped Bar ChartStacked Bar ChartPie ChartLine ChartArea ChartStacked Area ChartScatter Plot3D Bar Chart3D Pie ChartBar Chart RaceBubble ChartPopulation PyramidPictogramEarningsCandlestick ChartInvestment RiskMortgage SimulatorCalculatorMatrix CalculatorFunction GraphPolynomial ExpansionVenn DiagramField VisualizerRubik's Cube Group TheoryTraveling SalesmanVoronoi and DelaunayFractalUniversity Entrance Exam MathColumn ArithmeticDraw Math FiguresArithmetic AnimationArithmetic Word ProblemsCounting with Tree DiagramsCube NetsRolling DiceCross SectionsMotion PathMechanicsWavesUniversity Entrance Exam Physics解析力学Quantum MechanicsStatistical MechanicsRelativityCelestial MechanicsAstrophysicsCosmologyElectromagnetic WavesCapacitorsLight and LensesThermodynamicsHow Semiconductors WorkMolecular StructuresAtomic OrbitalsElectrochemical CellsChemical EquilibriumCrystal LatticesBuffer pHOrganic Reaction MapPeriodic TableComplex IonsDNA Double HelixCell DivisionMembrane ChannelsNerve ImpulseMuscle ContractionHormones and HomeostasisRock ClassificationWeatherConstellationsSolar and Lunar Eclipses3D ModelingFloor PlanSeismic StructuresIntersection TurnMaglevCooking AnimationOrigamiLive Viewer CountGeoJSON MapRailway MapPopulation MapCrime MapLand Price MapSchool MapShrine and Castle MapHouse of Representatives MapWord MapSolitaireReversiHakoiri MusumeChessHamburgerRippleSlide Puzzle MakerNeon PinballNovel MakerJapanese Typing PracticePiano Score EditorMusic TheoryShogi StrategyPiano Rhythm Game

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(スペイン語)
对偶空间 - 维基百科(中国語)
双対写像の表現行列は、もとの写像の表現行列の転置になります。なぜそうなるのかを、線形汎関数の定義から順に組み立てます。双対基底が座標を取り出す操作であること、基底の取り替えで逆行列の側へ動くこと、消滅部分空間の次元が引き算で出ること、有限次元でだけ二重双対と一致することも扱います。