MathPython498072 views
中学社会669002 views
高校日本史190639 views
Computer368461 views
高校化学2925825 views
高校倫理1440914 views
高校生物551985 views
中学理科1631220 views
世界の国564972 views
LaTeX962713 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 で、異なる列どうしは直交する。直交行列とは、正規直交基底を列に並べた行列だといえる。

からは、行についても同じことが言える。行と列のどちらから見ても正規直交である。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 220" 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>
	<circle cx="200" cy="130" r="70" fill="none" stroke="#c8c8c8" stroke-width="1" stroke-dasharray="4 3"></circle>
	<line x1="110" y1="130" x2="300" y2="130" stroke="#c8c8c8" stroke-width="1"></line>
	<line x1="200" y1="40" x2="200" y2="200" stroke="#c8c8c8" stroke-width="1"></line>
	<line x1="200" y1="130" x2="256" y2="88" stroke="#1b81e0" stroke-width="1.5"></line>
	<polygon points="260,85 250,86 254,93" fill="#1b81e0"></polygon>
	<line x1="200" y1="130" x2="158" y2="74" stroke="#1b81e0" stroke-width="1.5"></line>
	<polygon points="155,70 157,80 164,76" fill="#1b81e0"></polygon>
	<path d="M 214 119 L 205 107 L 193 116" fill="none" stroke="#d0562a" stroke-width="1"></path>
	<text x="268" y="82" font-size="12" fill="#1b81e0">q1</text>
	<text x="140" y="70" font-size="12" fill="#1b81e0">q2</text>
	<text x="230" y="212" font-size="11" fill="#9a9a9a" text-anchor="middle">単位円の上に先端が乗り、なす角は直角になる</text>
</svg>

例:定義にあてはめて確かめる

第 1 列は で、長さは である。第 2 列も同じく長さ 1 になる。

2 つの列の内積は で直交している。したがって が成り立ち、この行列は直交行列である。

成分の絶対値は 1 を超えない

列の長さが 1 なので、その列に属する成分はどれも絶対値 1 以下になる。1 つの成分だけで長さを使い切ってしまうからである。

等号が成り立つのは、その列が標準基底のどれかに一致するときに限る。先ほどの例では が並び、2 乗の和がちょうど 1 になっていた。

成分が有界なので、直交行列は成分の意味でも暴れない。数値計算で扱いやすい理由の 1 つである。

長さと内積を保つ

直交行列を掛けても、ベクトルの長さは変わらない。転置と組にすると が現れて消えるからである。

内積についても同じ計算が通り、 になる。長さと内積が保たれるので、2 本のベクトルのなす角も変わらない。

図形に当てはめれば、形も大きさもそのままで動かす変換にあたる。伸び縮みやゆがみは起きない。

逆に、長さを保てば直交行列である

長さを保つ線形写像は、必ず直交行列で書ける。内積が長さだけから復元できることを使う。

右辺の 3 つの長さがどれも保たれるので、左辺の内積も保たれる。標準基底に当てはめれば、列が正規直交であることがそのまま出る。

長さを保つことと は、言い方が違うだけの同じ条件だと分かる。

行列式は 1 か -1

の両辺の行列式を取る。転置しても行列式は変わらないので、 となる。

実行列なので は実数であり、値は に限られる。中間の値は取れない。

