Main Page | File List | File Members

zsupralu_type.h

Go to the documentation of this file.
00001 /* 
00002 
00003 $Id: zsupralu_type.h,v 1.4 2004/02/11 12:45:32 pletzer Exp $ 
00004 
00005 */
00006 
00026 #ifndef _ZSUPRALU_TYPE
00027 #define _ZSUPRALU_TYPE
00028 
00029 #include "zsp_defs.h"
00030 
00031 typedef struct {
00032 
00033   SuperMatrix A, AC;
00034   SuperMatrix *L, *U;
00035   int *perm_r; /* row permutations from partial pivoting */
00036   int *perm_c; /* column permutation vector */
00037   int *etree; /* column elimination tree */
00038   superlu_options_t options;
00039   SuperLUStat_t stat;
00040   int colperm_is_computed;
00041   int LUfactorized;
00042 
00043 } zsupralu_sparse_type;
00044 
00045 /* Fortran name mapping */
00046 
00047 #if defined( __RS6000) || defined(__HP) || defined(__IBM__)
00048 #define zsupralu_new_ zsupralu_new
00049 #define zsupralu_del_ zsupralu_del
00050 #define zsupralu_vector_dot_matrix_ zsupralu_vector_dot_matrix
00051 #define zsupralu_conj_vector_dot_matrix_ zsupralu_conj_vector_dot_matrix
00052 #define zsupralu_matrix_dot_vector_ zsupralu_matrix_dot_vector
00053 #define zsupralu_vector_dot_matrix_dot_vector_ zsupralu_vector_dot_matrix_dot_vector
00054 #define zsupralu_conj_vector_dot_matrix_dot_vector_ zsupralu_conj_vector_dot_matrix_dot_vector
00055 #define zsupralu_determinant_ zsupralu_determinant
00056 #define zsupralu_solve_ zsupralu_solve
00057 #else
00058 #if defined(__CRAY)
00059 #define zsupralu_new_ ZSUPRALU_NEW
00060 #define zsupralu_del_ ZSUPRALU_DEL
00061 #define zsupralu_vector_dot_matrix_ ZSUPRALU_VECTOR_DOT_MATRIX
00062 #define zsupralu_conj_vector_dot_matrix_ ZSUPRALU_CONJ_VECTOR_DOT_MATRIX
00063 #define zsupralu_matrix_dot_vector_ ZSUPRALU_MATRIX_DOT_VECTOR
00064 #define zsupralu_vector_dot_matrix_dot_vector_ ZSUPRALU_VECTOR_DOT_MATRIX_DOT_VECTOR
00065 #define zsupralu_conj_vector_dot_matrix_dot_vector_ ZSUPRALU_CONJ_VECTOR_DOT_MATRIX_DOT_VECTOR
00066 #define zsupralu_determinant_ ZSUPRALU_DETERMINANT
00067 #define zsupralu_solve_ ZSUPRALU_SOLVE
00068 #endif
00069 #endif
00070 
00071 
00091 void zsupralu_new_(zsupralu_sparse_type **self,
00092                    doublecomplex *vals,
00093                    int *row_ind, int *col_ptr,
00094                    int *nnz, int *n, int *info);
00095 
00096 
00106 void zsupralu_del_(zsupralu_sparse_type **self, int *info);
00107 
00117 void zsupralu_vector_dot_matrix_(zsupralu_sparse_type **self, 
00118                                 doublecomplex *vector, doublecomplex *res,
00119                                  int *info);
00120 
00130 void zsupralu_conj_vector_dot_matrix_(zsupralu_sparse_type **self, 
00131                                 doublecomplex *vector, doublecomplex *res,
00132                                       int *info);
00133 
00143 void zsupralu_matrix_dot_vector_(zsupralu_sparse_type **self,
00144                                 doublecomplex *vector, doublecomplex *res,
00145                                  int *info);
00146 
00157 void zsupralu_vector_dot_matrix_dot_vector_(zsupralu_sparse_type **self, 
00158                                 doublecomplex *vector1, doublecomplex *vector2,
00159                                             doublecomplex *res, int *info);
00160 
00171 void zsupralu_conj_vector_dot_matrix_dot_vector_(zsupralu_sparse_type **self,
00172                                 doublecomplex *vector1, doublecomplex *vector2,
00173                                                  doublecomplex *res, int *info);
00174 
00186 void zsupralu_colperm_(zsupralu_sparse_type **self, 
00187                        int *permc_spec, int *info);
00188 
00198 void zsupralu_lu_(zsupralu_sparse_type **self, int *info);
00199 
00210 void zsupralu_determinant_(zsupralu_sparse_type **self,
00211                            doublecomplex *res_mantissa, int *res_exponent,
00212                            int *info);
00213 
00223 void zsupralu_solve_(zsupralu_sparse_type **self, 
00224                      doublecomplex *b, int *info);
00225 
00226 
00227 
00228 #endif /* _ZSUPRALU_TYPE */

Generated on Tue Jul 26 15:21:34 2005 for Supralu by doxygen 1.3.5