00001 #include "umfpacksolver.h" 00002 00003 00004 void UMFPACKSolver::solve(const SparseMatrix<double> &M,VecDouble &sol,const VecDouble &rhs) 00005 { 00006 assert(M.m() == M.n()); 00007 assert(rhs.size() == M.n()); 00008 solveA.factorize(M); 00009 sol=rhs; 00010 solveA.solve(sol); 00011 } 00012 00013 00014 void UMFPACKSolver::solveAgain(const SparseMatrix<double> &M,VecDouble &sol,const VecDouble &rhs) 00015 { 00016 assert(M.m() == M.n()); 00017 assert(rhs.size() == M.n()); 00018 sol=rhs; 00019 solveA.solve(sol); 00020 } 00021 00022