問題タブ [ublas]
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.
c++ - BOOSTuBLASを使用した部分行列操作に関する初心者の質問
これは数時間私を困惑させてきたので、多分ここの誰かが助けることができます。uBLASを使用して次の単純なMatlabプログラムをC++に変換しようとしています。
これは私の試みですが、機能していません。
生成される出力は次のとおりです。
3行目がすべてゼロになった理由がわかりません。誰かが私に解決策を教えてもらえますか?
ありがとうございました!
c++ - Boost::uBLAS ベクターでの STL 操作の実行
uBLAS (Mathematica の Map[] など) のベクトルのすべての要素に関数をマップするにはどうすればよいですか?
例えば; sin()
uBLAS ベクターのすべての要素を取得したいと考えています。ベクトルの要素を単純にループする代わりに、Boost、GSL、またはその他の数値ライブラリでこれを行う最適化された方法はありますか?
また、回転、重複の削除、ゼロでのパディングなど、uBLAS ベクトルで他の高度な操作を実行するにはどうすればよいですか?
boost - Boost::ublas から ATLAS まで、
Boost::ublas を使用して、広範な疎行列ベクトル乗算を使用するプログラムを作成しました。速度に全く満足できず、ATLAS を試してみたい。コードを変換するための明確な手順はありますか? 説明のために、非常に単純なコードを以下に添付します。
c++ - コンパイラが非 const ではなく const メソッドを選択するのはなぜですか?
ブーストの uBlas マトリックスをバックエンドとして使用して、3 次元テンソルを実装しようとしています。関数の 1 つは、スライスへの参照を取得することで、マトリックスの簡単な割り当てを可能にします。
以下は、テンソル クラスのフラグメントです。
layout_type は次のようになります。
そして、ユースケースは次のとおりです。
問題は次の行にあります。
trans 関数と project 関数を一緒に使用すると、コンパイラは project と trans の const オーバーロードを選択し、上記のような代入を行うことができません。ただし、プロジェクトのみを残すと、非 const メソッドが使用され、すべてが機能します。残念ながら、設計されたストレージ レイアウト (2 次元マトリックスへのマッピング) のために、スライスの転置が必要です。
正しい関数のオーバーロードを示す解決策はありますか? それとも、どこかでエラーをしましたか?
c++ - Boost UBLAS blas-1 を行列に適用する
boost::numeric::ublas 行列にレベル 1 blas を適用するにはどうすればよいですか? たとえば、最大エントリまたはすべてのエントリの合計を計算したいとします。行列で norm_1 または norm_inf を使用しても、コンパイラ エラーは発生しませんが、(私のように) 任意の結果が返されます。ブースト1.42を使用しています
c++ - ブースト ublas 疎行列または密行列を処理する API
Boost ublas のドキュメントには少し困惑しています。疎行列クラスと密行列クラスが共通の親クラスを共有していることは明らかではありません。これは設計によるものだと思います。しかし、疎行列または密行列のいずれかを受け入れることができる API を設計するにはどうすればよいでしょうか。たとえば、次のようなものです。
おそらく、これについての私の考えは間違っています。ublas クラスのオブジェクト モデリングについてどのように考えるかについてのガイダンスをいただければ幸いです。
c++ - c++ と ublas: 異なるサイズの c_vectors の配列を作成する
異なるサイズの ublas c_vectors の配列を作成する方法はありますか?
例えば
array[0]
ublas::c_vector< double, 3 >
(size=3) を返し、array[0](0)
その最初の要素にアクセスします
array[1]
ublas::c_vector< double, 7 >
(size=7) を返し、array[1](0)
その最初の要素にアクセスします
等
c++ - UBLASスパースベクトルの非ゼロ要素のインデックスへのアクセス
ublasのsparse_vectorの最初の非ゼロ要素のインデックスと、それに続く各非ゼロ要素のインデックスをどのように知ることができますか?関数begin()は、ベクトル内のインデックスではなく、格納されている最初のゼロ以外の値を知るために使用できるイテレータを提供します。
c++ - boost::uBLAS は行列のネストされた積をどのように処理しますか?
動的プログラミングを使用した行列のネストされた積の最適化に関する記事を読み、boost::uBLAS での実装方法を知りたいと思いました。
ドキュメントを理解したかどうかはわかりませんが(ページの最後で説明されています)、この問題を処理しているようです。を記述すると、ライブラリは、 、およびのサイズに応じてまたはをR = prod(A, prod(B,C));
計算します。A x (B x C)
(A x B) x C
A
B
C
どうすれば達成できますか?ライブラリはどのように「ブラケットを移動」できますか? prod
このようなコード行を書くとき、引数が評価されてから関数が実行されると思っていました。
FAQでは、式テンプレートの概念について言及しています。リンクされていますか?