制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。

固有値・固有ベクトルの基礎知識(具体例から実践的利用法まで)

この記事では正方行列の固有値固有ベクトルについてまとめます。線形代数学の中でも固有値固有ベクトルは主要トピックとして扱われています。本記事では主に固有値に焦点を当ててその応用例や事例について紹介します。固有値固有ベクトルについて説明した動画や関連記事リンクは最下部に置いています。

行列の固有値

n×nの正方行列が与えられたとき、その行列にはnの二乗の要素があります。nが大きくなればなるほど、行列の特徴を捉えにくくなります。行列の特徴量として代表的なもののひとつが固有値です。固有値は n 個あり、その値が様々な分野で活用されます。

以下が行列の固有値について説明した動画になります。3分の動画ですので、先に視聴することで理解が深まります。

youtu.be

正方行列の特徴は?

固有値線形代数学において重要なトピックの一つです。大学の1年次で学びます。まず行列ですが、行列は数値を縦と横に配列したものであり、行の数をm、列の数を n とするならば、m × n の行列と呼びます。m と n の数が一致、すなわち、m = n のとき、正方行列と呼びます。特に、正方行列のうち、全ての固有値が非零であれば正則行列と呼びます。

行列の表現を示した図

行列について

固有値の定義式ですが先ほどの行列 a を用いて Ax =λx という形であらわされるような縦長のベクトル x とスカラ量λの組が存在するときに、これらの値のことを固有値と呼びます。特に、正則行列の場合には固有値は n 個であり固有ベクトルも独立なものが n 本出てきます。

固有値の式を示した図

固有値の式

固有値の特徴

次に固有値の特徴について 説明します。まず固有値は n × n の行列に対して存在します。すなわち行の数と列の数が同じとなるような行列に対して固有値が存在します。

固有値の利用例

ここで固有値がどのように使われるかという話について説明します。通常 n × n の行列の場合、値の数は n の2乗存在することになります。それに対して固有値の数は n 個しかありません。そのようなことから、行列が持つ重要な特徴を少ないパラメータの数に落とし込む、といったことができています。そしてこの応用先は数学分野だけでなく統計学制御工学物理機械学習などさまざまな分野にわたります。

例えば制御工学では、制御システム(対象)の安定性が固有値によって特徴づけられ、連続時間システムの場合は固有値の実数がすべて負であるならばシステムが安定となります。また、離散時間システムがその絶対値が全て1未満であればシステムが安定になります。すなわち、システムの状態量が収束するといったことが固有値によって特徴づけられます。

固有値の例

固有値の例

具体的な固有値の取りうる値について

そしてこの n × nの行列の固有値の数というのは n 個となります。ただし場合によっては重複することもありえます。またこの行列の中の値がすべて実数であったとしても、固有値複素数の場合がありえます。ここでは固有値の例を説明します。

 
最後にA行列がこのように与えられる場合、この時、固有値は1と2± iというふうに複素固有値となっています。

簡単な固有値の例

1 × 1の行列(スカラ)の固有値

1 × 1の行列であるスカラの場合、固有値はその値そのものになります。

対角行列の固有値

対角行列とは、行列サイズが n × n の正方行列にあって、非対角要素が全て零の行列を指します。サイズから当然、対角項の数は n 個あります。

対角行列の固有値

この例では、Aの固有値は1,-5,12となります。

行列が対角行列として与えられる場合、その固有値は対角に並んでる要素と一致しています。対角行列では、固有ベクトルも、簡単に導出できます。

三角行列の固有値

三角行列のケースです。上三角行列、下三角行列において、それぞれ行列の固有値は、対角に並ぶ n 個の要素がすべてそのまま固有値となります。

三角行列の固有値

この例ではAの固有値は4,-1,6となります。

計算機による固有値の計算について

固有値固有ベクトルの計算については、多くの動画内で紹介されています。他方、手計算でできる処理には限りがあり、工学分野では固有値の計算に数値シミュレーターを使います。例えば、MATLAB のようなプログラミング言語を使うことによって、かなり次数の大きな行列に対しても固有値の計算が簡単にできます。

MATLABによる固有値と固有ベクトルの計算例

MATLABによる固有値固有ベクトル計算

図では、行列Aを3 × 3として、小数点以下を含む形で与えています。これに対して固有値は関数 eig を使って 3 つの値が求まります。また、同じ関数により固有ベクトルが V の 3 列の形で 3 つ求まります。Dの対角項が固有値に対応します。このとき、

固有値

を満たします。

特異値

最後に行列が正方行列でない場合について説明します。そのような場合は固有値ではなく、少し似た演算の仕方で求まる、特異値というものを特徴量にすることがあります。

固有値の活用例(制御工学:極配置によるフィードバック制御

制御工学で、対象を制御するためのコントローラ設計に固有値が活用されます。具体的には、状態方程式と呼ばれる対象表現形式において、極(行列の固有値)を適切に設定するようにコントローラの係数を定めることにより所望の制御が可能になります。詳しくは例えば以下の動画をご覧ください。

youtu.be

固有値固有ベクトルの動画(7本)

以下は固有値固有ベクトルについて説明している動画になります。関連する内容として特異値(長方行列の場合の固有値みたいなもの)に関する動画リンクも置いています。

 

youtu.be

youtu.be

youtu.be

youtu.be

youtu.be

youtu.be

youtu.be

自己紹介

岡島 寛 (熊本大学工学部情報電気工学科准教授)

制御工学の研究をしています。モデル誤差抑制補償器,状態推定,量子化制御など

研究室HP

岡島研究室(システム制御 control-theory.com)

制御動画ポータルサイト

制御工学チャンネル(伝達関数・状態方程式・MATLABなど)

電気動画ポータルサイト

電気電子チャンネル (半導体・電気・電子工作など)

YouTube 

制御工学チャンネル (制御YouTubeチャンネル)

 

本記事をお読みいただきありがとうございます。役に立った、と思われましたら、ブックマーク・シェア等のアクションをしていただければ嬉しいです。