経済数学（法政用）：第８章
細矢祐誉
テーマ：ベクトルと行列、合成関数の微分の公式
・ベクトル
我々が本来やりたい議論は微積分なのだが、ここでいったん微積分を離れて、ベクトルについての議論をする必要がある。ベクトルという用語は数学では非常に多くのものを指す用語なのだが、さしあたり用があるのは数を n 個並べたもの（(1, 2, 4) などのように）である。(x1 , x2 , ..., xn ) などというふうに丸括弧の中に n 個の数が入っているものを、n次元のベクトルと呼ぶことにしよう。高校数学では、n = 2 のときのベクトルを主に扱い、そこではベクトルを矢印の形で図で書いて説明していたと思う。しかし、このような図形的な議論はここではする必要がない。単に数を２個並べたものが２次元のベクトルである、という考え方をしておいたほうが、後々混乱せずに済むだろうと思う。
このベクトルに対して、足し算と実数倍という概念を定義しておきたい。それは次のようにして行う。いま x = (x1 , ..., xn ) と y = (y1 , ..., yn ) に対して、新しいベクトル x + yを、(x1 + y1 , ..., xn + yn ) というものとして定義する。また、数 c に対して、ベクトル cxを (cx1 , ..., cxn ) として定義する。こうして作られた足し算と実数倍に加えて、もう少し記号を追加しておきたい。すべての座標が 0 であるベクトル (0, 0, ..., 0) を単に 0 と書き、ゼロベクトルと呼ぶ。また −x = (−x1 , ..., −xn ) とする。すると次の８つの性質が成り立つ。

1. (x + y) + z = x + (y + z).
2. x + y = y + x.
3. x + 0 = x.
4. x + (−x) = 0.
5. (a + b)x = ax + bx.
6. a(x + y) = ax + ay.
7. (ab)x = a(bx).
8. 1x = x.
すべて当たり前に思えるかもしれない。しかし実はそうではない。実は、数学では本質的には上の８つの性質がすべて成り立つような構造を持っているもののことをすべてベクトルと呼ぶのである。したがって我々が考える n 次元のベクトル以外にも、山のように多くのベクトルという物が存在する。たとえば、一変数関数 f と g に対して f + g という関数を (f + g)(x) = f (x) + g(x) として、また数 c と関数 f に対して cf という関数を(cf )(x) = cf (x) として定義すれば、この足し算と実数倍の概念は上の８つの性質をすべて満たす。したがって実は一変数関数もベクトルなのである！

この考え方はこの授業ではこれ以上深入りしないが、多くの応用があるので、念頭に置いておきたい。
・内積とノルム
最初に、x = (x1 , x2 , ..., xn ) と原点 0 = (0, 0, ..., 0) の間の距離に当たる概念を考える。

pn = 2 の場合は、すでに中学で習った三平方の定理から、それは x21 + x22 となる。これpを一般化して、n ≥ 2 のときに、 x21 + x22 + ... + x2n を距離だと思ってよいであろう。
この値のことを、ベクトル x のノルムの値と呼び、通常 kxk と書く。つまり、

qkxk =x21 + x22 + ... + x2nである。
また、ふたつのベクトル x = (x1 , x2 , ..., xn ) と y = (y1 , y2 , ..., yn ) の内積 x · y を、

x1 y1 + x2 y2 + ... + xn yn で定義する。すぐにわかるように x · x = kxk2 である。それ以外にも内積には多くの性質があるのだが、それについては後で詳しく記す。
ノルムは以下の性質を持つ。

(1) kxk ≥ 0 は常に成り立ち、もし kxk = 0 ならば x = 0 である。
(2) 数 c がなんであろうと、kcxk = |c|kxk が成り立つ。
(3) kx + yk ≤ kxk + kyk が成り立つ。（三角不等式）
また内積は以下の性質を持つ。

(i) x · x ≥ 0 であり、もし x · x = 0 ならば x = 0 である。
(ii) x · y = y · x が成り立つ。
(iii) (x + y) · (z + w) = x · z + x · w + y · z + y · w が成り立つ。
(iv) (cx) · y = c(x · y) が成り立つ。
これらのうち難しいのは、実は (3) のみである。後は簡単に示すことができるのでこの講義ノートでは省略し、(3) だけを問題にしたい*1 。このためには、次の結果を先に示して*1 ちなみに、(3) は実数での同じような不等式、|a + b| ≤ |a| + |b|おくと便利である。

