距離関数 | 三角不等式をn変数のシュワルツの不等式から証明

距離関数-表紙

このブログでは、「 距離関数 : distance function 」について、ユークリッド距離を定める関数を説明しています。

n 次元で見ると大変そうですが、1 次元のときは、数直線の絶対値、2 次元や 3 次元のときには、ピタゴラスの三平方の定理で、ユークリッド距離を既に学習しています。

三角不等式という不等式が、よく関連するので、それについて、絶対値やルートの式をうまく変形できるように解説をしています。

なお、このブログで扱っているのは、実ユークリッド空間の内容でして、登場するベクトルの成分はすべて実数という設定で議論を進めています。

【このブログの流れ】
このブログでは、まず、n 次元ユークリッド空間におけるユークリッド距離の定義を述べます。

そして、n が具体的な 1 や 2 や 3 というときについて、説明をしていきます。

n = 1 のときのユークリッド空間は、数直線です。

n = 2 のときが、ユークリッド平面で、n = 3 のときがユークリッド空間になります。

シュワルツの不等式を使って、三角不等式を導きます。その後で、証明に用いたシュワルツの不等式の証明を書いています。

さらに、シュワルツの不等式を使って、統計分野の相関係数の値の範囲が、-1 以上 1 以下となることが導けます。

相関係数については、最後に該当する記事へリンクを用意しています。

距離関数 :定義

それでは、n 次元ユークリッド空間における 2 点間の距離を定める距離関数 d の定義から見てみます。

距離関数-定義

n 次元ユークリッド空間なので、第 1 成分から第 n 成分まであります。

そして、2 点間距離を表す値 d(x, y) の式を見ると、ルートの中にシグマ記号です。

座標平面距離

n = 2 については、よく知っています。高校数学2 で学習した平面についての 2 点間の距離の公式になります。

ピタゴラスの三平方の定理を、xy-座標平面で使った馴染みのある公式です。

また、ルートをつけるということは、1/2 乗するということです。

指数の計算に慣れるために、1/2 乗を使って、2 個のときを表してみます。

x = (x1, x2), y = (y1, y2) に対して、
d(x, y) =
{(x1 – y1)2 + (x2 – y2)2}1/2 と定義します。

1 次元のときは、成分が 1 つしかないので、
{(x1 – y1)2}1/2 = | x1 – y1 |

中学で学習した、数直線上における二点間の距離を表す絶対値です。

シグマ記号は、ただの加法ですから、個数を 2 次元の 2 個と具体的に設定してシグマ記号を使わない形で表すと、高校数学でお馴染みの公式になります。

1 次元のときですが、数直線が 1 次元ユークリッド空間となるので、成分が 1 つしかないので、実数 x と実数 y について、2点間の距離を定義することになります。

n = 1 なので、もはやシグマは消えます。

n = 1 のときには、「実数の 2 乗」にルートをつけたときには、ルートを外すときに、絶対値がつくということに注意します。

空間座標でシグマ記号を考察

ここまで考えると、シグマの部分を扱う準備運動になってくるかと思います。3 次元ユークリッド空間だと、空間座標は第 3 成分まであります。

n = 3 のときなので、3 個の加法を計算することになり、シグマ記号が表している内容が分かります。

x = (x1, x2, x3), y = (y1, y2, y3) に対して、
d(x, y)
=
{(x1-y1)2+(x2-y2)2+(x3-y3)2}1/2 と二点間距離を定義します。

シグマ記号を使うと、
d(x, y) = {Σ (xi-yi)2}1/2 と、添え字 i が 1 から 3 まで動きます。

ここまで考えると、ルートの中がシグマ記号の部分が二乗和の形になっていることを捉えることができます。

このように考えると、4 次元ユークリッド空間だと、成分が第 4 成分まであるので、二乗和を 4 個足し合わせることが見えます。

そうすると、n 次元ユークリッド空間だと、第 n 成分まであるので、二乗和を n 個足し合わせたものがルートの中身だと分かります。

また、距離の定義は、
二乗和にルートなので、d(x, y) ≧ 0 ということが分かります。

ここから、ユークリッド距離についての三角不等式を解説します。

距離関数 :三角不等式の証明

d(x, y) について、
d(x, y) ≦ d(x, z) + d(z, y) という三角不等式が成立します。

二つのベクトル x と y の間に、もう一つ z を入れて寄り道をすると、距離が長くなるという内容を表しています。

この不等式は、シュワルツの不等式を使って導けます。


距離関数-シュワルツの不等式

この不等式の証明は、二次関数の判別式を利用して証明します。

シュワルツの不等式を使った証明

x = (x1, ・・・, xn) と、
y = (y1, ・・・, yn) との距離 d(x, y) の間に
z = (z1, ・・・, zn) が入ります。

1 ≦ i ≦ n に対して、
pi = zi - xi, qi = yi - zi と置きます。

各 i について、pi + qi = yi - xi となっています。

後は、d(x, z) の定義に基づいて計算をします。
(d(x, y))2= Σ (xi – yi)2= Σ (yi – xi)2
= Σ (pi + qi)2= Σ pi2+2Σpiqi+Σqi2
※ i は 1 から n まで走ります。

ここで、真ん中のシグマの中身を二乗の展開公式で展開をしてから、項別にシグマ記号を分配したものが、最後のシグマの式です。

シグマ記号を分配したので、シグマ記号が 3 ヵ所に出ています。

