00001 /* Copyright (C) 2002-2008 Claudia Emde <claudia.emde@dlr.de> 00002 00003 This program is free software; you can redistribute it and/or modify it 00004 under the terms of the GNU General Public License as published by the 00005 Free Software Foundation; either version 2, or (at your option) any 00006 later version. 00007 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License 00014 along with this program; if not, write to the Free Software 00015 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00016 USA. 00017 */ 00018 00029 #ifndef linalg_h 00030 #define linalg_h 00031 00032 00033 #include "matpackI.h" 00034 00035 // LU decomposition 00036 void 00037 ludcmp(MatrixView LU, 00038 ArrayOfIndex& indx, 00039 ConstMatrixView A); 00040 00041 00042 // LU backsubstitution 00043 void 00044 lubacksub(VectorView x, 00045 ConstMatrixView LU, 00046 ConstVectorView b, 00047 const ArrayOfIndex& indx); 00048 00049 00050 // Exponential of a Matrix 00051 void 00052 matrix_exp(MatrixView F, 00053 ConstMatrixView A, 00054 const Index& q); 00055 00056 00057 // Maximum absolute row sum norm 00058 Numeric 00059 norm_inf(ConstMatrixView A); 00060 00061 00062 // Identity Matrix 00063 void 00064 id_mat(MatrixView I); 00065 00066 #endif // linalg_h