typedef struct {double re,im;} COMPLEX; typedef enum {false, true} LOGIC; #define RADIX_BASE 16 #define EPSZ 1.0e-13 #define CZERO cmplx(0.0,0.0) #define CONE cmplx(1.0,0.0) #define ZI cmplx(0.0,1.0) #define PAI 3.1415926535e+00 #define cabs(z) sqrt(ab2((z))) void rep_row_c(COMPLEX *a,int n,int org, int dis, int column); void rep_row(COMPLEX *a,int n,int org, int dis); void rpe_column(COMPLEX *a,int n, int org, int dis); void swap(COMPLEX *a, COMPLEX *b); void hesse(COMPLEX *a,int *ip,int n, double eps); void balance(COMPLEX *z, int n, double *bv, double *zw); void normalize(COMPLEX *x,int n, int nmode); void mat_mul(COMPLEX *za,COMPLEX *zb,COMPLEX *zc,int m, int n, int k); void normalize(COMPLEX *x,int n, int nmode); void mat_mul(COMPLEX *za,COMPLEX *zb,COMPLEX *zc,int m, int n, int k); void evec(COMPLEX *z, int n, COMPLEX *ev,COMPLEX *vv,double *dv, int *iq, double ep, COMPLEX *x,COMPLEX *f); void ith_qrcon(COMPLEX *z,int n, int low, int up, COMPLEX *vv); void clear_mat(COMPLEX *a,int m,int n); int find_max(COMPLEX *a, int n,int row,int column, double *max); int clu(COMPLEX *a,int n, int *is,int *ip,double epsz); int lcx(COMPLEX *a,COMPLEX *b,int *ip, int *is, int n,double epsz); int inv_mat(COMPLEX *a,COMPLEX *b,COMPLEX *w,int *ip,int n, double epsz); int eigen(COMPLEX *z, int n, COMPLEX *ev,COMPLEX *vv,double *dv,int *iq, COMPLEX *f,COMPLEX *x); int expa(COMPLEX *z,double x, COMPLEX *ea,int n, COMPLEX *vv, COMPLEX *w, COMPLEX *ev,double *dv,int *ip); int dka(); double norm(COMPLEX z); double ab2(COMPLEX z); double norm_row(COMPLEX *z,int n,int row, double norm_dia); double norm_column(COMPLEX *z,int n,int column, double norm_dia); double length(COMPLEX za,COMPLEX zb); double vec_norm(COMPLEX *x,int n); double mat_norm(COMPLEX *x,int n); double hesse_norm(COMPLEX *z, int n); COMPLEX cmplx(double a, double b); COMPLEX cmul(COMPLEX a, COMPLEX b); COMPLEX cadd(COMPLEX a, COMPLEX b); COMPLEX csub(COMPLEX a, COMPLEX b); COMPLEX cdiv(COMPLEX a, COMPLEX ax); COMPLEX conj(COMPLEX z); COMPLEX zexp(COMPLEX z); COMPLEX csqrt(COMPLEX z); COMPLEX cnega(COMPLEX z); COMPLEX cmul_r(COMPLEX z, double r); COMPLEX cdiv_r(COMPLEX z, double r); COMPLEX org_shift(COMPLEX *pz, int n, int count); COMPLEX max_c_element(COMPLEX *x, int n); COMPLEX ccosh(COMPLEX z); COMPLEX csinh(COMPLEX z); COMPLEX zsin(COMPLEX z); COMPLEX zcos(COMPLEX z); LOGIC con(COMPLEX z, double epsz); int dka(double a[],COMPLEX z[],int n, double eps);