方程式を解きたいのですが、解き方がわかりません。実際には行列型であるベクトル x を取得しました。方程式 x.transpose()*v=0 を解きたいと思います。ここで、v は別のベクトルです。
誰かが私を助けることができますか?
よろしくお願いします
方程式を解きたいのですが、解き方がわかりません。実際には行列型であるベクトル x を取得しました。方程式 x.transpose()*v=0 を解きたいと思います。ここで、v は別のベクトルです。
誰かが私を助けることができますか?
よろしくお願いします
任意のベクトルを取り、それを の直交補数に射影しx
ます。
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> x = numpy.matrix([1, 3.14, 2.73]).T
>>> P = x * x.T / (x.T * x) # projector onto the space spanned by x
>>> Pperp = numpy.identity(3) - P # projector onto x's orthogonal complement
>>> Pperp * x
matrix([[ 0.00000000e+00],
[ 0.00000000e+00],
[ -2.22044605e-16]])
>>> y = numpy.matrix(numpy.ones((3,1)))
>>> yperp = Pperp * y
>>> yperp
matrix([[ 0.62484642],
[-0.17798225],
[-0.02416928]])
>>> x.T * yperp
matrix([[ -4.16333634e-16]])
書かれているように、これは非常に制約がなく、かなり恣意的な解が得られますが、同じアイデアを構築して、すべての解の一連の基底ベクトルを見つけることができます。