|
204 |
汎用逆行列プログラム |
|
|
汎用逆行列プログラムは行数と列数の異なる行列(正則ではない)の逆行列を求めることができるように、 |
|
|
正則逆行列を拡張したものです。 |
|
|
正則行列でない場合は、ムーアペンローズ逆行列が得られます。 |
|
|
|
 |
|
↑クリックすると、インフォカートの決済画面に移ります。 |
|
|
|
|
|
|
操作画面は次の通りです。 |
|
|
|
|
|
|
|
|
|
|
 |
|
|
青色 |
データの行列範囲として、ドラッグして選択します。 |
|
|
|
|
|
|
|
|
ムーアペンローズ逆行列出力 |
|
|
|
|
|
|
正則行列ではない場合、クリックしてチェックを |
|
|
|
|
|
入れます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
中間出力 |
|
|
|
|
|
|
|
中間出力を表示させたい場合に、クリックして |
|
|
|
|
チェックを入れます。 |
|
|
|
|
|
|
|
|
|
出力先 |
出力を開始したいセル1か所をクリックして |
|
|
|
|
選択します。 |
|
|
|
|
|
|
|
|
開始 |
設定が終了したら、「開始」をクリックします。 |
|
|
|
|
|
|
|
|
|
|
|
|
【サンプルデータA】 |
|
|
|
5 |
1 |
1 |
|
|
1 |
3 |
1 |
|
|
1 |
2 |
3 |
|
|
|
【出力結果」 (実際のプログラムでは、罫線などの表示はありません。 |
|
|
|
逆行列(ランク=3) |
|
ムーアペンローズ逆行列 |
|
|
0.21875 |
-0.0313 |
-0.0625 |
|
0.21875 |
-0.0313 |
-0.0625 |
|
|
-0.0625 |
0.4375 |
-0.125 |
|
-0.0625 |
0.4375 |
-0.125 |
|
|
-0.0313 |
-0.2813 |
0.4375 |
|
-0.0313 |
-0.2813 |
0.4375 |
|
|
|
【サンプルデータB】 |
|
|
|
次のような連立方程式は |
|
|
@ |
5*x1+6*x2+x3=3 |
|
|
A |
2*x1+4*x2+3*x3=6 |
|
|
B |
x1+3*x2+2*x3=5 |
|
|
C |
3*x1+3*x2+6*x3=4 |
|
|
@とAからDをつくり |
|
|
D |
7*x1+10*x2+4*x3=9 |
|
|
B、CとDから解くと、 |
|
|
|
|
|
|
|
答え |
|
|
|
|
x1 |
-1.6667 |
|
|
|
|
x2 |
1.83333 |
|
|
|
|
x3 |
0.58333 |
が得られます。 |
|
またBとCから、Eを作り |
|
|
E |
4*x1+6*x2+8*x3=9 |
|
|
@、AとEから解くと |
|
|
|
|
|
|
|
答え |
|
|
|
|
x1 |
-2 |
|
|
|
|
x2 |
2.07143 |
|
|
|
|
x3 |
0.57143 |
が得られます。 |
|
|
|
|
結果は不安定になっています。 |
|
|
そこで、逆行列によって、誤差が少ない解を求めてみます。 |
|
|
|
上の連立方程式の係数行列は、次のように表せます。 |
|
|
x1 |
x2 |
x3 |
定数 |
|
|
5 |
6 |
1 |
3 |
|
|
2 |
4 |
3 |
6 |
|
|
1 |
3 |
2 |
5 |
|
|
3 |
3 |
6 |
4 |
|
|
|
上の係数行列の逆行列としてムーアベンローズ逆行列を求めます。 |
|
|
ムーアペンローズ逆行列 |
|
逆行列(ランク=3) |
|
|
0.2524 |
-0.2716 |
-0.3546 |
0.21193 |
|
0.11111 |
1 |
-1.5556 |
|
|
-0.0256 |
0.23003 |
0.28275 |
-0.205 |
|
0.11111 |
-1 |
1.44444 |
|
|
-0.115 |
0.03514 |
0.02236 |
0.16081 |
|
-0.2222 |
1 |
-0.8889 |
|
|
|
上のムーアペンローズ逆行列と定数行列との乗算を行います。 |
|
|
定数 |
|
答え |
|
|
0.2524 |
-0.2716 |
-0.3546 |
0.21193 |
|
3 |
|
-1.7977 |
|
|
-0.0256 |
0.23003 |
0.28275 |
-0.205 |
* |
6 |
= |
1.89721 |
|
|
-0.115 |
0.03514 |
0.02236 |
0.16081 |
|
5 |
|
0.62082 |
|
|
4 |
|
|
|
検証すると、誤差の少ない解であることがわかります。 |
|
|
答え |
|
定数 |
|
|
5 |
6 |
1 |
|
-1.7977 |
|
3.01583 |
|
|
2 |
4 |
3 |
* |
1.89721 |
= |
5.856 |
|
|
1 |
3 |
2 |
|
0.62082 |
|
5.13562 |
|
|
3 |
3 |
6 |
|
4.0236 |
|
|
|
逆行列の計算は、まず固有値と固有ベクトルを求めて、正則性を検査します。 |
|
|
次に掃き出し法によって、正則の逆行列を求めます。 |
|
|
次に、転置行列をしようして、ムーアベンローズの逆行列を計算します。 |
|
|
|
以下に、いろいろなケースの逆行列計算結果を示します。 |
|
|
|
1 |
2 |
3 |
|
1 |
2 |
|
1 |
1 |
|
|
2 |
3 |
1 |
|
2 |
3 |
|
1 |
-2 |
|
|
3 |
1 |
|
-2 |
1 |
|
|
|
逆行列(ランク=2) |
|
逆行列(ランク=2) |
|
逆行列(ランク=2) |
|
|
-3 |
2 |
|
-3 |
2 |
|
0.66667 |
0.33333 |
|
|
2 |
-1 |
|
2 |
-1 |
|
0.33333 |
-0.3333 |
|
|
|
ムーアペンローズ逆行列 |
|
ムーアペンローズ逆行列 |
|
ムーアペンローズ逆行列 |
|
|
-0.1067 |
0.22667 |
|
-0.1067 |
-0.0667 |
0.41333 |
|
0.33333 |
0 |
-0.3333 |
|
|
-0.0667 |
0.26667 |
|
0.22667 |
0.26667 |
-0.2533 |
|
0.33333 |
-0.3333 |
0 |
|
|
0.41333 |
-0.2533 |
|
|
|
固有値λ2 |
|
固有値λ2 |
|
固有値λ2 |
|
|
25 |
3 |
|
25 |
3 |
|
9 |
3 |
|
|
特異値μ=Sqr(λ2) |
|
特異値μ=Sqr(λ2) |
|
特異値μ=Sqr(λ2) |
|
|
5 |
1.73205 |
|
5 |
1.73205 |
|
3 |
1.73205 |
|
|
|
ベクトルU |
|
ベクトルU |
|
ベクトルU |
|
|
0.70711 |
0.70711 |
|
0.70711 |
0.70711 |
|
0.70711 |
0.70711 |
|
|
0.70711 |
-0.7071 |
|
0.70711 |
-0.7071 |
|
-0.7071 |
0.70711 |
|
|
|
ベクトルV |
|
ベクトルV |
|
ベクトルV |
|
|
0.70711 |
0.70711 |
|
0.70711 |
0.70711 |
|
0.70711 |
-0.7071 |
|
|
0.70711 |
-0.7071 |
|
0.70711 |
-0.7071 |
|
0.70711 |
0.70711 |
|
|
|
|
|
2 |
1 |
3 |
3 |
|
2 |
4 |
2 |
|
|
4 |
2 |
1 |
6 |
|
1 |
2 |
4 |
|
|
2 |
4 |
2 |
3 |
|
3 |
1 |
2 |
|
|
3 |
6 |
3 |
|
|
|
逆行列(ランク=3) |
|
逆行列(ランク=3) |
|
|
0 |
0.33333 |
-0.1667 |
|
0 |
-0.2 |
0.4 |
|
|
-0.2 |
-0.0667 |
0.33333 |
|
0.33333 |
-0.0667 |
-0.2 |
|
|
0.4 |
-0.2 |
0 |
|
-0.1667 |
0.33333 |
0 |
|
|
|
ムーアペンローズ逆行列 |
|
ムーアペンローズ逆行列 |
|
|
0 |
0.10256 |
-0.0513 |
|
0 |
-0.2 |
0.4 |
0 |
|
|
-0.2 |
-0.0667 |
0.33333 |
|
0.10256 |
-0.0667 |
-0.2 |
0.15385 |
|
|
0.4 |
-0.2 |
0 |
|
-0.0513 |
0.33333 |
0 |
-0.0769 |
|
|
0 |
0.15385 |
-0.0769 |
|
|
|
固有値λ2 |
|
固有値λ2 |
|
|
101.843 |
7.12778 |
4.02941 |
|
101.843 |
7.12778 |
4.02941 |
|
|
特異値μ=Sqr(λ2) |
|
特異値μ=Sqr(λ2) |
|
|
10.0917 |
2.66979 |
2.00734 |
|
10.0917 |
2.66979 |
2.00734 |
|
|
|
ベクトルU |
|
ベクトルU |
|
|
0.4397 |
0.1393 |
0.88728 |
|
0.4397 |
0.1393 |
0.88728 |
|
|
0.72717 |
-0.6351 |
-0.2607 |
|
0.72717 |
-0.6351 |
-0.2607 |
|
|
0.52716 |
0.75981 |
-0.3805 |
|
0.52716 |
0.75981 |
-0.3805 |
|
|
|
ベクトルV |
|
ベクトルV |
|
|
0.4397 |
0.72717 |
0.52716 |
|
0.4397 |
0.72717 |
0.52716 |
|
|
0.1393 |
-0.6351 |
0.75981 |
|
0.1393 |
-0.6351 |
0.75981 |
|
|
0.88728 |
-0.2607 |
-0.3805 |
|
0.88728 |
-0.2607 |
-0.3805 |
|
|
|
 |
|
|
↑クリックすると、インフォカートの決済画面に移ります。 |
|
|
|
●特定商取引法に基づく表記 |
|
|
|
お問い合わせフォームへ行く |
|
|
|
|
|
|
|
|
|
|
|
|
|
|