00001 /***************************************************************************\ 00002 * Copyright (C) by University Paris-Est - MISS team 00003 * InverseMatrix.hpp created in 11 2008. 00004 * Mail : biri@univ-mlv.fr 00005 * 00006 * This file is part of the OpenKraken-math. 00007 * 00008 * The OpenKraken-math is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as published by 00010 * the Free Software Foundation; either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * The OpenKraken-math is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 * 00021 \***************************************************************************/ 00022 00023 /* 00024 * Anti-doublon 00025 */ 00026 #ifndef __OPENKN_MATH__INVERSE_MATRIX_HPP__ 00027 #define __OPENKN_MATH__INVERSE_MATRIX_HPP__ 00028 00029 #include "SVD.hpp" 00030 #include "GaussianElimination.hpp" 00031 00032 namespace kn{ 00033 00042 Matrix<double> inverseMatrixSVD(const Matrix<double>& m); 00043 00051 Matrix<double> pseudoInverseMatrixSVD(const Matrix<double>& m); 00052 00061 Matrix<double> inverseMatrixGaussianElimination(const Matrix<double>& m, const bool total = false); 00062 00071 Matrix<double> pseudoInverseMatrixGaussianElimination(const Matrix<double>& m, const bool total = false); 00072 00073 00074 } 00075 00076 #endif