疎ベクトルクラスのC++での実装を探しています。


条件は以下の通りです。
1. プログラム実行時に決まる(=コンパイル時には決まらない)固定要素数のベクトルを扱いたい。
2. ベクトルは極めて疎(要素数6万前後で、うち5万8千要素以上は0)。
3. ベクトル同士の加算と、ベクトルとスカラ値の積算機能が欲しい。
4. 商業利用はしません(趣味のプログラムで使うだけです)。
5. 開発環境はWindows 7・Visual Studio Express 2013 for Windows Desktop。
6. 無料又は5000円以下で利用・購入可能なもの。

あと、ベクトルA,Bとスカラ値cでA = A + cB(積和演算)が出来ると嬉しいです。
(この機能は必須ではありません。)

速度が重要なプログラムですので、高速な実装を探しています。
(なので、使い勝手が悪くても速ければいいです。)

回答には実装をダウンロード出来るURLを必須とさせて頂きます。

以上、よろしくお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2014/04/28 23:41:54
  • 終了:2014/04/29 09:26:23

ベストアンサー

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/04/29 00:20:25

ポイント100pt

Mozilla Public License Version 2.0で公開されているeigenは速いです。

http://eigen.tuxfamily.org/index.php?title=Main_Page
ダウンロードは、上記URLの「Eigen 3.2.1 released!」をクリックしてください。

Visual Studio 2008 対応です(standard C++98対応)

ちなみに、有名どころの速さはここが分かりやすいです。
http://research.preferred.jp/2011/11/sparse-vector/

id:cdaotg

ご回答有難うございました。
速さ比較のサイトはとてもわかり易かったです。
ひとまずeigenを使ってみようと思います。

2014/04/29 09:26:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません