【Python入門】コーシー・シュワルツの不等式|内積で確認する

コーシー・シュワルツの不等式|内積で確認する_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

「コーシー・シュワルツの不等式」は、Pythonで容易に検証することができます。

本記事では、Pythonを使用したコーシー・シュワルツの不等式の確認方法について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonを使用したコーシー・シュワルツの不等式の確認方法について学びたい人
levtech-ad

コーシー・シュワルツの不等式

コーシー・シュワルツの不等式(Cauchy–Schwarz inequality)とは、2つのベクトルの内積について、それぞれのベクトルの大きさによって評価する不等式で、下式で表されます。

\(\left| x\cdot y\right| \leq \left| x\right|\left| y\right|\)

NumPyとSciPyを使用して、上記不等式が成り立つことを検証してみます。

#input
import numpy as np
from scipy.linalg import norm

x = np.array([7, 5])
y = np.array([3, 9])

a = np.abs(np.dot(x, y))
b = norm(x) * norm(y)

print("|x||y|-|x・y| : {:.3f}".format(b - a))
#output
|x||y|-|x・y| : 15.609

三角不等式

コーシー・シュワルツの不等式から導かれる不等式として、三角不等式(triangle inequality)があります。

下式で表される三角不等式は、三角形における2辺の長さの和は他の辺の長さよりも常に大きいことを意味しています。

\(\left| x+y\right| \leq \left| x\right| +\left| y\right|\)

NumPyとSciPyを使用して、上記不等式が成り立つことを検証してみます。

#input
import numpy as np
from scipy.linalg import norm

x = np.array([7, 5])
y = np.array([3, 9])

a = norm(x + y)
b = norm(x) * norm(y)

print("|x|+|y|-|x+y| : {:.3f}".format(b - a))
#output
|x|+|y|-|x+y| : 64.404

まとめ

この記事では、Pythonを使用したコーシー・シュワルツの不等式の確認方法について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました