0

機能豊富なライブラリですが、Alglib は最も一般的で基本的な演算子 (行列/ベクトル代数に関係する) のサポートが不足しているようです。

ユーザーは自分で必要な演算子をオーバーロードすることになっていますか、または既存の Alglib インターフェイスを使用して乗算、加算、減算、除算 (スカラーによる) などを達成するためのよりパフォーマンスに適した/推奨される方法はありますか?

関連する質問として、提案され受け入れられた解決策にはかなり不満があります。通常、適切なライブラリが既にある場合、単純に別のライブラリに切り替えることはありません。これらの操作をより頻繁に実行する必要があり、別のより面倒な代替手段に切り替えることは最善ではないことがわかりました (MTL4 はブーストを使用し、それはかなりの負担です)。式テンプレートを使用するというアイデアはいいように思えますが、Alglib でこの手法を実装する価値があるかどうかはわかりません (つまり、単純な代数を処理するより良い方法が Alglib にある場合)。

4

1 に答える 1

1

これらの相対的な基本機能を Alglib で実現するために、演算子をオーバーロードしました。Alglib でこれを行う他の方法は見つかりませんでした。このトピックに関する他の質問と回答を見て、それが利用できるとは思いません。

別のライブラリに切り替えるのは好きではないと読みましたが、 をざっと見てみることをお勧めしますEigen。私がインストールした PointCloudLibrary の一部としてライブラリを既に持っていたので、セットアップは非常に簡単でした。さらに、ドキュメントは非常に優れており、必要な操作をはるかに高速に実行できます。

通常のライブラリのドキュメントは次の場所にあります: (「算術演算子」セクションを確認してください) Eigen
クイック リファレンス ガイド

通常のドキュメントに加えて、サポートされていないセクションもあり、ドキュメントは少なくなりますが、ソルバー、FFT、多項式、フィッティングなどのアルゴリズムが多くなります:
Eigen Unsupported

私のアプリケーションでは、Alglib のものを削除し、Eigenより直感的に動作するように変更し、ドキュメントが優れていることを知っています。

于 2013-09-04T06:53:19.443 に答える