Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

LinAlg.hpp

Go to the documentation of this file.
00001 
00006 #define __cplusplus__
00007 #ifndef __LINALG__
00008 #define __LINALG__
00009 
00010 #include<iostream>
00011 #include<istream>
00012 #include<fstream>
00013 #include<string>
00014 #include<vector>
00015 #include<sstream>
00016 #include <cmath>
00017 
00018 using namespace std;
00019 
00020 // Trace of a square matrix
00021 double Trace(vector<double> const &  M);
00022 
00024 void Cholesky(vector<double> const &  M, vector<double> & L);
00025 
00027 double Determinant(vector<double> const &  L);
00029 void Matrix_invert(vector<double> const &  M, vector<double> & M1);
00030 
00032 void Matrix_mult(vector<double> const &  A, vector<double> const &   B, vector<double> & C);
00033 
00035 void Matrix_Vec_mult( vector<double> const &  A, vector<double> const &   X, vector<double> & Y);
00036 
00038 void Vec_add( vector<double> const &  v1, vector<double> const & v2, vector<double> & v3);
00039 
00041 void Vec_sub( vector<double> const &  v1, vector<double> const & v2, vector<double> & v3);
00042  
00044 void Vec_copy(vector<double> const &  v1, vector<double> & v2);
00045 
00047 void Matrix_transpose(vector<double> const &  A, vector<double> &  B );
00048 
00050 void Matrix_print(vector<double> const &  A );
00051 
00052 
00054 double Matrix_dist(vector<double> const &  A, vector<double> const &   B );
00056 double norm(vector<double> const &  A);
00058 double norm2(vector<double> const &  A);
00060 uint norm2(vector<uint> const &  A);
00062 void Matrix_random(uint N, vector<double> & A );
00063 
00065 void Matrix_setzero(uint N, vector<double> & A );
00066 
00068 void Matrix_setid(uint N, vector<double> & A );
00069 
00070 
00071 #endif

Generated on Thu Jan 12 11:54:58 2006 for NEM by  doxygen 1.4.4