問題タブ [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.

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

c++ - std::generate - 乱数ジェネレーターを使用するには?

私のプログラミングでは、ユーザー定義の数のublas vectorを作成する必要があります。でこれをやりたいstd::generateです。ただし、コンパイルエラーが発生して、それが不可能になります。

私が使用しているコード:

3 番目の引数 (「gen」、こちらを参照) として引数を持つ関数を使用できないclassため、関数呼び出し専用に作成する必要がありました。数値を正規分布にする必要があるため、関数呼び出しを分布関数には、引数として乱数ジェネレーターが含まれている必要がありますが、引数を指定して呼び出すことはできなかったので、これを行うクラスを作成する必要がありました。std::generate

私が書いたクラス:

私が得ているエラー

全体をコンパイルしようとすると、次のエラーが発生します。

コンパイラがここで私に何をさせようとしているのか、あるいはなぜコンパイラがこれほど多くの問題を抱えているのか、私にはまったくわかりません。どんなアドバイスでも大歓迎です。

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

c++ - ViennaCL での std::vector から ublas::compressed_matrix への変換

私はいくつかの計算を行い、結果のヤコビ行列 NxN 行列と右辺ベクトル(n) をブーストの ublas に渡し、最終的には ViennaCL に渡したいと考えています。

ベクトルは copy() を使用しても問題ありませんでしたが、行列は難しいことがわかりました。どんな助けでも大歓迎です

私は多くのバリエーションを試し、ドキュメントを見ました:

http://ublas.sourceforge.net/refdoc/classboost_1_1numeric_1_1ublas_1_1compressed__matrix.html

また、ViennaCL の例はうまくいきません。

http://viennacl.sourceforge.net/viennacl-examples-sparse-matrix.html

数時間のグーグル検索の後、他の誰かがクラックできることを期待して、ここに投稿することにしました。

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

c++ - boost: vector の代わりに matrix_row を使用する

ベクトルを取得して変更する関数があります。この関数に matrix_row インスタンスを渡すにはどうすればよいですか? コピー操作はしたくない

useVector(mRow) 式のコメントを外すと、次のようになります。

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

c++ - スパース行列の ublas 逆イテレータをブーストする

boost ublas ライブラリを使用して、スパース行列を効率的に逆方向に反復処理する必要があります。これは私のコードです:

コンパイルはしますが、「boost::numeric::ublas::bad_index」エラーがスローされます。それについて私が見つけることができる唯一の情報は、それがバグだと言っているこの男からのものです。reverse_iterators を正しく使用する方法を知っている人はいますか?

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

c++ - ブースト ublas の compress_matrix が、ゼロ以外の要素に必要なより多くのメモリを割り当てるのはなぜですか?

ブースト ublas コードを調べたところ、メモリ割り当ての ublas 実装compressed_matrixが CSC や CSR ほど標準的ではないことがわかりました。

問題の原因となる行が 1 つあります。つまり、 non_zeros = (std::max) (non_zeros, (std::min) (size1_,size2_));privaterestrict_capactiyメソッドにあります。

スパース行列を作成すると、ブースト ublas に割り当てられる非ゼロの数が常に より大きいということmin(nrow, ncol)ですか?

この問題を示すために使用した次のコード。出力では、compressed_matrix に割り当てられたベクトルの未使用部分にゼロが含まれます。