/Users/brown170/Projects/Current/coral_msu_repo/trunk/src/coralutils/NumMath/linalg.h File Reference

#include <vector>
#include "tnt_array2d.h"
#include "tnt_array2d_utils.h"
#include "tnt_array1d_utils.h"
#include "tnt_array1d.h"
#include "jama_svd.h"

Include dependency graph for linalg.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define EPSILON   1.0e-15

Functions

template<class T >
Array1D< T > stl2tntVec (const vector< T > &v)
 TNT vector = STL vector.
template<class T >
vector< T > tnt2stlVec (const Array1D< T > &v)
 STL vector = TNT vector.
template<class T >
vector< vector< T > > tnt2stlMat (const Array2D< T > &m)
 STL vector of vectors = TNT matrix.
template<class T >
Array2D< T > stl2tntMat (const vector< vector< T > > &m)
 TNT matrix = STL vector of vectors.
template<class T >
void copy (Array1D< T > &A, const vector< T > &v)
 old version of TNT vector = STL vector
template<class T >
void copy (vector< T > &A, const Array1D< T > &v)
 old STL vector = TNT vector
template<class T >
void copy (vector< vector< T > > &A, const Array2D< T > &m)
 old STL vector of vectors = TNT matrix
template<class T >
void copy (Array2D< T > &A, const vector< vector< T > > &m)
 TNT matrix = STL vector of vectors.
template<class T >
Array2D< T > transpose (const Array2D< T > &A)
 Matrix transposed.
template<class T >
Array1D< T > operator* (const Array2D< T > &A, const Array1D< T > &v)
 Matrix * Vector.
template<class T >
inner_prod (const Array1D< T > &A, const Array1D< T > &B)
 Vector * Vector inner product.
template<class T >
Array1D< T > operator* (const T &x, const Array1D< T > &A)
 T * Vector scalar product.
template<class T >
Array2D< T > operator* (const T &x, const Array2D< T > &A)
 T * Matrix scalar product.
template<class T >
Array2D< T > uplow_block (Array2D< T > U, Array2D< T > L)
 Makes a new Matrix with upper block U and lower block L.
template<class T >
Array2D< T > leftright_block (Array2D< T > L, Array2D< T > R)
 Makes a new Matrix with left block L and right block R.
template<class T >
Array1D< T > uplow_block (Array1D< T > U, Array1D< T > L)
 Makes a new Vector with upper block U and lower block L.
template<class T >
Array2D< T > svdinvert (const Array2D< T > &A)
 Matrix inversion using the SVD.
template<class T >
Array1D< T > CovmtxToErrors (const Array2D< T > &M, const Array2D< T > &cov)
template<class T >
Array2D< T > CovmtxToCovMtx (const Array2D< T > &M, const Array2D< T > &cov)
template<class T >
Array2D< T > ErrorsToCovmtx (const Array2D< T > &M, const Array1D< T > &err)
template<class T >
Array2D< T > makeDiag (const Array1D< T > &d)
template<class T >
Array2D< T > makeDiagSquared (const Array1D< T > &d)


Define Documentation

#define EPSILON   1.0e-15

Definition at line 20 of file linalg.h.


Function Documentation

template<class T >
void copy ( Array2D< T > &  A,
const vector< vector< T > > &  m 
) [inline]

TNT matrix = STL vector of vectors.

Definition at line 100 of file linalg.h.

template<class T >
void copy ( vector< vector< T > > &  A,
const Array2D< T > &  m 
) [inline]

old STL vector of vectors = TNT matrix

Definition at line 88 of file linalg.h.

template<class T >
void copy ( vector< T > &  A,
const Array1D< T > &  v 
) [inline]

old STL vector = TNT vector

Definition at line 79 of file linalg.h.

template<class T >
void copy ( Array1D< T > &  A,
const vector< T > &  v 
) [inline]

old version of TNT vector = STL vector

Definition at line 70 of file linalg.h.

template<class T >
Array2D<T> CovmtxToCovMtx ( const Array2D< T > &  M,
const Array2D< T > &  cov 
) [inline]

Definition at line 288 of file linalg.h.

template<class T >
Array1D<T> CovmtxToErrors ( const Array2D< T > &  M,
const Array2D< T > &  cov 
) [inline]

Definition at line 267 of file linalg.h.

template<class T >
Array2D<T> ErrorsToCovmtx ( const Array2D< T > &  M,
const Array1D< T > &  err 
) [inline]

Definition at line 310 of file linalg.h.

template<class T >
T inner_prod ( const Array1D< T > &  A,
const Array1D< T > &  B 
) [inline]

Vector * Vector inner product.

Definition at line 141 of file linalg.h.

template<class T >
Array2D<T> leftright_block ( Array2D< T >  L,
Array2D< T >  R 
) [inline]

Makes a new Matrix with left block L and right block R.

Definition at line 193 of file linalg.h.

template<class T >
Array2D<T> makeDiag ( const Array1D< T > &  d  )  [inline]

Definition at line 329 of file linalg.h.

template<class T >
Array2D<T> makeDiagSquared ( const Array1D< T > &  d  )  [inline]

Definition at line 338 of file linalg.h.

template<class T >
Array2D<T> operator* ( const T &  x,
const Array2D< T > &  A 
) [inline]

T * Matrix scalar product.

Definition at line 161 of file linalg.h.

template<class T >
Array1D<T> operator* ( const T &  x,
const Array1D< T > &  A 
) [inline]

T * Vector scalar product.

Definition at line 151 of file linalg.h.

template<class T >
Array1D<T> operator* ( const Array2D< T > &  A,
const Array1D< T > &  v 
) [inline]

Matrix * Vector.

Definition at line 128 of file linalg.h.

template<class T >
Array2D<T> stl2tntMat ( const vector< vector< T > > &  m  )  [inline]

TNT matrix = STL vector of vectors.

Definition at line 54 of file linalg.h.

template<class T >
Array1D<T> stl2tntVec ( const vector< T > &  v  )  [inline]

TNT vector = STL vector.

Definition at line 24 of file linalg.h.

template<class T >
Array2D<T> svdinvert ( const Array2D< T > &  A  )  [inline]

Matrix inversion using the SVD.

Definition at line 227 of file linalg.h.

template<class T >
vector< vector<T> > tnt2stlMat ( const Array2D< T > &  m  )  [inline]

STL vector of vectors = TNT matrix.

Definition at line 42 of file linalg.h.

template<class T >
vector<T> tnt2stlVec ( const Array1D< T > &  v  )  [inline]

STL vector = TNT vector.

Definition at line 33 of file linalg.h.

template<class T >
Array2D<T> transpose ( const Array2D< T > &  A  )  [inline]

Matrix transposed.

Definition at line 116 of file linalg.h.

template<class T >
Array1D<T> uplow_block ( Array1D< T >  U,
Array1D< T >  L 
) [inline]

Makes a new Vector with upper block U and lower block L.

Definition at line 213 of file linalg.h.

template<class T >
Array2D<T> uplow_block ( Array2D< T >  U,
Array2D< T >  L 
) [inline]

Makes a new Matrix with upper block U and lower block L.

Definition at line 173 of file linalg.h.


Generated on Fri Feb 6 13:30:16 2009 for CorAL by  doxygen 1.5.8