[アーカイブ!】純粋数学、物理学、化学など:トレードとは一切関係ない脳トレ問題集 - ページ 557

 

平面的な画像には効果があるようです。N次元の場合にも通用しそうですね。 異論はありませんか?

そろそろスクリプトを書いて確認した方が良さそうですね...。:)

 

つまり、座標xiを-sqrt(1-xi^2)で置き換えるだけです。これは、実際には、ベクトルの平面をi番目の軸から90度回転させたのと同じです(つまり、cosineを-sineで置き換えると、angle+pi/2のcosineが得られます)。あとは、結果を正規化するだけです。

しかし、この方法で集合内の他のすべてのベクトルに正規のベクトルを得ることができるかというと、全く そんなことはないのです。すべてのバリエーションから1つの正規のベクトルを選択する他の方法と同様に...。

 
alsu:

座標xiを-sqrt(1-xi^2)に置き換えればいいのです。これは、実際にはベクトルの極をi番目の軸から90度回転させることと同じです(つまり、cosineを-sineで置き換えると、angle+pi/2のcosineが得られます)。あとは、結果を正規化するだけです。

しかし、この方法で集合内の他のすべてのベクトルに正規なベクトルを得ることができるかというと、全く そんなことはないのです。すべてのバリエーションから1つの法線ベクトルを選択する他の方法と同様に...。

その通りです。一般的な場合ではありません。

--

手っ取り早い解決策が見つかったようです。 アルゴリズムを書くために座ってリラックスしていたら、ポンと出てきたんです。

つまり、生成されたベクトルx1rから、x0への射影を差し引けばよい(つまり、x0*sp(x0,x1r)、sp()はスカラー積)。

要するに、x1 = x1r - x0*sp(x0,x1r) という1行の式になる。

:))

 
つまり、1行で表すと、x1 = x1r - x0*sp(x0,x1r) という式になります。

:))

でも、その後に概算する必要があるんだ。

まあとにかく一行で:x1 = norm(x1r - x0*sp(x0,x1r))

 
MetaDriver:

平面的な画像には効果があるようです。N次元の場合にも通用しそうですね。 異論はありませんか?

そろそろスクリプトを書いて確認したほうがよさそうだ...。:)

書かなくてもいいんです。証明する。

sX = (a1+b1,a2+b2); dX = (a1-b1,a2-b2) です。

ベクトルaとbは単位ベクトルだったので、対応する平行四辺形はひし形で、その対角線は垂直なので、和と差は互いに直交することになります。したがって、モジュールの交換は、一方を右に、もう一方を左に90度回転させることに相当する。直交座標では、第1座標と第2座標を並べ替えることで簡単に表現できる。

sXtr = (a2-b2,a1-b1); dXtr = (a2+b2,a1+b1)

=>

sXtr+dXtr = (2*a2,2*a1) は係数2のベクトルで、ベクトル (a1,a2) に明らかに直交するベクトル、つまりベクトルaです。H.t.c.

 
あとはループで走るのみ。 for(i=0; i<InpVectorCount;i++){...}。
 
MetaDriver:
あとはループで走るのみ。 for(i=0; i<InpVectorCount;i++){...}。
いや、やはり最初は正しい「任意の」ベクトルを選び、最終的に集合全体に直交性を与えることになる。つまり、恣意的なものは、まったく恣意的でさえないことが判明するのです。再び、必要な初期ベクトルの計算方法に戻る。
 
alsu:
いや、やはり最初に正しい「任意の」ベクトルを選ぶことで、セット全体に直交性を与えることができるのだ。つまり、恣意的なものは全く恣意的でさえないのです。再び、必要な初期ベクトルの計算方法に戻る。
嘘つけ。ただ、すべてのステップで確認します。もし、変換のいずれかの段階で、ベクトルが集合内の次のベクトルと連続になった場合、再び初期ランダムベクトルを生成し、この手順を繰り返す。このケースは(有限次元では)ありえないので、すぐに線形依存性を疑う(行列のランクを調べる)よりも簡単(安上がり)である。
 
MetaDriver:
嘘つけ。各ステップでのチェックだけです。もし、変換のいずれかの段階でベクトルが集合の次のベクトルと矛盾するようになったら、再び初期のランダムなベクトルを生成し、この手順を繰り返す。このケースは(有限次元では)ありえないので、すぐに線形依存性を疑う(行列のランクを調べる)よりも簡単(安上がり)である。
同方向ではなく、単にすべての、あるいはいくつかのベクトルに対して間接的な角度を持つようになることがある
 
MetaDriver:
嘘つけ。各ステップでのチェックだけです。もし、変換のいずれかの段階でベクトルが集合の次のベクトルと矛盾するようになったら、再び初期のランダムなベクトルを生成し、この手順を繰り返す。このケースは(有限次元では)ありえないので、すぐに線形依存性を疑う(行列のランクを調べる)よりも簡単(安上がり)である。
そして、スカラー積はまだ(アルゴリズムによって)計算されなければならないので、より安価である。もし、1であることが判明したら、最初にリセットして、このプロセスを繰り返す。つまり、各ステップで、if(cp(a,b)!= 1.0){}