00001 // ---------------------------------------------------------------------------- 00002 // ILSS_PAR 00003 // ---------------------------------------------------------------------------- 00004 // Parallel Interval Linear System Solver 00005 // ---------------------------------------------------------------------------- 00006 // Paralleler Verifizierter Loeser fuer lineare Intervallgleichungssysteme 00007 // ---------------------------------------------------------------------------- 00008 // This Version: 00009 // Copyright (C) 2004-2007 Markus Grimmer 00010 // Based on: 00011 // Serial Version Copyright (C) 2003 Carlos Holbig and Walter Kraemer 00012 // 00013 // markus.grimmer@math.uni-wuppertal.de 00014 // ---------------------------------------------------------------------------- 00015 00016 // This file is part of the Parallel Interval Linear System Solver ILSS_PAR. 00017 // 00018 // ILSS_PAR is free software; you can redistribute it and/or modify 00019 // it under the terms of the GNU General Public License as published by 00020 // the Free Software Foundation; either version 2 of the License, or 00021 // (at your option) any later version. 00022 // 00023 // ILSS_PAR is distributed in the hope that it will be useful, 00024 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00026 // GNU General Public License for more details. 00027 // 00028 // You should have received a copy of the GNU General Public License 00029 // along with ILSS_PAR; if not, write to the Free Software 00030 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00031 00032 // ---------------------------------------------------------------------------- 00033 // ---------------------------------------------------------------------------- 00034 // ---------------------------------------------------------------------------- 00035 00051 #ifndef _ILSS_PAR_HPP 00052 #define _ILSS_PAR_HPP 00053 00054 #include <iostream> 00055 #include <fstream> 00056 #include <iomanip> 00057 #include <imatrix.hpp> 00058 #include <mvi_util.hpp> 00059 #include "vectoroperations.hpp" 00060 #include "cxsc_mpicomm_templ.hpp" 00061 #include "matinv_aprx_par.hpp" // Parallel Matrix inversion 00062 #include "matmul_par.hpp" // Parallel Matrix multiplication 00063 00064 using namespace cxsc; 00065 using namespace std; 00066 00067 /* 00068 // Only internally available: 00069 00070 void LSS(imatrix& A, ivector& b, ivector& Y, 00071 imatrix& MyA, vector<int>& mycolumns, intvector& mycol, 00072 bool distribute, int procs, int mypid, int& errc, int& commerrc, 00073 rmatrix& R1, rmatrix& R2, imatrix& C, int& FLAGS, ofstream& ausg); 00074 */ 00075 00076 00077 extern void LSS( imatrix&, ivector&, ivector&, 00078 imatrix&, vector<int>&, intvector&, bool, 00079 int, int, int&, int&, ofstream& ); 00080 extern void LSS( imatrix&, ivector&, ivector&, 00081 int, int, int&, int&, ofstream& ); 00082 extern void LSS( imatrix&, ivector&, ivector&, int, int, int&, int&, ofstream& ); 00083 extern void LSS( imatrix&, ivector&, ivector&, int&, int&, ofstream& ); 00084 00085 #endif