アットウィキロゴ

GSL

コンパイルオプション

gcc -o app -I/usr/local/include -lgsl -lgslcblas -lm
gcc -I/usr/local/include -I/usr/include -L/usr/local/lib -L/usr/lib -oexample example.c -lgsl -lgslcblas -lm


GSL

  • ライブラリ
<gsl/gsl_statistics_double.h> //double型統計用
<gsl/gsl_rng.h> //乱数発生器
<gsl/gsl_randist.h> // ??
<gsl/gsl_statistics.h> // 統計用ライブラリ?
<gsl/gsl_vector.h> // ベクトル
<gsl/gsl_matrix.h> // 行列
<gsl_blas.h> // BLAS呼び出し
<gsl/gsl_eigen.h> // 固有値分解



  • ルーチン
複素数 多項式の求根法 特殊関数 ベクトルと行列
置換 組み合わせ ソート BLAS の利用
線形代数 CBLAS ライブラリ 高速フーリエ変換 固有値問題
乱数 数値積分 確率分布 準乱数系列
ヒストグラム 統計 モンテカルロ 積分 タプル
微分方程式 焼きなまし法 数値微分補間
級数の加速収束 チェビシェフ近似求根法 離散ハンケル変換
最小二乗法最適化 IEEE 浮動小数点 物理定数
B スプライン ウェーブレット

  • 使えそうなもの(Rで使っている関数群とほぼ同一)
複素数 ベクトルと行列 置換
線形代数 FFT Eigen rng
乱数 数値積分 確率分布 準乱数系列
ヒストグラム 統計 モンテカルロ 積分 タプル
級数の加速収束 ウェーブレット


  • Error処理
int status = gsl_function (...)
if (status) { /* エラーが発生した場合 */
.....
/* status の値が生じたエラーの種類を示している。 */
}

int gsl isnan (const double x )
int gsl isinf (const double x )
int gsl finite (const double x )
GSL SIGN x
GSL IS ODD n
GSL IS EVEN n
GSL MAX a, b
GSL MIN a, b
extern inline double GSL MAX DBL (double a, double b )



  • 初等関数
double gsl frexp (double x, int * e ) 標準数学ライブラリ (libm) の frexp(x, e) と同等である。
double gsl pow int (double x, int n )


  • Complex
typedef struct {
double dat[2];
} gsl_complex;

    • 複素双曲線関数
gsl complex gsl complex sinh (gsl complex z )
gsl complex gsl complex cosh (gsl complex z )
gsl complex gsl complex tanh (gsl complex z )
gsl complex gsl complex sech (gsl complex z )
gsl complex gsl complex csch (gsl complex z )
gsl complex gsl complex coth (gsl complex z )

  • 多項式
double gsl poly eval (const double c[], const int len, const double x )
int gsl poly eval derivs (cost double c[], const size t lenc, cost double x,
double res[], const size t lenres )
gsl poly complex workspace * gsl poly complex workspace alloc (size t n )

  • 7章超濃厚
最終更新:2009年11月21日 21:27