|x · y| ≤ kxkkyk
これは極めて重要な不等式であり、Cauchy-Schwarz の不等式という名前がついている。最初に、これが成り立っていれば (3) を示すことができるというのを確認しておこう。それは、kx + yk2 =(x + y) · (x + y)

= x · x + 2x · y + y · y= kxk2 + 2x · y + kyk2
≤ kxk2 + 2kxkkyk + kyk2
= (kxk + kyk)2から、両辺の二乗を取り除いて得ることができる。間にひとつだけはさまった不等号のところで Cauchy-Schwarz の不等式を使っていることに注意。
後は Cauchy-Schwarz の不等式を示すだけである。このためには、次の関数

f (t) = ktx + yk2を考える。右辺はノルムの定義からどんな t に対しても 0 以上である。一方で、(5)(6)(7)などを使って計算すると、

f (t) = ktx + yk2 = (tx + y) · (tx + y)
= kxk2 t2 + 2(x · y)t + kyk2
= at2 + bt + cとなる。ただし a = kxk2 , b = 2x · y, c = kyk2 である。ここで a = 0 であるとすれば

x = 0 なので、x · y と kxkkyk は両方 0 になり、よって Cauchy-Schwarz の不等式が成り立つ。よって我々は a > 0 であるときだけを考えれば十分である。
さて、f (t) は上で書いたように二次の多項式であり、さらに f (t) ≥ 0 がすべての t について成り立つ。よって前期で示したように、この式の判別式 D = b2 − 4ac は 0 以下である。計算すると、

D/4 = (x · y)2 − kxk2 kxk2 ≤ 0ということになる。ここから、(x · y)2 ≤ kxk2 kyk2があって、これも三角不等式と呼ばれる。これの証明は簡単で、単に a と b の符号が + のときと − のときとで場合分けして示すだけでよい。しかし、ベクトルではそう簡単にはいかない。

がわかり、両辺の正の平方根を取ることで、|x · y| ≤ kxkkykがわかる。これで示せた。
注意：実は、この証明は内積の性質 (i)-(iv) だけしか使っておらず、ベクトルの正体が(x1 , ..., xn ) であるという事実を一切、用いていない。したがって、たとえば [0, 1] 区間上で定義された連続な実数値関数 f, g に対して

Z 1
f ·g =

f (x)g(x)dx0と定義して、これが (i)-(iv) の条件を満たすことを確かめれば、そこからただちにこの場
合の Cauchy-Schwarz の不等式

sZ 1

Z 1
f (x)g(x)dx ≤0s

Z 1(f (x))2 dx0(g(x))2 dx0を得ることができる。このように、この不等式の応用範囲は極めて広い。
問題４：内積とノルムの性質 (1)(2)(i)(ii)(iii)(iv) を示せ。

・行列n × m のボックスに数が詰まっているものを行列 (matrix) と呼ぶ。たとえば、

2 3 1
1 0 −5などは 2×3 の行列である。横に抜き出したのを行 (row)、縦に抜き出したのを列 (column)と呼ぶ。たとえば上の行列の二列目は 30である。A が行列のとき、i 行 j 列の要素は aij と書くことにする。

n × m の行列 A と m × r の行列 B はかけ算ができる。このかけ算 C = AB は、
cij = ai1 b1j + ai2 b2j + ... + aim bmj

を i 行 j 列の要素として持つ行列になる。たとえば、

A=2 31 0
1 01,B = 0 4−52 0とすれば、

AB =4 12−9 033


3−10となる。
特に重要なのが、n × m 行列 A と m 次元ベクトル x のかけ算である。やってみるとわかるが、A の i 列目のベクトルを ai とすれば、

Ax = x1 a1 + ... + xm amと分解できる。したがって、特に kxk ≤ 1 の場合、

kAxk ≤ ka1 k + ka2 k + ... + kam k
1x とすれば、がわかる。ところがこのとき、任意のベクトル x 6= 0 に対して、y = ∥x∥

Ax = kxkAy
なので、kAxk ≤ kxk[ka1 k + ... + kam k]である。当然ながら、この式は x = 0 のときも成り立つので、すべての x に対して

kAxk ≤ M kxkとなる数 M の存在がわかった。このような M の最小値を kAk と書く。この関数

A 7→ kAk は実はノルムであることが知られているが、ここでは証明しない。
行列の理論はものすごくいろいろあるが、本講義で使う知識はさしあたりここまでである。

