00001
00037 #ifndef _SLU_H_
00038 #define _SLU_H_
00039
00040 #include <mc/mc_base.h>
00041
00048 struct sSlu {
00049
00051 Vmem *vmem;
00053 int iMadeVmem;
00054
00056 int statLU;
00057
00059 int skey;
00061 int m;
00063 int n;
00065 int nnz;
00066
00068 int *ia;
00070 int *ja;
00072 double *a;
00073
00075 void *work;
00076 };
00077
00084 typedef struct sSlu Slu;
00085
00086
00087
00088
00089
00090
00091
00092 #if !defined(VINLINE_SLU)
00093 #else
00094 #endif
00095
00111 Slu* Slu_ctor(Vmem *vmem, int skey, int m, int n, int nnz,
00112 int *ia, int *ja, double *a);
00113
00122 void Slu_dtor(Slu **thee);
00123
00132 int Slu_factor(Slu *thee);
00133
00145 int Slu_solve(Slu *thee, int key, double *b, double *x);
00146
00155 double Slu_lnDet(Slu *thee);
00156
00157 #endif
00158
00159