問題タブ [eigenvector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
485 参照

c - 固有ベクトル (スペクトル) 分解 (順序付けられた固有値と固有ベクトルを使用)

重複の可能性:
固有ベクトル (スペクトル) 分解

正方行列の固有値 (スペクトル) 分解を計算できるプログラムを C コードで見つけようとしています。私は特に、最高の固有値(したがって、それに関連する固有値)が最初の列にあるコードを見つけようとしています。

出力をこの順序にする必要があるのは、固有ベクトルの中心性を計算しようとしているためであり、したがって、実際には最大の固有値に関連付けられた固有ベクトルのみを計算する必要があるためです。前もって感謝します!

0 投票する
3 に答える
9776 参照

lapack - Lapackを使用して、大きなスパース行列の固有値と固有ベクトルを計算できますか?

1,000 x 1,000の正方行列がある場合、Lapackはこの行列の固有ベクトルと固有値を計算できますか?そして、それができるとしたら、どれくらいの時間がかかりますか?また、10,000 x 10,000のマトリックス、さらには1,000,000 x1,000,000のマトリックスについてはどうでしょうか。

これらは主に0が入力されたスパース行列になることに注意してください(行列はソーシャルネットワークを表すグラフになります)。スパース行列を処理するための特別な手順はLapackにありますか?Arpackの推奨事項が表示されます。しかし、これは非常に大きな行列を計算することを可能にしますか?

0 投票する
2 に答える
3459 参照

opencv - 固有顔アルゴリズムの正解率を向上させる方法

C#でEmguCVライブラリ(openCVラッパー)を使用して、固有顔アルゴリズムを使用して顔検出と顔認識を実装します

最小距離がトレーニングセット内の同じ人物ではない、トレーニングセット内に存在しないが、トレーニングセット内の適切な距離の人物と一致するなど、正解率の間違いが多く見つかりました。

私を助けてください。

ありがとうございました。

追加情報:-トレーニングセットで1人あたり1つの顔画像を使用します(まっすぐな顔画像、向きなし)-現在、トレーニングセットで約10〜20人でテストしています

0 投票する
2 に答える
3084 参照

c++ - 共分散行列の固有ベクトルを見つけて 3D 境界球を作成する

私は現在、3D空間内の一連の点の「正確な」境界球を見つける関数を作成中です。これまでのプロセスを十分に理解していると思いますが、行き詰まりました。

A) 3D 空間の点 B) 4x4 行列クラスに格納された 3x3 共分散行列 (行と列の代わりにセル m0、m1、m2、m3、m4、ect で参照)

ポイントの共分散行列の 3 つの固有値を見つけ、ガウス消去法によって行列を縮小行エシュロン形式 (rref) に変換する関数を設定しました。

オンラインで見つけた例の図に対してこれらの関数の両方をテストしましたが、正しく機能しているようです。

次のステップは、次の式を使用して固有ベクトルを見つけることです: (M - λ*I)*V

... ここで、M は共分散行列、λ は固有値の 1 つ、I は単位行列、V は固有ベクトルです。

ただし、固有ベクトル成分を計算する必要がある右端の列は、rref の実行前後で 0 であるため、rref する前に 4x3 マトリックスを正しく構築していないようです。それらが後でゼロになる理由は理解していますが(定数がなければ、線形方程式系の最も簡単な解はすべてゼロの係数です)、そこに何を入れるかについて途方に暮れています。

これまでの機能は次のとおりです。

3x3 共分散行列は M として渡され、固有値は eval として渡されます。Matrix(IDENTITY) は恒等行列を返します。m3、m7、および m11 は、4x3 行列の右端の列に対応します。

関数をテストするために使用している 3x3 マトリックス (4x4 マトリックス クラスに格納されている) の例を次に示します。

私は正しく (?) 他の関数から 2.097、0.3055、0.09756 の固有値を取得しています。

上記の eigenVector() は、渡された固有値を対角 (0,0 1,1 2,2) から正しく減算します

rref() 後の行列 A:

rref() 関数については、ここにある翻訳された Python 関数を使用しています: http://elonen.iki.fi/code/misc-notes/python-gaussj/index.html

固有ベクトルを取得するには、rref() に渡す行列はどのように見える必要がありますか?

ありがとう