高校数学のシグマ計算でお馴染みの式変形をしてできた最後のシグマの式で、赤色で書いている部分に、シュワルツの不等式を使います。


距離関数-三角不等式の証明

赤色の部分にシュワルツの不等式を適用したことによって、等号が、「≦」に変化しました。

そして、真ん中の式を二乗の因数分解公式で因数分解をすると、最後の式になります。

※ この因数分解をするときに、指数法則を使って、赤色の中括弧の部分をどちらも 1/2 乗だと考えることをしています。

この最後の式は、d を使った距離の定義に基づいて書き換えたものが、
(d(x, y))2 ≦ (d(x, z) + d(z, y))2 です。

ここで、d(x, y), d(z, x), d(z, y) ≧ 0 だったので、不等式の両辺を 1/2 乗すると、
d(x, y) ≦ d(x, z) + d(z, x) となります。

これで、三角不等式が証明できました。

ここまでのまとめ

この距離関数の内容で、よく使われる基本となる内容として、実数 a に対して、a2 ≧ 0 という性質があります。

先ほどの三角不等式の式変形でも、このことを利用しています。

シュワルツの不等式の両辺を 1/2 乗した形のものを使って、三角不等式を証明しました。

もともとの三角不等式の左辺の値と右辺の値が、どちらも 0 以上の実数になっています。

そのため、1/2 乗をしても不等式の向きが明確に同じ向きになっているということを使っています。

実数を二乗すると、その値は 0 以上ということから、シュワルツの不等式の左辺と右辺の値がどちらも 0 以上となっているということからの式変形になります。

このシュワルツの不等式の証明ですが、相関係数というブログ記事で証明を解説しています。

ここで、距離関数の性質をまとめておきます。


【距離関数の性質】
(ア) d(x, y) ≧ 0
 等号成立は x = y のときに限る。
(イ) d(x, y) = d(y, x)
(ウ) d(x, y) ≦ d(x, z) + d(z, y)


ここからは、距離を意識しながら、点列についての基本となる定理を証明します。

距離関数 :有界点列と収束する部分列

記号ですが、m 次元のユークリッド空間のことを R(m) と表すことにします。

これは、実数全体 R を m 個で直積をとったものになり、この空間内の点は m 個の成分で表示されています。

「R(m) の有界点列 {a(n)} は収束する部分列をもつ」という基本となる定理を証明するために、以下で議論を進めていきます。

この定理は、「有界閉集合上で定義された連続関数が最大値および最小値をもつこと」の証明に使えます。

点列についての理解を深めておくと、n 次元のユークリッド空間での議論の理解に役に立ちます。

この連続関数の最大・最小の定理は、二次元以上でも証明をしています。

それでは、m 次元においての点列についての内容です。

点列の収束の定義

R(m) 内において、
点列 {a(n) | n = 1, 2, ・・・} が R(m) 内の点 a に収束することを次のように定義します。

任意の正の実数 ε (> 0) に対して、(εに依存して)自然数 k が存在して、
「n ≧ kならば、d(a(n), a) < ε」となるとき、点列{a(n)}は点 a に収束するといいます。

このように、距離を使って、収束が定義されています。2 以上の自然数 m について、R(m) の部分集合 A が有界であることの定義も述べておきます。


【定義】
A ⊂ R(m) について、ある正の実数 r が存在して、A に含まれるどんな点 x に対しても、
|| x || < r となるときに、A は有界であるといいます。


点列 {a(n) | n ∈ N } も R(m) における集合ですから、有界であるか、有界でないかのどちらかになります。

有界なときに、有界点列といわれます。

距離関数の性質から

【重要な定理】

R(m) の有界点列 {a(n)} は収束する部分列をもつ。


<証明>

点列 {a(n)} は有界だから、ある正の実数 r が存在して、任意の自然数 n に対して、a(n) のノルムは r より小さくなります。

自然数 k に対して、
a(k) の第 i 座標を a(k)(i) と表すことにします。
ただし、i = 1, 2, … , m とします。

ノルムの定義から、
|a(k)(i)| ≦ || a(k) || < r

第 i 座標の値をすべて集めてできる数列を、{a(n)(i) | n ∈ N} とする、この数列は有界です。

よって、実数の連続性の公理から収束する部分列が存在します。

このようにして、第 i 座標について、収束する部分列が存在するので、i = 1 から i = m までの収束する部分列を順に第 1 座標から第 m 座標まで並べると、収束する点列が構成できます。

第 i 座標の値をすべて集めてできる
数列{a(n)(i) | n ∈ N} についての収束する部分列を {bi(n) | n ∈ N} とします。

第 k 番目の点を
x(k) = (b1(k), … , bm(k)) とすると、
点列 {a(n) | n ∈ N} の部分列 {x(n) | n ∈ N} ができます。

数列 {bi(n) | n ∈ N} について、
任意の正の実数 ε に対し、自然数 N(i) が存在して、n ≧ N(i) ならば、|bi(n) - t(i)| < ε となるとします。

よって、t = (t(1), t(2), ・・・, t(m)) と置き、
N(1), N(2), ・・・, N(m) の中で最大の自然数を p とおくと、任意の正の実数 ε に対して、
n ≧ p ならば、d(x(n), t) < ε【証明完了】

この定理は、連続関数という記事で使っています。

これで、今回のブログ記事を終了します。

読んで頂き、ありがとうございました。