ても済む線形代数の基礎助
-
22-08-2019 - |
質問
アドバイスをお聞かせ下さい-
私はこの方程式-
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, 、および転置における行と列の関係