・全微分可能性関数 f : Rn → Rm を考える。この関数 f と点 x ∈ Rn に対して、ある m × n 行列 Aが、kf (x + v) − f (x) − Avk=0v→0kvklimという式を満たすとき、f は x において全微分可能である、と言う。また、行列 A のことを f の x における全微分の値と呼んで、これを Df (x) と書く。
全微分可能な関数は偏微分可能であり、さらにDf (x) = (fx1 (x), fx2 (x), ..., fxn (x))となることが知られている。これは非常に簡単に示せる。実際、たとえば Df (x) = Aだったとして、その第一列を a1 とし、v = (h, 0, ..., 0) とすれば、三角不等式から

f (x1 + h, x2 , ..., xn ) − f (x1 , x2 , ..., xn )− a1hkf (x + v) − f (x) − Avk=kvk→0となるので、正しい。
逆に f が偏微分可能だからと言って、全微分可能になるとは限らない。しかし次は成り立つ。
定理１：f が x の近くで連続微分可能（つまり、偏導関数が連続）ならば、f は x において全微分可能である。
証明：f が実数値関数のときのみ示す。実際のところ、f がベクトル値関数であっても、その全微分可能性は、f の各座標ごとの全微分可能性と同値であることは簡単に示せるので、これでよい。
さて、f が実際に x の近くで連続微分可能であったとしよう。そして、v = (v1 , ..., vn )とし、g1 (y1 ) = f (y1 , x2 + v2 , ..., xn + vn ),g2 (y2 ) = f (x1 , y2 , x3 + v3 , ..., xn + vn ),...
gn (yn ) = f (x1 , ..., xn−1 , yn )とする。すると定義から

gi′ (yi ) = fxi (x1 , ..., xi−1 , yi , xi+1 + vi+1 , ..., xn + vn )である。よって平均値の定理から、0 ≤ θi ≤ 1 となるある数 θi についてf (x + v) − f (x) ===nX
i=1n
X
i=1n
X

[gi (xi + vi ) − gi (xi )]vi gi′ (xi + θi vi )vi fxi (x1 , ..., xi−1 , xi + θi vi , xi+1 + vi+1 , ..., xn + vn )i=1

≡ Bvである。ただし B はその i 列目が fxi (x1 , ..., xi−1 , xi + θi vi , xi+1 + vi+1 , ..., xn + vn ) と一致するような横ベクトル（つまり、1 × n 行列）である。そこで横ベクトル A を、そのi 列目が fxi (x) と一致するようなものとすれば、
1|f (x + v) − f (x) − Av|
kvk
1=|Bv − Av|
kvk
1=|(B − A)v|kvk
1
≤kB − Akkvk = kB − Akkvk

0≤となる。ここで不等号は Cauchy-Schwarz の不等式によった（(B −A)v はベクトル B −Aと v の内積に等しい）。θi は１より小さいので、fx , fy が連続であるという仮定から、この右辺 kB − Ak は v → 0 のときに 0 に収束する。したがって、0 とこれにはさまれた項である

1|f (x + v) − f (x) − Av|kvk
も 0 に収束し、よって A = Df (x) である。これで証明が終わる。 ■・合成関数の微分の公式、証明
一 変 数 で 、合 成 関 数 の 微 分 の 公 式 と は 、h(x) = f (g(x)) で あ る と き 、h′ (x) =f ′ (g(x))g ′ (x) となるという公式だった。今回はより一般の場合の公式を与える。つまり、f : Rn → Rm とし、g : Rm → Rk とする。すると ℓ(x) = (f ◦ g)(x) とすれば、ℓ : Rn → Rk である。これについて、次の定理が成り立つ。

定理２ (chain rule)：f が g(x) で全微分可能、g が x で全微分可能ならば、ℓ は x で全微分可能であり、Dℓ(x) = Df (g(x))Dg(x)が成り立つ。

