home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / biology / gsrc208a.zip / MATRIX.H < prev    next >
C/C++ Source or Header  |  1992-12-06  |  2KB  |  52 lines

  1. /*
  2.     GEPASI - a simulator of metabolic pathways and other dynamical systems
  3.     Copyright (C) 1989, 1992  Pedro Mendes
  4. */
  5.  
  6. /*************************************/
  7. /*                                   */
  8. /*          matrix operations        */
  9. /*                                   */
  10. /*          MICROSOFT C 6.00         */
  11. /*           QuickC/WIN 1.0          */
  12. /*             ULTRIX cc             */
  13. /*              GNU gcc              */
  14. /*                                   */
  15. /*   (include here compilers that    */
  16. /*   compiled GEPASI successfully)   */
  17. /*                                   */
  18. /*************************************/
  19.  
  20.  
  21. #define NO_MTX_ERROR 0
  22. #define NO_MULT 1
  23. #define NON_INVERT 2
  24. #define NEARLY_ZERO 1e-10
  25.  
  26. extern void zerovct( double m1[MAX_MET]);
  27.  
  28. extern void addvct( double m1[MAX_MET], double m2[MAX_MET],
  29.                     double m3[MAX_MET], int r               );
  30.  
  31. extern void addmtx( double m1[], double m2[], double m3[], int r, int c );
  32.  
  33. extern void addmtxsm( double m1[MAX_MET][MAX_MET], double m2[MAX_MET][MAX_MET],
  34.                       double s,                    double m3[MAX_MET][MAX_MET],
  35.                       int r, int c                                              );
  36. extern void addvctsm( double m1[MAX_MET], double m2[MAX_MET],
  37.                       double s,           double m3[MAX_MET],
  38.                       int r                                   );
  39. extern void addvctsm2( double m1[MAX_MET], double s1,
  40.                 double m2[MAX_MET], double s2,
  41.                 double m3[MAX_MET], int r       );
  42. extern void multmtx( double m1[MAX_STEP][MAX_MET], float m2[MAX_MET][MAX_MET],
  43.                      double m3[MAX_STEP][MAX_MET], int  r1, int c1, int r2, int c2 );
  44. extern void multmtxvsm( double m1[MAX_MET][MAX_MET], double m2[MAX_MET],
  45.                         double s,                    double m3[MAX_MET],
  46.                         int r1, int c1, int r2                           );
  47. extern void multmtxv( double m1[MAX_MET][MAX_MET], double m2[MAX_MET],
  48.                       double m3[MAX_MET], int r1, int c1, int r2       );
  49. extern void multmtxs( double m1[MAX_MET][MAX_MET], double s,
  50.                       double m2[MAX_MET][MAX_MET], int r, int c );
  51. extern int lu_inverse( double (*m1)[MAX_MET][MAX_MET], double (*m2)[MAX_MET][MAX_MET], int n );
  52.