こんにちは!
この投稿では、私が作成した C ライブラリ、Advanced Math Library、または libamath を共有します。これは、パフォーマンスとマルチスレッドに重点を置いて、数学的実装の一部を集中管理する C ライブラリです。
libamath には、ケンダル相関、最適化のための遺伝的アルゴリズム、フーリエ変換、平均、中央値、標準偏差などのさまざまな統計計算などのアルゴリズムが含まれています。また、BigInt 階乗のサポートを追加する予定です。これにより、ポアソン分布やその他の高度な計算の精度が向上します。これらの関数の多くは、集中的な計算タスクを処理するためにマルチスレッド サポートで最適化されています。
libamath の使用例をいくつか示します。
double data1[] = {1.0, 2.0, 3.0}; double data2[] = {3.0, 2.0, 1.0}; double tau = amath_kcorr(data1, data2, 3); printf("Kendall's Tau: %f\n", tau);
void *fitness_function(Individuals *individuals) { // Define fitness logic return NULL; } Individuals *pop = amath_generate_individuals(100, 0.05, 0.001, 0.25, 4, 0.0, 1.0); for (int i = 0; i < 1000; i++) { amath_fit(pop, fitness_function); amath_mutate(pop); amath_reproduce(pop); } amath_destroy_individuals(pop);
double complex data[] = {1.0, 2.0, 3.0, 4.0}; amath_dft(data, 4, 2); // Perform DFT using 2 threads
double data[] = {1.0, 2.0, 3.0}; double mean_value = amath_mean(data, 3); printf("Mean: %f\n", mean_value);
私の以前のリポジトリに詳しい方のために説明すると、libamath は Kendall Correlation (パフォーマンスが向上) と遺伝的アルゴリズムの実装の両方を 1 か所にまとめています。これにより、時間の経過とともにツールの拡張と管理が容易になります。
暇なときに、次のような機能をさらに追加する予定です。
これは私が少し前に構築したものです。私は仕事でこれらの関数をよく使用するため、他の誰かが役立つと思った場合に備えて共有することにしました。
ここでプロジェクトをチェックアウトして貢献できます: https://github.com/ariasdiniz/advanced_math_lib
いつものように、提案やフィードバックは大歓迎です!
以上がC 用の高度な数学ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。