n = m = k = 1 ならば、ここからただちに一変数の合成関数の微分の公式 (f ◦ g(x))′ =f ′ (g(x))g ′ (x) が出てくる。また n = k = 1, m = 2 ならば、
(f (g1 (x), g2 (x)))′ = fx1 (g1 (x), g2 (x))g1′ (x) + fx2 (g1 (x), g2 (x))g2′ (x)が出てくる。後で述べるように、この公式を f (x1 , x2 ) = x1 x2 に適用することで、容易にかけ算の微分の公式を得ることができる。
一変数の合成関数の微分の公式は f, g が微分可能でさえあれば適用することができた
が、二変数の合成関数の微分の公式は f, g が偏微分可能である、というだけでは出てこな
い。f, g は全微分可能でないといけないのである。これが、この公式を難解にしているひとつの原因である。ただし、さきほど証明したことから、連続微分可能であれば全微分可能であるため、この仮定はそこまで強いものではない。
証明に入る前に、これを使った例をいくつか挙げておこう。
例１：f (x, y) = xy とする。このとき fx (x, y) = y, fy (x, y) = x である。したがって、上の定理を適用すれば、(f (g(z), h(z)))′ = fx (g(z), h(z))g ′ (z) + fy (g(z), h(z))h′ (z) = h(z)g ′ (z) + g(z)h′ (z)が成り立つ。これは明らかにかけ算の微分の公式である。
例２：f (x, y) = xn y とし、f (x, y) = 1 という等高線を考える。この式は、

f (x, y) = 1 ⇔ xy = 1 ⇔ y =1= x−nnxと変形できる。そこで、g(x) = x−n としよう。このとき、

f (x, g(x)) = 1が常に成り立つため、(f (x, g(x)))′ = 0である。一方で定理２から、(f (x, g(x)))′ = fx (x, g(x))(x)′ + fy (x, g(x))g ′ (x) = fx (x, g(x)) + fy (x, g(x))g ′ (x)であるため、

fx (x, g(x)) + fy (x, g(x))g ′ (x) = 0が成り立っていなければいけないことになる。この式を変形すると、

g ′ (x) = −fx (x, g(x))
fy (x, g(x))

である。fx (x, y) = nxn−1 y, fy (x, y) = xn だから、これを当てはめると、

g ′ (x) =−nxn−1 g(x)= −nx−n−1xnであることがわかる。こうして我々は、(x−n )′ = −nx−n−1 という公式を得た。（ただし、
実はこの証明では g の微分可能性が示されていない。これは、陰関数定理という極めて高等な定理を用いないと一般には証明できないので、普通このような計算は使わない。）
さて、ふたつの例で定理２の感覚はだいたいつかめたと思われるので、いよいよ定理の証明に入っていこう。このために、ひとつ補題を準備する。
補題：f : Rn → Rm のとき、Df (x) = A であることと、以下の条件を満たす関数 ε(v) が存在することは同値である。

1) ε(0) = 0 である。
2) ε(v) は v = 0 で連続である。
3) 次の等式
kf (x + v) − f (x) − Avk ≤ ε(v)kvkが成り立つ。

補題の証明：補題のような ε(v) が存在すれば明らかにkf (x + v) − f (x) − Avk= lim ε(v) = 0v→0v→0kvklimが成り立つので、Df (x) = A である。逆に、Df (x) = A であるとき、(ε(v) =0∥f (x+v)−f (x)−Av∥∥v∥と定義すれば、明らかに 1)-3) が成り立つ。 ■if v = 0,otherwise以上の補題により、まず

ε1 (w)kwk ≥ kf (g(x) + w) − f (g(x)) − Df (g(x))wk
ε2 (v)kvk ≥ kg(x + v) − g(x) − Dg(x)vkが成り立つような ε1 , ε2 という関数が存在することが示せた。ただし両方とも 0 で連続でそのときの値は 0 である。g(x + v) − g(x) = w と以下略記することにする。よって、

kℓ(x + v) − ℓ(x) − Df (g(x))Dg(x)vk= kf (g(x + v)) − f (g(x)) − Df (g(x))Dg(x)vk= kf (g(x) + w) − f (g(x)) − Df (g(x))Dg(x)vk≤ kf (g(x) + w) − f (g(x)) − Df (g(x))wk + kDf (g(x))(g(x + v) − g(x) − Dg(x)v)k≤ ε1 (w)kwk + kDf (g(x))kε2 (v)kvk≤ ε1 (w)kg(x + v) − g(x) − Dg(x)vk + ε1 (w)kDg(x)vk + kDf (g(x))kε2 (v)kvk≤ [ε1 (w)ε2 (v) + ε1 (w)kDg(x)k + kDf (g(x))kε2 (v)]kvkとなるので、ε(v) = ε1 (w)ε2 (v) + ε1 (w)kDg(x)k + kDf (g(x))kε2 (v)と定義すると、ε(v) は関数 ℓ について補題の 1)-3) の条件を満たす。よって補題から、

Dℓ(x) = Df (g(x))Dg(x)であることがわかって、証明が完成する。 ■