1

3x3 行列 E があり、この最適化問題を解こうとしています。

|| E * t || = minimum

ここで、t は探している解であり、単位ベクトル (3x1 行列として表される) でなければなりません。|| × || x のユークリッド距離を示します。

この問題を解決するのに役立つライブラリはありますか? さまざまなライブラリでいくつかの解決関数を見つけましたが、 t が単位ベクトルでなければならないという追加の制約を課すことができる関数を見つけることができないようです。ライブラリなしでプログラムでこれを解決できますか?

4

1 に答える 1

5

私には固有ベクトル型の問題のように見えます - あなたminimumは の固有値の中で最小の絶対値でなければなりませんE.

行列 Eの特異値分解(SVD) を実行します (この操作は、優れた線形代数ライブラリの一部として利用できるはずです)。これにより、E の因数分解が次のように得られます。

E =  U diag V*

ここで、diagは非負の対角値を持つ対角行列であり、UおよびVは正規直交です。

の最小の対角要素を見つけdiagます。の対応する行V*(または列V) が の解ですt

のこの値は正規直交でtあるため単位ベクトルになり、ベクトルの長さが維持されるため、結果のベクトルは最小になります。VE tUV

于 2012-10-03T17:27:15.237 に答える