質問

アドバイスをお聞かせ下さい-

私はこの方程式-

Ax=y

場合は、合理的なm*マトリクスn(m<=n)、xとyのベクトルの 右サイズです。知っているとyについて、どうなるかはわからないがxと同等です。I ることも分かっていることで、このあx Ax equalsう。を見つけていきたいのベクトルx"は、その斧ができるだけ近く y.ることを意味(Ax'-y)と(0,0,0,...0)です。

私を使用する必要はlstsq機能:http://www.scipy.org/doc/numpy_api_docs/numpy.linalg.linalg.html#lstsq

に組み込む作業、および機能:http://www.scipy.org/doc/numpy_api_docs/numpy.linalg.linalg.html#svd

かわからないのです。で誰かをご提示ください ご来場いただいたこれらの機能を利題は私の問題です。

ん!!!

役に立ちましたか?

解決

に組み込む作業、およびの場合はm < n,だんに十分にすることはできない。

のドキュメントのためのlstsqなどがあります。その少なくとも角継手の場合にはm>n.

まm < nしてください に組み込む作業、および.

他のヒント

更新されたドキュメントには、より多くの有用なビットが...あなたが望むように見えるかもしれ

numpy.linalg.lstsq(A, y)

行列 A の SVD は、次のような直交行列 U および V と対角行列 Σ を与えます。

= U Σ V T

どこ U UT = ; V VT =

したがって、もし

バツ = y

それから

バツ U Σ V T = y

バツ U Σ V T V = y V

バツ U Σ = y V

U T バツ Σ = y V

バツ Σ = U y V

バツ = Σ -1 U T y V

バツ = V T Σ -1 U T y

したがって、SVD が与えられると、 得られる バツ.


一般的な行列の場合ですが、 AB != B A, 、ベクトルにも当てはまります バツ それ ×U == U T バツ.

たとえば、次のように考えてみましょう バツ = ( x, y )、 U = ( a, b ;CD ):

バツ U = ( x, y ) ( a, b ;CD )

= ( xa+yc, xb+yd )

= ( ax+cy, bx+dy )

= ( a, c;b, d ) ( x;y)

= U T バツ

の値を見れば一目瞭然です。 バツ U の内積である バツ と列 U, 、および の値 UTバツ の内積である バツ そしてその列は UT, 、および転置における行と列の関係

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top