「nr2(API)」の版間の差分
提供: Eospedia
(→API) |
|||
行41: | 行41: | ||
===6.1=== | ===6.1=== | ||
− | + | ログガンマ関数(Lanczos近似) | |
extern float gammln(float xx); | extern float gammln(float xx); | ||
===6.2=== | ===6.2=== | ||
+ | 正規化された不完全補ガンマ関数 | ||
extern float gammp(float a, float x); | extern float gammp(float a, float x); | ||
+ | 正規化された不完全ガンマ関数 | ||
extern float gammq(float a, float x); | extern float gammq(float a, float x); | ||
+ | 第2種不完全ガンマ関数 | ||
extern void gser(float* gamser, float a, float x, float* gln); | extern void gser(float* gamser, float a, float x, float* gln); | ||
+ | 第1種不完全ガンマ関数 | ||
extern void gcf (float* gammcf, float a, float x, float* gln); | extern void gcf (float* gammcf, float a, float x, float* gln); | ||
+ | 誤差関数 | ||
extern float erff(float x); | extern float erff(float x); | ||
+ | 補誤差関数 | ||
extern float erffc(float x); | extern float erffc(float x); | ||
===6.4=== | ===6.4=== | ||
+ | 正規化ベータ関数 | ||
extern float betai(float a, float b, float x); | extern float betai(float a, float b, float x); | ||
+ | 不完全ベータ関数 | ||
extern float betacf(float a, float b, float x); | extern float betacf(float a, float b, float x); | ||
===8.2 Sorting=== | ===8.2 Sorting=== | ||
+ | サイズnの配列arrをソート | ||
extern void sort(unsigned long n, float arr[]); | extern void sort(unsigned long n, float arr[]); | ||
===8.5 Sorting=== | ===8.5 Sorting=== | ||
+ | サイズnの配列arrをソートし、k番目を得る | ||
extern float nrselect(unsigned long k, unsigned long n, float arr[]); | extern float nrselect(unsigned long k, unsigned long n, float arr[]); | ||
===11.1=== | ===11.1=== | ||
+ | ヤコビ行列 | ||
extern void jacobi(float** a, int n, float d[], float** v, int* nrot); | extern void jacobi(float** a, int n, float d[], float** v, int* nrot); | ||
+ | 固有ベクトルのソート | ||
extern void eigsrt(float d[], float** v, int n); | extern void eigsrt(float d[], float** v, int n); | ||
2015年3月10日 (火) 07:25時点における版
DataManip/MATH/src/nr2はAPI です。
目次
定数
static float maxarg1; static float maxarg2;
構造体
API
a, bの最大値を出力します。
#define FMAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1)>(maxarg2)?(maxarg1):(maxarg2))
bと同じ符号でaを出力します。
#define SIGN(a,b) ((b)>0.0?fabs(a):-fabs(a))
Utilities
エラーメッセージを表示します。
extern void nrerror(char error_txt[]);
ベクトル
ベクトル生成(nl 〜 nh: 成分)
extern float* vector(long nl, long nh); extern int* ivector(long nl, long nh);
ベクトル解放
extern void free_vector(float* v, long nl, long nh); extern void free_ivector(int* v, long nl, long nh);
行列
行列生成(nrl 〜 nrh: 行, ncl 〜 nch: 列)
extern float** matrix(long nrl, long nrh, long ncl, long nch);
行列解放
extern void free_matrix(float** m, long nrl, long nrh, long ncl, long nch);
2.1
ガウス・ジョルダン法
extern void gaussj(float **a, int n, float **b, int m);
2.3 LU Decomposition and Its Applications
LU分解
extern void ludcmp(float** a, int n, int* indx, float* d); extern void lubksb(float** a, int n, int* indx, float b[]);
6.1
ログガンマ関数(Lanczos近似)
extern float gammln(float xx);
6.2
正規化された不完全補ガンマ関数
extern float gammp(float a, float x);
正規化された不完全ガンマ関数
extern float gammq(float a, float x);
第2種不完全ガンマ関数
extern void gser(float* gamser, float a, float x, float* gln);
第1種不完全ガンマ関数
extern void gcf (float* gammcf, float a, float x, float* gln);
誤差関数
extern float erff(float x);
補誤差関数
extern float erffc(float x);
6.4
正規化ベータ関数
extern float betai(float a, float b, float x);
不完全ベータ関数
extern float betacf(float a, float b, float x);
8.2 Sorting
サイズnの配列arrをソート
extern void sort(unsigned long n, float arr[]);
8.5 Sorting
サイズnの配列arrをソートし、k番目を得る
extern float nrselect(unsigned long k, unsigned long n, float arr[]);
11.1
ヤコビ行列
extern void jacobi(float** a, int n, float d[], float** v, int* nrot);
固有ベクトルのソート
extern void eigsrt(float d[], float** v, int n);
13.10 Wavelet Transforms
extern void wt1(float a[], unsigned long n, int isign, void (*wtstep)(float[], unsigned long, int)); extern void daub4(float a[], unsigned long n, int isign); extern void pwtset(int n); extern void pwt(float a[], unsigned long n, int isign); extern void wtn(float a[], unsigned long nn[], int ndim, int isign, void (*wtstep)(float[], unsigned long, int));
10.1
extern void mnbrak(float* ax, float *bx, float* cx, float* fa, float* fb, float* fc, float (*func)(float));
10.2
extern float brent(float ax, float bx, float cx, float (*f)(float), float tol, float* xmin);
10.5
extern void linmin(float p[], float xi[], int n, float *fret, float (*func)(float[]));
10.6 ConjugateGradientMethods
extern void frprmn(float p[], int n, float ftol, int *iter, float* fret, float (*func)(float[]), void (*dfunc)(float[], float [])); extern void frprmn2(float p[], int n, float ftol, int *iter, float* fret, float (*func)(float[]), void (*dfunc)(float[], float []));
15.2
extern void fit(float x[], float y[], int ndata, float sig[], int mwt, float* a, float* b, float* siga, float* sigb, float* chi2, float* q);
15.5
extern void mrqmin(float x[], float y[], float sig[], int n, float a[], int ia[], int ma, float** covar, float** alpha, float* chisq, void (*func)(float x, float p[], float* y, float dyda[], int na), float *alamda);
15.7
extern void medfit(float x[], float y[], int ndata, float* a, float* b, float* abdev); extern float rofunc(float b);