の場合を回転、 の場合を鏡映が混じった変換という。行列式の符号が、向きを保つかどうかを分けている。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 210" width="100%" style="max-width:460px;display:block;margin:0 auto">
	<text x="120" y="26" font-size="11" fill="#1f1f1f" text-anchor="middle">回転(行列式 1)</text>
	<polygon points="60,140 150,140 150,80" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1.5"></polygon>
	<text x="52" y="154" font-size="11" fill="#1f1f1f">A</text>
	<text x="154" y="154" font-size="11" fill="#1f1f1f">B</text>
	<text x="156" y="76" font-size="11" fill="#1f1f1f">C</text>
	<path d="M 96 118 A 26 26 0 0 0 118 96" fill="none" stroke="#d0562a" stroke-width="1"></path>
	<polygon points="120,92 113,99 121,101" fill="#d0562a"></polygon>
	<text x="120" y="186" font-size="11" fill="#9a9a9a" text-anchor="middle">A から C へ回る向きは変わらない</text>
	<text x="340" y="26" font-size="11" fill="#1f1f1f" text-anchor="middle">鏡映(行列式 -1)</text>
	<line x1="340" y1="60" x2="340" y2="160" stroke="#c8c8c8" stroke-width="1" stroke-dasharray="4 3"></line>
	<polygon points="280,140 370,140 370,80" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1.5"></polygon>
	<polygon points="400,140 310,140 310,80" fill="#d0562a" fill-opacity="0.08" stroke="#d0562a" stroke-width="1.5"></polygon>
	<text x="340" y="186" font-size="11" fill="#9a9a9a" text-anchor="middle">裏返るので、頂点の並ぶ向きが逆になる</text>
</svg>

例:回転と鏡映で向きを見る

の回転と、 軸に関する鏡映を並べる。

の行列式は の行列式は である。どちらも列は正規直交で、直交行列の条件を満たす。

三角形を で動かすと頂点の並ぶ向きは保たれ、 では裏返る。行列式の符号は、この裏返りの有無を表している。

固有値の絶対値は 1

固有ベクトル に対して だとする。長さが保たれるので、 が成り立つ。

は零ベクトルではないので、 が出る。複素固有値まで含めれば、固有値は複素平面の単位円上に並ぶ。

実の固有値は しかない。 に属する固有ベクトルは動かない向き、 に属するものは反転する向きを表す。

例:回転行列の固有値は単位円上にある

の回転行列の固有多項式を書き下す。トレースが 、行列式が 1 なので次の形になる。

判別式は で、 の倍数でなければ実の解を持たない。解は である。

絶対値を計算すれば 1 になる。実の範囲では固有ベクトルが取れないことが、平面上で動かない向きがないことに対応している。

積と逆について閉じている

直交行列どうしの積は、また直交行列になる。転置を外側から順にはがしていけば確かめられる。

逆行列も直交行列である。 で、その転置は に戻るからである。

単位行列も直交行列なので、直交行列の全体は積について群をなす。これを直交群といい、行列式が 1 のものだけを集めたものを特殊直交群という。

2 次の直交行列は回転か鏡映しかない

2 次に限ると、直交行列は 2 つの型に尽きる。第 1 列を単位ベクトルとして と書くと、第 2 列はこれに直交する単位ベクトルなので 2 通りしかない。

左が回転で、行列式は 1 である。右は行列式が で、原点を通るある直線に関する鏡映になる。

高い次元では、この 2 型のような単純な分類にはならない。ただし行列式による向きの区別は、どの次元でも意味を持ち続ける。

例:対称な直交行列は鏡映になる

は対称であり、直交行列でもある。 を計算すると、対角成分が 、非対角成分が になる。

対称かつ直交なら である。2 回かけると元に戻るので、この変換は鏡映にあたる。

行列式は で、先ほどの分類の右側に入る。 を 45 度に取った形だと読める。

例:置換行列は直交行列

成分を並べ替える行列も、直交行列の仲間である。

各列は標準基底のどれかで、長さ 1 かつたがいに直交する。したがって が成り立つ。

行列式は並べ替えの符号で決まり、この例では偶置換なので 1 である。座標の順番を入れ替える操作が、長さを変えないことと結びついている。

ユニタリ行列の定義

複素行列では、転置の代わりに共役転置を使う。 を満たす複素正方行列をユニタリ行列という。

複素内積は片方の成分に共役を取るので、長さを と書く。実の場合とまったく同じ計算で、 が出る。

列が複素の意味で正規直交になることも、実の場合と同じである。共役を取る位置だけが違う。

例:複素成分のユニタリ行列

共役転置は第 1 行と第 2 行を入れ替え、 に変えたものになる。積を計算すると、対角成分は になる。

