00001 #ifndef NS_SUPG_SCHUR_H
00002 #define NS_SUPG_SCHUR_H
00003
00004 #include <petscksp.h>
00005 #include "ApproximateInverseOpt.hpp"
00006 #include "ParallelApproximateInverse.hpp"
00007
00008 void create_s_complement(Mat Avv, Mat Avp, Mat Apv, Mat App, Mat* S, Vec bvp);
00009 void create_s_complement_Vmm(Mat Avv, Mat Avp, Mat Apv, Mat App, Mat* S, Mat Vmm, Vec bvp);
00010 Mat create_s_complement_spai(Mat Avv, Mat Avp, Mat Apv, Mat App, Mat restricted_matrix, Mat* S);
00011 Mat create_s_complement_return_diag(Mat Avv, Mat Avp, Mat Apv, Mat App, Mat* S, Vec bvp);
00012 void create_s_complement_block(Mat Avv, Mat Avp, Mat Apv, Mat App, Mat* S);
00013
00014 #endif