Files
osilap/ilt.h
T
2026-06-30 08:59:47 +09:00

91 lines
1.6 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
typedef struct{
double newton_tol;
double alpha_tol;
double sfactor;
double alpha0;
double sigma0;
int confirm;
int alpha_loop_max;
int newton_loop_max;
int TXnum, TYnum;
int DXnum, DYnum;
int dimension;
double TXmin, TXmax;
double TYmin, TYmax;
int Atype;
char TXspace[10];
char TYspace[10];
char TXtype[10];
char TYtype[10];
char infile[1024];
char outbase[1024];
int newton_loop;
int alpha_loop;
/* s-curve用パラメータ */
double s_taget;
double alpha_start;
double alpha_end;
int alpha_num;
double *alpha_list;
double *sigma_list;
/* 計算結果用パラメータ */
double alpha;
int s1, s2;
int N1, N2;
double sigma;
FILE* infp;
}HEAD;
typedef struct{
double *a;
int m, n;
}MATRIX;
typedef struct{
MATRIX u; /* tau1のベクトル */
MATRIX v; /* tau2のベクトル */
MATRIX m; /* 観測データの行列 u.m*v.m */
double mmax; /* 観測データの最大値 */
}INDATA;
double ddot_();
double dnrm2_();
void dcopy_();
void dgemm_();
void dgesvd_();
void dgesv_();
void dgeev_();
void dsysv_();
void dgemv_();
void nnls_c();
void daxpy_();
void dscal_();
int idamax_();
int SetArgment();
void Transpose();
void OutputDistr();
void OutputDecay();
void OutputDistr1D();
void OutputDecay1D();
void Error();
void Confirm();
void MakeKernel();
void MultiplyMatrix();
void Lexicographic();
void ReadData();
void ReadData1D();
void SetDataSize();
double BRDnewton_modify();
void BRDcg();
void BRDAlphaLoop();
void ScurveAlphaLoop();
void CalcSim();
double CalcSigma();
void OutputScurve();