問題タブ [eigen]
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.
eigenvector - intel MKL:Ax = lambda * Bx(固有値)を解決するためにMKL lib(Cプログラムのみ)で使用される関数
MKLを使用してラムダの値を見つける方法は?
image-processing - OpenCVでLU分解を実行する方法は?
cvInvert()メソッドは、入力行列を反転するためにLU分解を行うフラグCV_LUを取ります。しかし、この計算中に形成されるLおよびU行列を取得する方法はありますか?LU分解のための新しい関数を書くことは無意味に思えます。OpenCVはすでにそれのために最適化されたコードを持っています。
c++ - 私のメイクファイルに固有値を含むc ++
これは私の問題に対する正しい答えのようですが、以下のリンクで説明されている手順が既にあるため、メイクファイルを作成している方法の方が多いと思います(ビルド方法を知っています)。
線形代数の C++ テンプレート ライブラリである Eigen を使用する C++ プロジェクトのメイクファイルを作成する方法は?
エラー:
私のヘッダーファイルの問題のある行は単純です:
これがmakefileです(INCLUDE行でやり過ぎです、私は知っています):
何かご意見は?
前もって感謝します!
c++ - Eigen::Vectorタイプでのブーストアキュムレータの使用
Eigen::VectorXd
タイプとBoostアキュムレータライブラリの組み合わせに問題があります。
私のシステムでは、これにより以下が生成されます。
したがって、直接計算は問題ありませんが(固有ベクトルは通常の数値演算子をすべてサポートします)、ブーストアキュムレータは実行時にエラーなしで失敗します。
c++ - C++ でのシン QR 分解
長方形行列の「薄い」QR 分解のための使いやすい c++ ライブラリはありますか?
Eigen は完全な Q 行列のみをサポートしているようです。完全な Q を取得して一部の列を破棄することはできますが、最初から計算しない方が効率的でしょうか?
c++ - 線形代数ライブラリとBoost::Unitsの組み合わせ
私はかなりの量の科学的プログラミングを行っており、Boost.Unitsの両方で非常に良い経験をしました。これは、数量のコンパイル時の次元分析を提供します(つまり、数量に単位をタグ付けして、従来の物理的次元分析で多くのエラーをキャッチします)。線形代数の場合は2。
ただし、Eigenには単位の概念がなく、Eigenの行列にスカラー量を設定できますが、2つの量を乗算すると同じ型が生成されると予想されますが、これは明らかに単位には当てはまりません。たとえば、次のようなコードを使用します。
論理的には正しいのに、機能しません。
ユニットをサポートするマトリックスライブラリはありますか?これは、過去には実装が困難であったことで有名であり、C ++ 11をdecltype
使用するとはるかに簡単になりますが、C++03とテンプレートの特殊化で確実に可能になりました。
c++ - 固有行列を C 配列に変換する
Eigenライブラリは、既存のメモリを Eigen 行列にマップできます。
私の質問は、どうすれば固有行列 (Matrix3f m など) から c 配列 (float[] a など) を取得できますか? 固有行列の実際のレイアウトは何ですか? 実際のデータは通常の c 配列のように格納されていますか?
android - androidndkでeigenを使用する
誰かがndkを使用して固有ライブラリを正常にインポートしましたか?私はそれを使って、Imが取り組んでいるアプリのすべての数学行列演算を実行することを考えていました。いくつかのフォーラムでそれについて言及している人を何人か見つけましたが、彼らがうまく機能したかどうかわからないという事実を除いて、私が読んだほとんどのフォーラムは、ネオンコードに関連するいくつかのエラーについて言及することから始めます.....私はそれを台無しにしませんでしたどちらかの前に。
本当に役立つのは、ndkを使用してeigenのような既存のライブラリをコンパイルする方法についてのチュートリアルを誰かに教えてもらえるかどうかです。そうすれば、後で自分でそれを行うことができます。私はちょうど今これを見つけました:http ://code.google.com/p/android-cmake/そしてそれを自分で実装しようとしますが、どこから始めればよいかわかりません。明らかに、私は私の前にいくつかの半集中的な読書を持っているので、それを始めますが、誰かが飛び込んで、ndkで使用するためのネイティブライブラリのコンパイルを手伝ってくれるなら、私はそれを大いに感謝します。
c++ - Eigen 3.1.0-alpha1 で疎行列を返す
最初の小さなソフトウェアのソルバーとして eigen 3.1.0-alpha1 を使用しています。クラスのメソッドから疎行列を返す必要があります。
しかし、うまくいきません。エラーの 1 つ: エラー C2955: 'Eigen::SparseMatrix': クラス テンプレートの使用にはテンプレート引数リストが必要です
私はそれを宣言しました:
Eigen を使用するのにいくつか問題があります。リファレンスが明確ではありません。助けてくれてありがとう
c++ - 2 つの動的な R x C 行列がある場合、行をインターリーブして 1 つの 2R x C 行列を生成するにはどうすればよいですか?
eigen2を使用し、行列 A を指定
および行列 B:
A と B の次元が同じ場合、行をインターリーブして次のように生成します。
明らかに、適切な次元の出力行列を作成し、各入力行列をループして要素を結果に割り当てる関数を作成できます。ただし、車輪の再発明はしたくないので、eigen2 がこの種の行列演算をエレガントに表現するメカニズムを既に持っている場合は、それを使用したいと思います。
私は eigen2 docs を調べましたが、明らかに正しいものは何もありませんでした。私が見つけた最も近いものはMatrixBase::selectでしたが、それは「aからの要素またはbからの要素」を行います。ここで、「aからの要素、次にbからの要素」が必要です。
高速パスでこれを行う必要はなく、初期化時にのみ行う必要があるため、効率は最優先事項ではありません。
行列を表現するためのより良い方法がある場合は、フォーマットについてお詫び申し上げます。