/[escript]/trunk/paso/src/SparseMatrix.h
ViewVC logotype

Diff of /trunk/paso/src/SparseMatrix.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3282 by gross, Fri Aug 13 08:38:06 2010 UTC revision 3283 by gross, Mon Oct 18 22:39:28 2010 UTC
# Line 36  Line 36 
36    
37  #define MATRIX_FORMAT_DEFAULT 0  #define MATRIX_FORMAT_DEFAULT 0
38  #define MATRIX_FORMAT_CSC 1  #define MATRIX_FORMAT_CSC 1
 #define MATRIX_FORMAT_SYM 2  
39  #define MATRIX_FORMAT_BLK1 4  #define MATRIX_FORMAT_BLK1 4
40  #define MATRIX_FORMAT_OFFSET1 8  #define MATRIX_FORMAT_OFFSET1 8
41  #define MATRIX_FORMAT_TRILINOS_CRS 16  #define MATRIX_FORMAT_TRILINOS_CRS 16
# Line 57  typedef struct Paso_SparseMatrix { Line 56  typedef struct Paso_SparseMatrix {
56    dim_t len;    dim_t len;
57    
58    double *val;         /* this is used for classical CSR or CSC */    double *val;         /* this is used for classical CSR or CSC */
59    void* solver;  
60      index_t solver_package;  /* package controling the solver pointer */
61      void* solver_p;  /* pointer to data needed by a solver */
62    
63  } Paso_SparseMatrix;  } Paso_SparseMatrix;
64    
65  /*  interfaces: */  /*  interfaces: */
# Line 90  Paso_SparseMatrix* Paso_Solver_getCoarse Line 92  Paso_SparseMatrix* Paso_Solver_getCoarse
92  Paso_SparseMatrix* Paso_SparseMatrix_MatrixMatrix(Paso_SparseMatrix* A, Paso_SparseMatrix* B);  Paso_SparseMatrix* Paso_SparseMatrix_MatrixMatrix(Paso_SparseMatrix* A, Paso_SparseMatrix* B);
93  Paso_SparseMatrix* Paso_SparseMatrix_RemovePositiveOffdiagonals(Paso_SparseMatrix* P);  Paso_SparseMatrix* Paso_SparseMatrix_RemovePositiveOffdiagonals(Paso_SparseMatrix* P);
94  Paso_SparseMatrix* Paso_SparseMatrix_unroll(Paso_SparseMatrix* A);  Paso_SparseMatrix* Paso_SparseMatrix_unroll(Paso_SparseMatrix* A);
95    Paso_SparseMatrix* Paso_SparseMatrix_getTranspose(Paso_SparseMatrix* P);
96    
97  void Paso_SparseMatrix_setValues(Paso_SparseMatrix*,double);  void Paso_SparseMatrix_setValues(Paso_SparseMatrix*,double);
98  void Paso_SparseMatrix_saveMM_CSC(Paso_SparseMatrix *, FILE *);  void Paso_SparseMatrix_saveMM_CSC(Paso_SparseMatrix *, FILE *);
# Line 104  void Paso_SparseMatrix_copyBlockFromMain Line 107  void Paso_SparseMatrix_copyBlockFromMain
107  void Paso_SparseMatrix_copyBlockToMainDiagonal(Paso_SparseMatrix * A_p, const double* in);  void Paso_SparseMatrix_copyBlockToMainDiagonal(Paso_SparseMatrix * A_p, const double* in);
108  void Paso_SparseMatrix_applyBlockMatrix(Paso_SparseMatrix * A_p, double* block_diag, int* pivot, double*x, double *b);  void Paso_SparseMatrix_applyBlockMatrix(Paso_SparseMatrix * A_p, double* block_diag, int* pivot, double*x, double *b);
109  void Paso_SparseMatrix_invMain(Paso_SparseMatrix * A_p, double* inv_diag, int* pivot);  void Paso_SparseMatrix_invMain(Paso_SparseMatrix * A_p, double* inv_diag, int* pivot);
110    dim_t Paso_SparseMatrix_maxDeg(Paso_SparseMatrix * A_p);
111    
112  /*  /*
113  void Paso_SparseMatrix_add(Paso_SparseMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);  void Paso_SparseMatrix_add(Paso_SparseMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);
114  Paso_SparseMatrix* Paso_SparseMatrix_loadMM_toCSR(char *);  Paso_SparseMatrix* Paso_SparseMatrix_loadMM_toCSR(char *);

Legend:
Removed from v.3282  
changed lines
  Added in v.3283

  ViewVC Help
Powered by ViewVC 1.1.26