| 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 | 
 | 
|---|