非対角成分では が打ち消し合って 0 である。したがって が成り立つ。

なお は対称だが、実行列ではないので鏡映とは限らない。実の直感をそのまま持ち込めない場面である。

実のユニタリ行列は直交行列にほかならない

成分がすべて実数なら、共役を取っても何も変わらない。共役転置はただの転置になり、ユニタリの条件は に一致する。

つまり直交行列は、ユニタリ行列の実数版である。実対称行列とエルミート行列の関係と、同じ並びになっている。

複素数まで広げると分類が見通しよくなる。実の範囲では固有ベクトルが取れない回転も、複素固有値まで許せば対角化できる。

行列式は絶対値が 1 になる

ユニタリ行列でも、 の行列式を取れば が出る。左辺は である。

したがって で、行列式は単位円上のどこかにくる。実の場合と違い、 に限られない。

行列式が 1 のものだけを集めると、特殊ユニタリ群になる。物理では、この形の行列が対称性を表す道具として使われる。

一般の直交行列の標準形

高い次元の直交行列も、基底を取り替えれば見やすい形になる。適当な直交行列で変換すると、対角に沿って 2 次の回転ブロックと が並ぶ形にできる。

複素固有値が共役の組で現れることが、2 次のブロックとして表に出ている。 は、動かない向きと反転する向きにあたる。

3 次の場合は、行列式が 1 なら回転ブロック 1 つと が 1 つになる。軸のまわりの回転だという事実が、この形から読める。

数値計算に強い理由

直交行列は長さを変えないので、掛けても誤差が拡大しない。条件数がちょうど 1 で、これは取りうる最小の値である。

逆行列を求める必要がないことも効いてくる。転置を取るだけなので、桁落ちの起きる割り算が入らない。

QR 分解や特異値分解が数値計算で好まれるのは、この性質のためである。行列を直交行列で挟む形にしておけば、途中の誤差が暴れない。

例:直交行列で連立方程式を解く

係数行列が直交行列なら、連立方程式は転置を掛けるだけで解ける。 の両辺に を掛ければよい。

を計算すると が並ぶ。解は である。

代入して確かめると となり、 に戻る。掃き出し法も逆行列の公式も使っていない。

他の話題とのつながり

対称行列は直交行列で対角化でき、エルミート行列はユニタリ行列で対角化できる。どこまでこの形にできるかを決めるのが、正規行列という条件である。

グラム・シュミットの正規直交化は、与えられた基底から直交行列を作る手続きだと読める。QR 分解はその結果を行列の形にまとめたものである。

回転行列は、行列式が 1 の直交行列の代表である。角の和や軸の取り方まで踏み込んだ話は、回転行列の記事で扱う。

よくある誤り

成分が直交していることと、行列が直交行列であることを混同する。列の長さが 1 でなければ条件を満たさない
を直交行列の定義だと考える。行列式が 1 でも、長さを変える行列はいくらでもある
行だけ、あるいは列だけを調べて安心する。正方行列なら片方から他方が従うが、正方でない行列ではこの言い方が崩れる
直交行列の和も直交行列だと思ってしまう。単位行列を 2 つ足せば になり、長さが 2 倍になる
固有値が実数だと決めてかかる。回転行列の固有値は複素数で、単位円上に乗る
ユニタリ行列の行列式が に限ると覚える。絶対値が 1 なだけで、値は単位円上のどこでもよい
直交行列を掛けると成分が小さくなると期待する。保たれるのは長さで、個々の成分は大きくも小さくもなる

参考文献

Orthogonal matrix - Wikipedia
Unitary matrix - Wikipedia
Orthogonale Matrix - Wikipedia(ドイツ語)
Matrice orthogonale - Wikipédia(フランス語)
直交行列は長さと内積を保つ実行列で、転置がそのまま逆行列になります。列が正規直交基底をなすこと、行列式が 1 か -1 に限られ回転と鏡映を分けること、固有値が単位円上に乗ること、積と逆について閉じていること、複素数版のユニタリ行列との対応、数値計算に強い理由までを、計算例をつけて解説します。