0 投票する
2 に答える
1595 参照

matlab - MATLAB の行列指数の形式 W * diag(S) * W' の行列の固有分解

Wは縦長で細い実数値行列で、対角または対角上diag(S)で構成される対角行列です。一重引用符が転置を表す場所の固有分解が必要です。主な問題は、それがかなり大きいことです。は対称で、ランク不足であり、 (から)の最大ランクを実際に知っているので、これを効率的に行うことができるはずです。これにアプローチする方法はありますか?+1-1A = W * diag(S) * W'AAAW

A私の最終的な目標は、 MATLAB を使用せずに の行列指数を計算することですexpm。これは、大きな行列ではかなり遅く、ランク不足を利用しません。A = U * diag(Z) * U'が固有分解の場合、 exp(A) = U * diag(exp(Z)) * U'.

簡単なアルゴリズムを持つことが期待できるUような直交を見つけている間、ここで線形代数の助けが必要です。W * diag(S) * W' = U' * diag(Z) * U'

0 投票する
1 に答える
1677 参照

c++ - C++ で列確率行列の固有ベクトルを計算する方法

列確率行列 A があり、C++ で次の方程式を解きたい: Ax=x

固有値が 1 に設定されている固有ベクトル x を見つける必要があると仮定していますが (そうですか?)、C++ ではそれを理解できませんでした。これまでのところ、Seldon、CPPScaLapack、Eigen などの数学ライブラリをチェックしてきました...その中で、Eigen は良いオプションのようですが、上記の方程式を解くためにそれらを利用する方法がわかりませんでした。

方程式を解くための提案/コードスニペットまたはアイデアを教えてください。どんな助けでも大歓迎です。

ありがとう。

編集: A は n 行 n 列の実数の非負行列です。

0 投票する
2 に答える
5928 参照

.net - C#のAdvanced Matrix Libraryを使用してC#でEigenVectorsを計算します。ネット

わかりました。次のライブラリを使用しています:http://www.codeproject.com/KB/recipes/AdvancedMatrixLibrary.aspx

そして、私が持っている特定の行列の固有ベクトルを計算したいと思います。コードの作成方法がわかりません。

これまでに私は試みました:

ただし、オーバーロードされたメソッドの最適な一致には、いくつかの無効な引数があると書かれています。ライブラリが機能することは知っていますが、c#コードを作成する方法がわかりません。

どんな助けでも素晴らしいでしょう!

0 投票する
2 に答える
1054 参照

opencv - OpenCVCalcPca入力データ

「固有顔」を使って、opencvで顔認識トレーニング機能を実装しようとしています。サンプルデータはありますが、CalcPCA関数の引数に関する情報が見つかりません。私が知っているのは、データマトリックス、平均固有顔マトリックスへの参照、固有ベクトルへの参照、および固有値マトリックスへの参照が必要なことだけです。

私の質問は、平均固有顔とベクトルを取得できるように、いくつかのテスト画像行列からのデータをCalcPCAの最初の引数にどのように渡す必要があるかということです。

0 投票する
1 に答える
304 参照

python - f は MATLAB コードでは常に正のように見えますが、私の Python コードでは f も負の値になります。

次の MATLABコードを Pythonに変換するにはどうすればよいですか? これが私の解決策ですが、まったく同じ結果にはなりません。たとえばf、MATLAB コードでは常に正のように見えますが、私の Python コードでfは負の値も取得します。

プログラムを修正する方法はありますか?

ほとんどの場合、私はこれらについて心配しています:
MATLAB:

パイソン:

MATLAB:

パイソン:

MATLAB:

パイソン:

MATLAB:

パイソン:

それらは互いに同等ですか?そうであれば、まったく同じ結果が得られないのはなぜですか?

0 投票する
2 に答える
2472 参照

opencv - 固有顔アルゴリズム

OpenCV を使用して顔認識プログラムをプログラミングしています。

固有顔を生成する場合:

  • 未知の顔の大きなデータベースを使用する必要がありますか?
  • システムに認識させたい人の写真だけを使用する必要がありますか?
  • 両方を使用する必要がありますか?

私は固有顔の生成について話しています。これは「学習」のステップです。

そして、まともな精度を得るには何枚の写真を使用する必要がありますか? 20、または2000のようなものですか?

ありがとう