[解決済み] C++のためのNumPyスタイル配列?[クローズド]
質問
スライス、ベクトル化された操作、要素ごとの内容の加算や減算などをサポートした NumPy ライクな配列を持つ C++(または C)ライブラリはありますか?
どのように解決するのですか?
ここでは、あなたのニーズに合うかもしれないいくつかのフリーソフトを紹介します。
-
は GNU 科学ライブラリ はC言語で書かれたGPLソフトウェアです。したがって、C言語ライクな割り付けやプログラミングの方法(ポインタなど)を持っています。このため GSLwrap を使えば、GSL を使いながら C++ 的なプログラミングをすることができます。GSL には BLAS の実装がありますが ATLAS を使うことができます。
-
は boost/uBLAS ライブラリは、C++ で書かれた BSL ライブラリで、boost パッケージとして配布されています。BLAS 標準を C++ で実装したものです。uBLAS にはいくつかの線形代数関数が付属しており、また ATLASへの実験的バインディング .
-
固有値 はC++で書かれた線形代数ライブラリで、MPL2ライセンス(バージョン3.1.1から)またはLGPL3/GPL2(古いバージョン)の下で配布されています。C++流のプログラミングですが、他の2つよりも統合されています(より多くのアルゴリズムとデータ構造が利用可能です)。Eigen はより高速であると主張する 事実上の標準であるBLASのAPIには従っていませんが、上記のBLASの実装よりも高速であると主張しています。Eigenは並列実装にはあまり力を注いでいないようです。
-
アルマジロ は C++ 用の LGPL3 ライブラリです。以下のようなバインディングがあります。 LAPACK (numpyで使われているライブラリ)のバインディングを持っています。再帰的テンプレートとテンプレートメタプログラミングを使っているのが良い点です(他のライブラリもやっているかは分かりませんが)。
-
エクステンサー は、BSD ライセンスの C++ ライブラリです。NumPyと非常によく似たC++ APIを提供しています。参照 https://xtensor.readthedocs.io/en/latest/numpy.html を参照してください。
これらの代替プログラムは、データ構造と基本的な線形代数を取得したいだけなら、本当に良いものです。スタイル、ライセンス、システム管理者の課題(LAPACKのような大きなライブラリのインストールは難しいかもしれません)についての好みによって、あなたのニーズに最も適したものを選択することができます。
関連
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み] 配列内の何かの最初のインデックスを返すNumPy関数はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーが発生する。ISO C++は型を持たない宣言を禁じています。
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。