| 1 | /*  Fonctions de manipulation de matrices et de vecteurs    */ | 
|---|
| 2 | /*  Resolution de systemes lineaires                        */ | 
|---|
| 3 |  | 
|---|
| 4 | /*                              R. Ansari  Juillet 1993     */ | 
|---|
| 5 | /*  Note: 07/94 Fonction GausPiv(Inversion Matrice) CMV     */ | 
|---|
| 6 | /*        est utilisee pour  R/DFitLinErr()                 */ | 
|---|
| 7 |  | 
|---|
| 8 | #ifndef MATXOP_H_SEEN | 
|---|
| 9 | #define MATXOP_H_SEEN | 
|---|
| 10 |  | 
|---|
| 11 | #ifdef __cplusplus | 
|---|
| 12 | extern "C" { | 
|---|
| 13 | #endif | 
|---|
| 14 |  | 
|---|
| 15 | /*   Declaration des fonctions   */ | 
|---|
| 16 |  | 
|---|
| 17 | /*  Operation Vecteurs/ Matrices   */ | 
|---|
| 18 | int IVecxVec(int *v1, int *v2, int n); | 
|---|
| 19 | float RVecxVec(float *v1, float *v2, int n); | 
|---|
| 20 | double DVecxVec(double *v1, double *v2, int n); | 
|---|
| 21 | void  IMatxVec(int *mx, int *vi, int *vo, int n); | 
|---|
| 22 | void  RMatxVec(float *mx, float *vi, float *vo, int n); | 
|---|
| 23 | void  DMatxVec(double *mx, double *vi, double *vo, int n); | 
|---|
| 24 |  | 
|---|
| 25 | /*  Resolution  de systemes lineaires  */ | 
|---|
| 26 | float SolveRLinSyst(float *mx, float *b, float *x, int n); | 
|---|
| 27 | double SolveDLinSyst(double *mx, double *b, double *x, int n); | 
|---|
| 28 |  | 
|---|
| 29 |  | 
|---|
| 30 | /*  Ajustement de Chi2   */ | 
|---|
| 31 |  | 
|---|
| 32 | /*  Ajustement avec vecteurs de depart Reels  */ | 
|---|
| 33 | int InitRFitLin(int nstmx, int szv); | 
|---|
| 34 | void EndRFitLin(void); | 
|---|
| 35 | float **GetRFitVect(int nvar, int vsz); | 
|---|
| 36 | void FreeRFitVect(void); | 
|---|
| 37 | float RFitLin(int nd, int vsz, float *XVar); | 
|---|
| 38 | float RFitLinErr(int nd, int vsz, float *XVar, float *Err); | 
|---|
| 39 |  | 
|---|
| 40 | /*  Ajustement avec vecteurs de depart double  */ | 
|---|
| 41 | int InitDFitLin(int nstmx, int szv); | 
|---|
| 42 | void EndDFitLin(void); | 
|---|
| 43 | double **GetDFitVect(int nvar, int vsz); | 
|---|
| 44 | void FreeDFitVect(void); | 
|---|
| 45 | double DFitLin(int nd, int vsz, double *XVar); | 
|---|
| 46 | double DFitLinErr(int nd, int vsz, double *XVar, double *Err); | 
|---|
| 47 |  | 
|---|
| 48 | #ifdef __cplusplus | 
|---|
| 49 | } | 
|---|
| 50 | #endif | 
|---|
| 51 |  | 
|---|
| 52 | #endif | 
|---|
| 53 |  | 
|---|
| 54 |  | 
|---|
| 55 |  | 
|---|
| 56 |  | 
|---|
| 57 |  | 
|---|