TL;DR
- 全微分
- 行列式
- ヤコビ行列
- 多重積分
- ヤコビアン
これらは高校数学の先にあるもので、多くの数学を応用する分野の書籍や記事で使われることが多いものです。しかし、そういった文書の多くで、これらは読者が知っている前提で、説明無しで用いらていれるように思えます。
この記事は、これらの概念について、順をおって認識、理解していく過程を書いたものです。
そして付録として、同様に説明なして用いられる、極限とイプシロンデルタ論法についての理解の過程も加えてあります。
はじめに
統計や機械学習なども含む応用数学や物理などに含まれる、複数変数関数の積分で、計算しやすくするために座標変換をする話などで、唐突に「ヤコビアン」という概念が用いられます。直交座標の
しかし、高校数学を基準に考えると、ヤコビアン自体は範囲外であるし、ヤコビアンまでに至るにはさらに幾つかの段階をへる必要があります。
この記事は、「ヤコビアン」をゴールとして、そこに至るまでの数学の概念を身に着けていこうという趣旨で書いたものです。
全微分について理解する
ヤコビ行列とは、空間から空間への変換関係の全微分を行列で表現です。つまりはヤコビ行列を理解するには、まず全微分がどういうものかの認識を持つ必要があります。
微分の定義と、微小値の存在
高校では一変数関数の微分は学習しています。一変数関数
です。(
高校では微分公式を使うことが多いので忘れさられがちですが、微分において、
変数変換のチェーンルール
微分で重要な関係は、変数変換の チェーンルールです。これは変数
(NOTE:
チェーンルールを丁寧に導出すると以下のようになります。
3行目で積の極限を分割したのは、それぞれで極限値が存在する仮定のもと行っています。
最後の行は、微小値
この結果に対して、最初の微分の定義に基づいて、微分表現にすることで、
という積でつながれるチェーンルールの公式になります。この関係は、
例として、
偏微分
つづいて、偏微分は、多変数関数において、注目した変数に対してのみ、上記の微小値の極限計算を行うものです。
たとえば二変数関数
ふつうは、他の変数を定数扱いして微分の公式を適用することで対応することが多いかもしれません。
全微分
そして本題の全微分です。全微分とは多変数関数に対する単一の微小値にもとづいてする微分のことです。
つまり、多変数関数での多変数それぞれが単一変数の関数であるとみなして扱うことから始まります。
たとえば、二変数関数
最後の行はチェーンルールの導出と同様に
この極限表現を、偏微分と微分の表現で置き換え、そのあとで
になり、これが全微分の結果の式になります。3つ以上の変数でも同様に偏微分と共通微小値での微分の積の和になります。
また、両辺の
を使う場合のほうが多いかもしれません。
しかし、公式として最初にこちらを頭ごなしに入れてしまうと、全微分の意味としての共通変数の存在について知らなかったり、
参考: 中途半端な変数置き換えでの微分
一変数微分での変数変換のチェーンルールでは、もとの変数をすべて消す必要がありました。しかし、一部だけを変数で置き換えた場合、もとの変数も式の中に残ります。こういった場合は、置き換えた変数と元の変数との二変数関数として全微分を行うことで結果として微分が得られます。
つまり、
もちろん
例として、
となり、たとえば積の公式などで導出したものとも同じ結果になります。
空間の変換としての正方行列と行列式
ヤコビ行列はその名の通り「行列」で表現されるものなので、行列についての基礎知識が必要です。
ここでは正方行列に限定し、行列の「積」による作用の意味について確認するものです。
正方行列の積の意味
行列を用いる応用先は多岐にわたります。正方行列は積をとることで、空間上の点を一様に移す変換器として用いられます。
つまり、点と行列の積を取った結果は、変換先の点となります。
二次元空間では、
で、
線や面といった点の集合も、一様に点の集合へと変換されます。
行列が定数で構成される場合、変換先はxとyの1次の項しか無いので、直線は曲がったりせず、(しかも隣接関係を維持したまま)直線に移ることになります。
行列式の意味
空間上の基底(座標軸上の単位ベクトル)で張られる単位領域を行列で変換するとどうなるかを考えます。
2次元空間の場合、基底
この各頂点を行列
で変換すると、頂点が
(
この平行四辺形の面積
行列での変換では、一様に行われるので面積
ある行列の「行列式(determinant)」というのは、その行列による変換後の領域の拡大率を意味します。
行列式は、
となります。
図1: 左図の3点(0,1)、(1,0)、(1,1)を、行列式が6の行列Aで変換した結果が右図。左図では面積1の正方形が、変換後の右図では面積6の平行四辺形になる。
変換先で領域内の関係が鏡像反転したときには、行列式は負の値になります。
また、変換によって領域が消えたとき、つまり面が線や点になってしまうなど次元が減るとき、行列式は0になります。
行列式というのは、行列での変換のうち、拡大の側面だけに着目するもの、ともいえます。
参考: 正方行列の固有分解と固有値と固有ベクトルの意味
正方行列は空間を同一の空間に移す性質がありますが、この性質から、一つの行列を、その拡大要素の行列とその基底移動要素の行列とに分解するのが「固有分解」です。
固有分解とは、行列Aを、その「固有値(eigenvalue)」を並べた対角行列Dと、Dの固有値順に「固有ベクトル(eigenvector)」を並べた行列Vとで構成する行為です。
行列による領域変換で空間全体を変換すると、原点からの角度が変わらずに原点からの距離だけ変化する原点を通る直線が、空間の次元と同じ数存在しています。その直線(の傾きを表す単位ベクトル)が「固有ベクトル」です。
すなわち固有ベクトルが乗る原点を通る直線上の点は回転せず、ただ拡大縮小だけされます。この拡大率が「固有値」です。「固有値」も「固有ベクトル」も無説明で用いられやすい用語なので、このような空間変換においての意味を覚えておくと良いです。
固有分解というのは、1つの行列が行う変換を
- 変換で向きが変わらない固有ベクトルを直交基底へ移す変換(
)を行い - つづいて基底の拡大縮小(
)を行い - 最後に直交基底をそれぞれの固有ベクトルに移す(回転せん断)変換(
)をする
という3つの(単純な)変換の連鎖で表したものです。
基底から固有ベクトルへの変換をする
そしてこれは、それぞれの基底での拡大、つまり、行列の固有値
図2: 左上 - 基底ベクトルとその正方形領域(青)、および、行列Aの固有ベクトルとその平行四辺形領域(赤)。それぞれのベクトルの長さは1。
右上 - 基底ベクトル及び固有ベクトルに、固有ベクトルの逆行列をかけた結果(赤の固有ベクトルが基底に移る)。
左下 - 右上にさらに固有値の対角行列をかけ合わせた結果(固有ベクトルが、対応する固有値ぶん掛け合わされた長さになる。)。
右下 - 左下にさらに固有ベクトルの行列をかけ合わせた結果(基底ベクトルの変換後の平行四辺形の面積は、左下での固有ベクトル領域の変換後の矩形の面積と同じ、固有値の積となる)。
空間変換としての座標変換とヤコビ行列
ここで、全微分と行列から、ヤコビ行列を導出し、それがどういった意味なのかを確認していきます。
空間変換として座標変換を認識する
たとえば直交座標から極座標への座標変換は、ふつうの認識では同一空間での点の違う表現方式といして扱い、
しかし、微分や積分のことを考える場合、同一点の表現の置き換えとしての認識をするのはやめて、ある二次元空間の点
つまり2つの空間があって、単にその間の点どうしの対応関係が
である、二次元空間から別の二次元空間への対応関係に過ぎないのだと認識することです。
図形でいうと、元の空間は
より具体的な極座標から直交座標への変換イメージは、
図3: 左図 - XY空間全域と原点を中心にした同心円。 右図 - rθ 空間におけるXY空間の領域とXYでの各同心円に対応する直線。
空間変換の全微分とヤコビ行列
二次元の極座標空間から二次元の直交座標空間の対応関係
を全微分します。各要素ごとに全微分します。
これを点
ある空間変換での関係においての、この微小領域から微小領域への変換行列のことを「ヤコビ行列」と呼びます。
このような具体例ではなく、任意の2空間
すなわちヤコビ行列
となります。3次以上の空間へに対しても同様の偏微分要素の行列になります。
注意点としては、ヤコビ行列は各点ごとの行列である、ということです。
すなわち、パラメータとして点が必要な関数の行列であることです。
これは普通の一変数関数の微分値が各点によって変わることと同じ意味になっています。
ヤコビ行列は多次元空間への(全)微分を表すもの、ともいえます。
その点での傾きとしてみると微分
領域への多重積分と微小領域変換の拡大率としてのヤコビ行列式
最後に、多重積分とヤコビアンの関係について確認します。
多重積分
多変数関数にたいして、多変数でなす多次元空間上の領域に対して積分することを「多重積分(重積分)」といいます。(他には多次元空間の曲線上で積分する線積分などがある)。
この
とくに領域の形が、空間上で矩形(長方形)領域になっている場合は、一変数積分の多重化させた表現ができます。
矩形領域での積分の場合には、変数ごとに分離して積分するなどで、計算がしやすくなります。
多重積分の座標変換とヤコビ行列式
まず具体的な多重積分での座標変換の例として、円領域
極座標への変換は、点
しかし、多重積分で求めたいのは
つまり、変数変換での多重積分のためにはまず、微小領域
ここで出てくるのがヤコビ行です。ヤコビ行列
多重積分で必要なのは
よって多重積分の極座標変換は、
となります。このうち微小領域への拡大率である、ヤコビ行列の行列式が、「ヤコビ行列式」もしくは「ヤコビアン」と呼ばれるものです。
これを任意の二次元空間のあいだでの変数変換の表現にすると
となります。
簡単な例として半径
図4: 2変数関数f(x,y)による円錐の図
積分する円錐の式は底点
この多重積分を、極座標
円錐の体積は、円柱の体積(
付録: 極限の積の分割とイプシロンデルタ
微分のチェーンルールの導出において、極限の積分割を導入しました。
これは「
です。
ここで重要なことは、分割する
たとえば、
極限とイプシロンデルタ論法
極限の式
そして、イプシロンデルタ論法というのは以下の論理式です。
この論理式が言いたいことは、「
これは「
有名な
さてこの論理では、任意の
すなわち
この例では、
の条件を満たす
極限の積の分割を導出する
極限の分割は、「
を前提として
を導出できれば良いことになります。
ここで、まず注意したいのは、論法の対象が
もし
この時点で、具体的に導出する対象は
一方、前提のほうからは
この論理式の導出では、
(前提にある
つまり、
の関係があります。
(以降は、存在性だけでなく、具体例まで求める話です。)
より具体的な
しかし、
つまり、具体的な
を満たすような適当な値を選べばよいことになります。たとえば、3の代わりに4で割った値がそれに当てはまる例のひとつです。この
どんな
リンク
- 埋め込み画像の生成コード(python3 & matplotlib): https://gist.github.com/bellbind/bcafacb3b2843e6e0cce46319b021577
コメント