問題タブ [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 投票する
5 に答える
17153 参照

c++ - ブースト ベクトルまたは行列を埋める

ブースト行列またはベクトルのすべての要素にスカラーを割り当てる単一式の方法はありますか? 私はよりコンパクトな表現方法を見つけようとしています:

以下は機能しません。

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

c++ - Boost UBLAS に関する C++ の質問

Boost UBLAS ライブラリには、連立方程式を解くためのソルバーが組み込まれていますか? ドキュメントは、すべての ublas ソルバー ルーチンで行列が既に三角形の形式になっている必要があることを暗示しています。

しかし、行列が三角形の形式ではない場合、方程式系を解くために、行列を縮小してから逆代入できるものが ublas にあるでしょうか?

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

c++ - UBLAS 行列 セルの周囲の値を見つける?

これを実装するエレガントな方法を探しています。基本的に私はamxn行列を持っています。各セルはピクセル値を表し、行と列は画像のピクセル行とピクセル列を表します。

基本的に、対応するピクセル値とともに、HDF ファイルからポイントをマッピングしたためです。基本的に、空のピクセルがたくさんあります。0 で埋められます。

今私がする必要があるのは、周囲のセルの平均を取り、欠落しているセルのピクセル値を平均化することです。

今、私はこれを総当たりにすることができますが、それは醜い速さになります。これに対するエレガントな解決策はありますか?

0 投票する
6 に答える
6647 参照

c++ - C配列からのublasベクトルの初期化

C ++ ublasライブラリを使用してMatlab拡張機能を記述していますが、Matlabインターペッターによって渡されたC配列からublasベクトルを初期化できるようにしたいと思います。(効率のために)データを明示的にコピーせずに、C配列からublasベクトルを初期化するにはどうすればよいですか。次のコード行に沿って何かを探しています。

std::vector一般的に、配列からC ++を初期化することは可能ですか?このようなもの:

ただし、初期化によってデータがコピーされない場合。この場合、出力は次のようになります。

しかし、出力を同じにしたいのですが、C配列を更新すると、C++ベクトルが指すデータが変更されます。

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

c++ - uBlasスパース行列のゼロ以外の要素をループする

O(N)要素を含む次のスパース行列があります

以下のように時間内にすべてのエントリを調べるブルートフォースダブルループを作成することもできますO(N^2)が、これは遅すぎます。

ゼロ以外のエントリのみを時間内にループするにはどうすればよいO(N)ですか?ゼロ以外の要素ごとに、その値とインデックスにアクセスしたいと思いますi,j

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

c++ - boost::numeric::ublas::matrix を含むクラスの演算子のオーバーロード

その中にいくつかのboost::numeric::ublas::matrixを含むクラスがあります。クラスの演算子 (+-*/=) をオーバーロードして、1 つのステートメントで一連の行列を処理できるようにしたいと考えています。

ただし、これには、元のクラスを変更せずに値を持ち運ぶために、クラスの一時的なインスタンスが必要なようです。これは私には理にかなっていますが、関数内で新しいインスタンスを作成して返すと、次のようになります。

警告: ローカル変数 'temp' への参照が返されました

私はc ++にかなり慣れていないので、演算子のオーバーロードの例はすべて新しい一時オブジェクトを返すようです。また、新しいマトリックスをインスタンス化する際のオーバーヘッドを回避したいと思います。これにより、すべての要素をループすることになります。これについてどうすればよいですか?パフォーマンスは懸念事項です。

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

game-engine - ublas::bounded_vector<> のサイズが変更されていますか?

まじめな話ですが、Boostフェローの話なので悪口は控えます。このように物事を見るのは私の間違いに違いありませんが、理由が理解できないので、ここで質問します。多分誰かがこの問題で私を啓発することができます. ここに行きます:

uBLAS には、bounded_vector<>固定サイズのベクトルを作成するために使用される、この優れたクラス テンプレートがあります (または、私はそう思いました)。

有効な uBLAS wiki から ( http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_UBLAS ):

デフォルトの uBLAS ベクトルおよび行列タイプは可変サイズです。多くの線形代数の問題には、固定サイズのベクトルが含まれます。2 要素と 3 要素は幾何学では一般的です! 固定サイズのストレージ (C 配列に類似) は、動的ストレージに関連するオーバーヘッド (ヒープ管理) を伴わないため、効率的に実装できます。uBLAS は、ベクトル/行列の基になるストレージをデフォルトの「unbounded_array」から「bounded_array」に変更することにより、固定サイズを実装します。

わかりました、このことは、ベクトルの基になるストレージを指定されたサイズの にbounded_vector<>指定することから解放するために使用されます。bounded_array<>ここで私はあなたに尋ねます: この有界ベクトルは固定サイズのように見えませんか? まあ、それはありません。

最初はwikiに裏切られた気がしましたが、「限界」の意味を再考し、それを通過できると思います. しかし、私のように(私はまだ確信が持てません)、これが理にかなっているのかどうかまだ疑問に思っている場合、私が見つけたのは、bounded_vector<>実際にはサイズを変更できるということです

  1. まず最初に、実際の >>固定<< サイズのベクトルまたは行列型を作らない正当な理由があったと思いますか?
  2. 固定サイズとは対照的に、この有界のベクトルを私のライブラリのユーザーに「固定サイズ」のベクトルの代替として「販売」しても問題ないと思いますか?効果的な uBLAS wiki はありましたか?
  3. この目的のために固定サイズのベクトルを何らかの方法で実装する必要があると思いますか? もしそうなら、どのように?(申し訳ありませんが、私は uBLAS に本当に慣れていないので、今日試してみました)
  4. 私は3Dゲームを開発しています。これに関連する計算に uBLAS を使用する必要がありますか ("hey, geometry!"、Effective uBLAS wiki による)。そうでない場合、どのような代替品を提案しますか?

- 編集

念のため、はい、次の警告を読みました。

これは、uBLAS が vector3 に使用するストレージのみを変更することに注意してください。uBLAS は、同じアルゴリズム (可変サイズを想定) を使用して vector3 を操作します。実際には、これは速度に悪影響を及ぼさないようです。上記は、uBLAS を使用しない手作りの vector3 と同じくらい速く実行されます。唯一のマイナスの影響は、vector3 が常に「サイズ」メンバーを格納することです。この場合は冗長です [またはそうではありませんか? つまり......]。

可変サイズを想定して同じアルゴリズムを使用していることがわかりますが、操作が実際にサイズを変更する場合は、停止する必要はありませんか (アサーション)。

おいおい、これはただの裏切りじゃないか?

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

c++ - ublas行列式のチュートリアル/例

特定の行列演算を実装しようとしていますが、ublasライブラリの内部で迷子になっています。新しいublas行列式を実装する方法に関するチュートリアルや例などのリソースはありますか?

ありがとう

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

c++ - ublasマトリックスでベースインデックスを設定する方法は?

Webを検索しましたが、答えが見つかりませんでした。インデックスがゼロ以外の値から始まるように、マトリックスにベースインデックスを設定するにはどうすればよいですか?例えば:

ありがとう

0 投票する
4 に答える
1712 参照

c++ - ブースト行列の配列を作成する方法は?

ブースト行列の配列をメンバー変数として定義するにはどうすればよいですか?

次のどれも機能しませんでした。

ありがとう、ラヴィ。