| [658] | 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 | 
 | 
|---|