LALSBBH-Metric.h

Go to the documentation of this file.
00001 /* Header file for SBBH-Metric.c   
00002    ver 3.0   2005/3/8 H.Tagoshi
00003 ver 3.1   2005/3/21 H.Tagoshi
00004 ver6.5 2006/2/23  NR functions was replaced with GSL functions H. Takahashi
00005 */
00006 /* This is a header for double precision complex routine dcomplex.c */
00007 /* H.Tagoshi */
00008 
00009 #ifndef _HT_DCOMPLEX_H_
00010 #define _HT_DCOMPLEX_H_
00011 
00012 #include        <string.h>
00013 
00014 #ifndef _DCOMPLEX_DECLARE_HT_
00015 typedef struct DCOMPLEX {double r,i;} dcomplex;
00016 #define _DCOMPLEX_DECLARE_HT_
00017 #endif /* _DCOMPLEX_DECLARE_HT_ */
00018 
00019 dcomplex DCadd(dcomplex a, dcomplex b);
00020 dcomplex DCsub(dcomplex a, dcomplex b);
00021 dcomplex DCmul(dcomplex a, dcomplex b);
00022 dcomplex DComplex(double re, double im);
00023 dcomplex DConjg(dcomplex z);
00024 dcomplex DCdiv(dcomplex a, dcomplex b);
00025 double DCabs(dcomplex z);
00026 dcomplex DCsqrt(dcomplex z);
00027 dcomplex DRCmul(double x, dcomplex a);
00028 
00029 #endif /* _HT_DCOMPLEX_H_ */
00030 
00031 #ifndef _HT_BCVSPINMETRIC_H_
00032 #define _HT_BCVSPINMETRIC_H_
00033 
00034 #include <gsl/gsl_vector.h>
00035 #include <gsl/gsl_math.h>
00036 #include <gsl/gsl_matrix.h>
00037 #include <gsl/gsl_eigen.h>
00038 #include <gsl/gsl_rng.h>
00039 #include <gsl/gsl_roots.h>
00040 
00041 int cos_sin_func(/* input */
00042                  int N, double beta,double fmax,
00043                  /* output */
00044                  double *costerm,double *sinterm);
00045 
00046 int coef_A(/* input */
00047            int N,double *costerm,double *sinterm,double fmax,
00048            /* output */
00049            double *A1, double *A2,double *A3);
00050 
00051 int deriv_A(/* input */
00052             int N,double *costerm,double *sinterm,double fmax,
00053             /* output */
00054             double *dA2,double *dA3);
00055 
00056 int innerR(/* input */
00057            int N, double *A, double *B, double *Sn,double fmin,double fmax,
00058            /* output */
00059            double *result);
00060 
00061 int innerC(/* input */
00062            int N, dcomplex *A, dcomplex *B, double *Sn,double fmin,double fmax,
00063            /* output */
00064            double *result);
00065 
00066 int orthonormalized_A(/* input */
00067                       int N,double *A1, double *A2,double *A3,double *Sn,
00068                       double fmin,double fmax,
00069                       /* output */
00070                       double *tA2,double *tA3,
00071                       double *hA1,double *hA2, double *hA3,
00072                       double *normtA2,double *normtA3);
00073 
00074 int dA2dbeta(/* input */
00075              int N,double *Sn,double fmin,double fmax, double *hA1,
00076              double *tA2,double *dA2,double normtA2,
00077              /* output */
00078              double *dhA2);
00079 
00080 int dA3dbeta(/* input */
00081              int N,double *Sn,double fmin,double fmax,
00082              double *hA1,double *hA2,double *dhA2,
00083              double *A3,double *tA3,double *dA3,double normtA3,
00084              /*  output */
00085              double *dhA3);
00086 
00087 int calc_function_G(/* input */
00088                int N,double *Sn,double fmin,double fmax,
00089                double *A1,double *A2,double *A3,
00090                double *dhA2db,double *dhA3db,
00091                /* output */
00092                double funcG[7][7][4][4]);
00093 
00094 int functionG(/* input */
00095               int N,double beta,double *Sn,double fmin,double fmax,
00096               /* output */
00097               double funcG[7][7][4][4]);
00098 
00099 int three_metric(/* input */
00100               double funcG[7][7][4][4],double *alpha,
00101               /* output */
00102               double metric3[4][4]);
00103 
00104 int generate_fit_points(/*input*/double MinMatch, double funcG[7][7][4][4],
00105                         int ndata, 
00106                         /*output*/ double **fit_point);
00107 
00108 int generate_metric_data(/* input */double MinMatch,
00109                          double funcG[7][7][4][4]);
00110 
00111 void model_func(double xx,double afunc[]);
00112 
00113 int metric_by_fit(/* input */
00114                    double MinMatch, int ndata,
00115                   /* output */
00116                   double metric_fit[4][4]);
00117 
00118 int rescale_metric(/*input*/ double MinMatch, int ndata, double metric1[4][4],
00119                    /*output*/ double metric[4][4]);
00120 
00121 int BCVspin_metric(/*input*/
00122                 double MinMatch, int N,double *Sn,double fmin,double fmax,double beta,
00123                 /*output*/
00124                 double **bcv2metric,int dbg);
00125 
00126 double determinant3(gsl_matrix *matrix);
00127 
00128 int matrix3_determinant_plus(gsl_matrix *matrix,gsl_vector *eig);
00129 
00130 void svdfit_d_test(double x[], double y[], double sig[], int ndata, gsl_vector *a, int ma,
00131         gsl_matrix *u, gsl_matrix  *v, gsl_vector *w, double *chisq,
00132                 void (*funcs)(double, double []));
00133 
00134 #endif
00135 

Generated on Sun Sep 7 03:06:57 2008 for LAL by  doxygen 1.5.2