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

LinAlg.hpp File Reference

An include file containing the definition of linear algebra functions used here. More...

#include <iostream>
#include <istream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <cmath>

Go to the source code of this file.

Functions

double Trace (vector< double > const &M)
void Cholesky (vector< double > const &M, vector< double > &L)
 Cholesky decomposition , M = L * L^T.
double Determinant (vector< double > const &L)
 Determinant.
void Matrix_invert (vector< double > const &M, vector< double > &M1)
 Matrix invert , M1 = M ^(-1).
void Matrix_mult (vector< double > const &A, vector< double > const &B, vector< double > &C)
 Square matrix multiplication C = A * B.
void Matrix_Vec_mult (vector< double > const &A, vector< double > const &X, vector< double > &Y)
 matrix vector multiplication. Y = A * X
void Vec_add (vector< double > const &v1, vector< double > const &v2, vector< double > &v3)
 vector aaddition. v3 = v1 + v2
void Vec_sub (vector< double > const &v1, vector< double > const &v2, vector< double > &v3)
 vector subtraction. v3 = v1 - v2
void Vec_copy (vector< double > const &v1, vector< double > &v2)
 vector copy. v2 = v1
void Matrix_transpose (vector< double > const &A, vector< double > &B)
 Square matrix transpose B = A^T.
void Matrix_print (vector< double > const &A)
 Print a matrix.
double Matrix_dist (vector< double > const &A, vector< double > const &B)
 Matrix L2 distance.
double norm (vector< double > const &A)
 Norm in L2.
double norm2 (vector< double > const &A)
 Norm² in L2.
uint norm2 (vector< uint > const &A)
 Norm² in L2.
void Matrix_random (uint N, vector< double > &A)
 Create a random square matrix.
void Matrix_setzero (uint N, vector< double > &A)
 Create a zero square matrix.
void Matrix_setid (uint N, vector< double > &A)
 Create a identity matrix.


Detailed Description


Function Documentation

void Cholesky vector< double > const &  M,
vector< double > &  L
 

Cholesky decomposition , M = L * L^T M has to be symmetric positive definite matrix. L is a lower triangular matrix.

double Determinant vector< double > const &  L  ) 
 

Determinant

L has to be a lower triangular matrix.

In this case, The determinant is the product of diagonal elements.

double Matrix_dist vector< double > const &  A,
vector< double > const &  B
 

Matrix L2 distance

void Matrix_invert vector< double > const &  L,
vector< double > &  L1
 

Matrix invert , L1 = L^(-1)

L has to be a positive lower triangular matrix.

void Matrix_mult vector< double > const &  A,
vector< double > const &  B,
vector< double > &  C
 

Square matrix multiplication C = A * B

void Matrix_print vector< double > const &  A  ) 
 

Print a matrix

void Matrix_random uint  N,
vector< double > &  A
 

Create a random square matrix (N*N)

void Matrix_setid uint  N,
vector< double > &  A
 

Create an identity matrix (N*N)

void Matrix_setzero uint  N,
vector< double > &  A
 

Create a zero square matrix (N*N)

void Matrix_transpose vector< double > const &  A,
vector< double > &  B
 

Square matrix transpose B = A^T

void Matrix_Vec_mult vector< double > const &  A,
vector< double > const &  X,
vector< double > &  Y
 

square matrix vector multiplication. Y = A * X

void Vec_add vector< double > const &  v1,
vector< double > const &  v2,
vector< double > &  v3
 

vector addition. v3 = v1 + v2

void Vec_copy vector< double > const &  v1,
vector< double > &  v2
 

vector copy. v2 = v1

void Vec_sub vector< double > const &  v1,
vector< double > const &  v2,
vector< double > &  v3
 

vector subtraction. v3 = v1 - v2


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