このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

本日の線形代数:射影と分解

「ベキ等、正規化、計算、射影、観測」は、このエントリーの枕が長くなってしまったので独立させたものだったんです。でここでは、ベクトル空間の射影について、その基本事項を書きます。

内容:

  1. 射影の像と核
  2. 部分ベクトル空間による分解
  3. 直和(直積)空間との足し算による同型
  4. 例:偶関数と奇関数

●射影の像と核

Uがベクトル空間、P:U→U がP・P = P2 = P のときPを(U上の)射影(projection)と呼びます。次は明らかでしょう。

  1. I = λu.u は射影
  2. O = λu.0 は射影
  3. Pが射影のとき、I - P も射影

X = Im(P) = {x∈U | x = Pu となるuがある}、Y = Ker(P) = {y∈U | Py = 0}とするとき、次が成立します。

  • 任意のu∈Uは、u = x + y (x∈X、y∈Y)と書ける。
  • X∩Y = {0}

まず上のほうですが、x = Pu, y = u - Pu と置きます。x∈X は明らか。Py = P(u - Pu) = Pu - P2u = Pu - Pu = 0 なので、y∈Y。そして確かに、x + y = Pu + (u - Pu) = u。

二番目; z∈X∩Y とすると、z∈X から z = Pu と書けます。z∈Y から Pz = 0。これらから、z = Pu = PPu = Pz = 0。

言いたいことはこれで全部、もうオシマイです。が、同じことを別な視点から言い換えてみます。

●部分ベクトル空間による分解

ベクトル空間Uの部分ベクトル空間の全体をSub(U)とします。Sub(U)は、集合Xのベキ集合Pow(X)と似てます。X, Y∈Sub(U)のとき、X∩Y はまた部分ベクトル空間なので、(X∩Y)∈Sub(U)。しかし、X∪Y は部分ベクトル空間になりません。X∪Y を含む最小の部分ベクトル空間をX∨Yと書くことにします。定義から (X∨Y)∈Sub(U)。

記号のバランスを良くするために、X∩YをX∧Yとも書きます。すると、X∧YもX∨Yも部分ベクトル空間で、次のように特徴付けられます。

  • X∧Yは、Z⊆XかつZ⊆Yとなる最大のZ
  • X∧Yは、X⊆ZかつY⊆Zとなる最小のZ

また、X∨Y = {u∈U | x∈Xとy∈Y があり、u = x + y と書ける} である点に注意してください(各自確認)。

2つの部分ベクトル空間 X, Y∈Sub(U) の順序を考慮した組(X, Y)が次を満たすときUの分解(decomposition)と呼ぶことにします。

  1. X∨Y = U
  2. X∧Y = {0}

(X, Y)が分解なら、(Y, U)も分解です(それにもかかわらず、(X, Y)と(Y, X)は区別します)。(U, {0}), ({0}, U) は分解の例です。

(X, Y)が分解のとき、X∨Y = U から、u∈U は、u = x + y と書けます。この書き方が一意的であることが次のように分かります;
u = x + y = x' + y' とすると、x - x' = y - y'。z = x - x'(= y - y')とすると、z∈X、z∈Y だから、z∈X∧Y。
よって、z = 0。つまり、x - x' = y - y' = 0。
これから、x = x', y = y' となり、u = x + y という書き方は一意的。

(X, Y)が分解であるという仮定のもと、uを与えると、u = x + y となるx∈Xが一意的に存在することから、次の定義(イプシロン記法)は有効です。

  • Pu = εx.[∃y∈Y.(x∈X で、u = x + y )]

この定義から Pu∈X。「a∈Xのときは、Pa = a (aはPの不動点)」であることはわかっているので、PPu = Pu となり、分解(X, Y)から射影Pが構成できます。逆に、射影Pから(Im(P), Ker(P))を作ると、それは分解になっています。P←→(X, Y) と対応するなら、(I - P)←→(Y, X) も対応します。特に、I←→(U, {0})、O←→({0}, U)。

●直和(直積)空間との足し算による同型

(X, Y)がUの分解である条件 X∨Y = U、X∧Y = {0} は、u∈U が x∈X とy∈Y の和として一意的に書けることでした。このことをまた少し言い換えてみます。

X×Yは集合としての直積として、そこにベクトル空間の構造を入れます。こうしてできたベクトル空間は、XとYの直和と呼ばれ、環和の記号を使い X(+)Y と書かれますが、ここではX×Y(直積の書き方)のままでいいとしましょう。

線形写像 S:X×Y→U を、S(x, y) = x + y と定義します。ここで、右辺の足し算はUの足し算です。もともとX⊆U、Y⊆U だったので、x∈Xとy∈YをUの元とみなしてU内で足すことができます。

Im(S) = {u∈U | x∈Xとy∈Yにより u = x + y }なので、Im(S) = X∨Y です。一方、Ker(S)はどうなるかというと、x + y = 0 である(x, y)ですから、x = -y、つまり、(x, -x)のような形をしています。x∈X、-x∈Y なので、x∈X∧Y。つまり、x←→(x, -x)という対応により、X∧YとKer(S)は同型なんです。

以上から:

  1. Sが全射 ⇔ Im(S) = U ⇔ X∨Y = U
  2. Sが単射KerS) = {0} ⇔ X∧Y = {0}

結局、次が成立します。

  • (X, Y) が分解 ⇔ S:X×Y→U が全単射

●例:偶関数と奇関数

今回は、有限次元であることを特に使わなかったので、無限次元空間にもいまの議論を適用できます。Uを区間[-1, 1]で定義された実数値関数の全体(連続とか、なんか適当な条件を付けてもいい)とします。

Uのベクトルとは、関数f:[-1, 1]→Rです。f∈U に対して、

  • g(t) = 1/2(f(t) + f(-t))

で定義される関数gを対応させる写像をPとします。つまり、g = Pf。Pg = PPf を計算してみてください。PPfはgと同じなので、PPf = Pf が成立します。つまり、PはU上の射影です。Pが射影なので、Uが2つの部分空間に分解できます。

  1. Pの不動点であるようなfからなる空間
  2. Pf = 0 となるようなfからなる空間

Pの具体的な形から、それぞれの部分空間は:

  1. f(-t) = f(t) であるようなfからなる空間
  2. f(-t) = -f(t) であるようなfからなる空間

これは、任意の関数を偶関数と奇関数に分けたことになりますね。