CH_Matrix_Classes Namespace Reference

Matrix Classes and Linear Algebra. See Matrix Classes (namespace CH_Matrix_Classes) for a quick introduction. More...


Classes

struct  mat_less_index
 "less"-routine for sorting indices of value arrays by std::sort More...
class  MatrixError
 Such an object is generated and passed to MEmessage(), whenever an error occurs. It holds some output information on the error. More...
class  MErange
 Such an object is generated and passed to MEmessage() whenever some index is out of range. More...
class  MEmem
 Such an object is generated and passed to MEmessage() whenever a memory allocation fails. More...
class  MEdim
 Such an object is generated and passed to MEmessage() whenever matrix dimensions do not agree for a desired operation. More...
class  Memarray
 A simple memory manager for frequent allocation and deallocation of arrays of roughly the same size. More...
class  Memarrayuser
 All derived classes share a common Memarray memory manager, which is generated with the first user and destructed when the last user is destructed. More...
class  Range
 allows to specify a range of integral values via (from, to, step) meaning {j=from+i*step:j in[from,to],i in {0,1,2,...}} More...
class  Indexmatrix
 Matrix class for integral values of type Integer More...
class  Realrange
 allows to specify a range of real values via (from, to, step,tol) meaning {x=from+i*step:x in(from-tol,to+tol),i in {0,1,2,...}} More...
class  Matrix
 Matrix class for real values of type Real More...
class  Symmatrix
 Matrix class of symmetric matrices with real values of type Real More...
class  Sparsemat
 Matrix class of sparse matrices with real values of type Real More...
class  Sparsesym
 Matrix class of symmetric matrices with real values of type Real More...
class  Lanczosmatrix
 Abstract base class for supplying the input matrix for Lanzcosmethods. More...
class  Lanczos
 Abstract interface to Lanzcos methods for computing a few extremal eigenvalues given via a Lanczosmatrix. More...
class  Lanczpol
 A Lanczos method allowing spectral transformation by Chebycheff polynomials and premature termination. More...

Typedefs

typedef int Integer
 all integer numbers in calculations and indexing are of this type
typedef double Real
 all real numbers in calculations are of this type

Enumerations

enum  Mtype {
  MTglobalfun, MTindexmatrix, MTmatrix, MTsymmetric,
  MTsparse, MTsparsesym
}
 serves for specifying the source (matrix class or function) of the error More...
enum  MEcode {
  ME_unspec, ME_range, ME_mem, ME_dim,
  ME_num, ME_warning
}
 serves for specifying the error type. More...

Functions

template<class Val>
void mat_xey (Integer len, Val *x, const Val *y)
 Copy an array of length len to destination x from source y.
template<class Val>
void mat_xey (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Copy an array of length len to destination x (increment incx) from source y (increment incy).
template<class Val>
void mat_xemx (Integer len, Val *x)
 Set x[i]=-x[i] for an array of length len.
template<class Val>
void mat_xemx (Integer len, Val *x, const Integer incx)
 Set x[i]=-x[i] for len elements of an array incremented by incx.
template<class Val>
void mat_xemy (Integer len, Val *x, const Val *y)
 Set x[i]=-y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xemy (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Set x[i]=-y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xeya (Integer len, Val *x, const Val *y, Val a)
 Set x[i]=a*y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xeya (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, Val a)
 Set x[i]=a*y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xpey (Integer len, Val *x, const Val *y)
 Set x[i]+=y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xpey (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Set x[i]+=y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xmey (Integer len, Val *x, const Val *y)
 Set x[i]=-y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xmey (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Set x[i]=-y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xhadey (Integer len, Val *x, const Val *y)
 Set x[i]*=y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xinvhadey (Integer len, Val *x, const Val *y)
 Set x[i]/=y[i] for len elements of the arrays x and y, no zero checking!
template<class Val>
void mat_xhadey (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Set x[i]*=y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xinvhadey (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy)
 Set x[i]/=y[i] for len elements of the arrays x and y incremented by incx and incy, respectively, no zero checking!
template<class Val>
void mat_xpeya (Integer len, Val *x, const Val *y, Val a)
 Set x[i]+=a*y[i] for len elements of the arrays x and y.
template<class Val>
void mat_xpeya (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, Val a)
 Set x[i]+=a*y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xbpeya (Integer len, Val *x, const Val *y, Val a, Val b)
 Set x[i]=a*y[i]+b*x[i] for len elements of the arrays x and y.
template<class Val>
void mat_xbpeya (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, Val a, Val b)
 Set x[i]=a*y[i]+b*x[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
void mat_xea (Integer len, Val *x, Val a)
 Set x[i]=a for len elements of the array x.
template<class Val>
void mat_xea (Integer len, Val *x, const Integer incx, Val a)
 Set x[i]=a for len elements of the array x incremented by incx.
template<class Val>
void mat_xpea (Integer len, Val *x, Val a)
 Set x[i]+=a for len elements of the array x.
template<class Val>
void mat_xpea (Integer len, Val *x, const Integer incx, Val a)
 Set x[i]+=a for len elements of the array x incremented by incx.
template<class Val>
void mat_xmultea (Integer len, Val *x, Val a)
 Set x[i]*=a for len elements of the array x.
template<class Val>
void mat_xmultea (Integer len, Val *x, const Integer incx, Val a)
 Set x[i]*=a for len elements of the array x incremented by incx.
template<class Val>
void mat_xdivea (Integer len, Val *x, Val a)
 Set x[i]/=a for len elements of the array x.
template<class Val>
void mat_xdivea (Integer len, Val *x, const Integer incx, Val a)
 Set x[i]/=a for len elements of the array x incremented by incx.
template<class Val>
void mat_xmodea (Integer len, Val *x, Val a)
 Set x[i]=a for len elements of the array x.
template<class Val>
void mat_xmodea (Integer len, Val *x, const Integer incx, Val a)
 Set x[i]=a for len elements of the array x incremented by incx.
template<class Val>
void mat_xeypz (Integer len, Val *x, const Val *y, const Val *z)
 Set x[i]=y[i]+z[i] for len elements of the arrays x, y and z.
template<class Val>
void mat_xeypz (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, const Val *z, const Integer incz)
 Set x[i]=y[i]+z[i] for len elements of the arrays x, y and z incremented by incx, incy, and incz, respectively.
template<class Val>
void mat_xeymz (Integer len, Val *x, const Val *y, const Val *z)
 Set x[i]=y[i]-z[i] for len elements of the arrays x, y and z.
template<class Val>
void mat_xeymz (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, const Val *z, const Integer incz)
 Set x[i]=y[i]-z[i] for len elements of the arrays x, y and z incremented by incx, incy, and incz, respectively.
template<class Val>
void mat_xeyapzb (Integer len, Val *x, const Val *y, const Val *z, Val a, Val b)
 Set x[i]=a*y[i]+b*z[i] for len elements of the arrays x, y and z.
template<class Val>
void mat_xeyapzb (Integer len, Val *x, const Integer incx, const Val *y, const Integer incy, const Val *z, const Integer incz, Val a, Val b)
 Set x[i]=a*y[i]+b*z[i] for len elements of the arrays x, y and z incremented by incx, incy, and incz, respectively.
template<class Val>
Val mat_ip (Integer len, const Val *x, const Val *y)
 return sum(x[i]*y[i]) summing over len elements of the arrays x and y.
template<class Val>
Val mat_ip (Integer len, const Val *x, const Integer incx, const Val *y, const Integer incy)
 return sum(x[i]*y[i]) summing over len elements of the arrays x and y incremented by incx and incy, respectively.
template<class Val>
Val mat_ip (Integer len, const Val *x)
 return sum(x[i]*x[i]) summing over len elements of the array x.
template<class Val>
Val mat_ip (Integer len, const Val *x, const Integer incx)
 return sum(x[i]*x[i]) summing over len elements of the array x incremented by incx.
template<class Val>
Val mat_sum (Integer len, const Val *x)
 returns sum(x[i]) over len elements of the array x.
template<class Val>
Val mat_sum (Integer len, const Val *x, const Integer incx)
 returns sum(x[i]) over len elements of the array x incremented by incx.
template<class Val>
void mat_swap (Integer len, Val *x, Val *y)
 swap values x[i] and y[i] for len elements of the arrays x and y.
template<class Val>
void mat_swap (Integer len, Val *x, const Integer incx, Val *y, const Integer incy)
 swap values x[i] and y[i] for len elements of the arrays x and y incremented by incx and incy, respectively.
int MEmessage (const MatrixError &)
 displays an error message and terminates via abort() or returns 1 in case of warnings.
template<class Mat1, class Mat2>
void chk_mult (const Mat1 &, const Mat2 &, int=0, int=0)
 CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether matrices x and y can be multiplied.
template<class T>
int mem_provide (Memarray &memarray, long provide, long in_use, long &avail, T *&store)
 provide sufficient memory for an existing array, reallocating and copying the old information upon need, returns 0 upon success, !=0 upon failure.
template<class T>
int mem_provide_init0 (Memarray &memarray, long provide, long &avail, T *&store)
 provide sufficient memory for an existing array, reallocating and copying the old information and initializing the new entries to 0, returns 0 upon success, !=0 upon failure.
double abs (double d)
 absolute value of a double
int abs (int d)
 absolute value of an int
long abs (long d)
 absolute value of a long
double max (double a, double b)
 maximum value of two double variables
double min (double a, double b)
 minimum value of two double variables
int max (int a, int b)
 maximum value of two int variables
int min (int a, int b)
 minimum value of two int variables
long max (long a, long b)
 maximum value of two long vriables
long min (long a, long b)
 minimum value of two long variables
void swap (double &a, double &b)
 swaps two double variables
void swap (long &a, long &b)
 swaps two long variables
void swap (int &a, int &b)
 swpas to int variables
int sqr (int a)
 return a*a for int a
long sqr (long a)
 return a*a for long a
double sqr (double a)
 return a*a for double a
int sign (int a)
 return the signum of an int a (1 for a>0,-1 for a<0,0 for a==0)
long sign (long a)
 return the signum of a long a (1 for a>0,-1 for a<0,0 for a==0)
double sign (double a)
 return the signum of a double a (1. for a>0.,-1. for a<0.,0. for a==0.)
double sign (double a, double tol)
 return the signum of a double a with tolerance (1. for a>tol,-1. for a<-tol,0. otherwise)
double d_sign (double a, double b)
 return a if a and b have the same sign, return -a otherwise
Indexmatrix diag (const Indexmatrix &A)
void swap (Indexmatrix &A, Indexmatrix &B)
Indexmatrixxbpeya (Indexmatrix &x, const Indexmatrix &y, Integer alpha, Integer beta, int ytrans)
Indexmatrixxeyapzb (Indexmatrix &x, const Indexmatrix &y, const Indexmatrix &z, Integer alpha, Integer beta)
Indexmatrixgenmult (const Indexmatrix &A, const Indexmatrix &B, Indexmatrix &C, Integer alpha, Integer beta, int atrans, int btrans)
Indexmatrix transpose (const Indexmatrix &A)
Indexmatrix abs (const Indexmatrix &A)
Integer trace (const Indexmatrix &A)
Indexmatrix sumrows (const Indexmatrix &A)
Indexmatrix sumcols (const Indexmatrix &A)
Integer sum (const Indexmatrix &A)
Indexmatrix operator< (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator<= (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator== (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator!= (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator< (const Indexmatrix &A, Integer d)
Indexmatrix operator> (const Indexmatrix &A, Integer d)
Indexmatrix operator<= (const Indexmatrix &A, Integer d)
Indexmatrix operator>= (const Indexmatrix &A, Integer d)
Indexmatrix operator== (const Indexmatrix &A, Integer d)
Indexmatrix operator!= (const Indexmatrix &A, Integer d)
Indexmatrix minrows (const Indexmatrix &A)
Indexmatrix mincols (const Indexmatrix &A)
Integer min (const Indexmatrix &A, Integer *iindex, Integer *jindex)
Indexmatrix maxrows (const Indexmatrix &A)
Indexmatrix maxcols (const Indexmatrix &A)
Integer max (const Indexmatrix &A, Integer *iindex, Integer *jindex)
Indexmatrix sortindex (const Indexmatrix &vec)
void sortindex (const Indexmatrix &vec, Indexmatrix &ind)
std::ostream & operator<< (std::ostream &o, const Indexmatrix &v)
std::istream & operator>> (std::istream &i, Indexmatrix &v)
Integer ip (const Indexmatrix &A, const Indexmatrix &B)
Real norm2 (const Indexmatrix &A)
Indexmatrix operator* (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator+ (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator- (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator% (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator* (const Indexmatrix &A, Integer d)
Indexmatrix operator* (Integer d, const Indexmatrix &A)
Indexmatrix operator/ (const Indexmatrix &A, Integer d)
Indexmatrix operator% (const Indexmatrix &A, Integer d)
Indexmatrix operator+ (const Indexmatrix &A, Integer d)
Indexmatrix operator+ (Integer d, const Indexmatrix &A)
Indexmatrix operator- (const Indexmatrix &A, Integer d)
Indexmatrix operator- (Integer d, const Indexmatrix &A)
Indexmatrix triu (const Indexmatrix &A, Integer i)
Indexmatrix tril (const Indexmatrix &A, Integer i)
Indexmatrix concat_right (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix concat_below (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix rand (Integer rows, Integer cols, Integer lb, Integer ub, CH_Tools::GB_rand *random_generator)
Indexmatrix sign (const Indexmatrix &A)
Indexmatrix operator> (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator>= (const Indexmatrix &A, const Indexmatrix &B)
Indexmatrix operator< (Integer d, const Indexmatrix &A)
Indexmatrix operator> (Integer d, const Indexmatrix &A)
Indexmatrix operator<= (Integer d, const Indexmatrix &A)
Indexmatrix operator>= (Integer d, const Indexmatrix &A)
Indexmatrix operator== (Integer d, const Indexmatrix &A)
Indexmatrix operator!= (Integer d, const Indexmatrix &A)
Indexmatrix find (const Indexmatrix &A)
Indexmatrix find_number (const Indexmatrix &A, Integer num)
std::vector< int > & assign (std::vector< int > &vec, const Indexmatrix &A)
std::vector< long > & assign (std::vector< long > &vec, const Indexmatrix &A)
Matrix diag (const Matrix &A)
Matrixxbpeya (Matrix &x, const Matrix &y, Real alpha, Real beta, int ytrans)
Matrixxeyapzb (Matrix &x, const Matrix &y, const Matrix &z, Real alpha, Real beta)
Matrixgenmult (const Matrix &A, const Matrix &B, Matrix &C, Real alpha, Real beta, int atrans, int btrans)
Matrix transpose (const Matrix &A)
std::vector< double > & assign (std::vector< double > &vec, const Matrix &A)
Matrixgenmult (const Symmatrix &A, const Matrix &B, Matrix &C, Real alpha, Real beta, int btrans)
Matrixgenmult (const Matrix &A, const Symmatrix &B, Matrix &C, Real alpha, Real beta, int atrans)
Matrixgenmult (const Sparsesym &A, const Matrix &B, Matrix &C, Real alpha, Real beta, int btrans)
Matrixgenmult (const Matrix &A, const Sparsesym &B, Matrix &C, Real alpha, Real beta, int atrans)
Matrixgenmult (const Sparsemat &A, const Matrix &B, Matrix &C, Real alpha, Real beta, int atrans, int btrans)
Matrixgenmult (const Matrix &A, const Sparsemat &B, Matrix &C, Real alpha, Real beta, int atrans, int btrans)
Matrix abs (const Matrix &A)
Real trace (const Matrix &A)
Matrix sumrows (const Matrix &A)
Matrix sumcols (const Matrix &A)
Real sum (const Matrix &A)
Matrix house (const Matrix &x, Integer i, Integer j)
int rowhouse (Matrix &A, const Matrix &v, Integer i, Integer j)
int colhouse (Matrix &A, const Matrix &v, Integer i, Integer j)
Matrix operator< (const Matrix &A, const Matrix &B)
Matrix operator<= (const Matrix &A, const Matrix &B)
Matrix operator== (const Matrix &A, const Matrix &B)
Matrix operator!= (const Matrix &A, const Matrix &B)
Matrix operator< (const Matrix &A, Real d)
Matrix operator> (const Matrix &A, Real d)
Matrix operator<= (const Matrix &A, Real d)
Matrix operator>= (const Matrix &A, Real d)
Matrix operator== (const Matrix &A, Real d)
Matrix operator!= (const Matrix &A, Real d)
Matrix minrows (const Matrix &A)
Matrix mincols (const Matrix &A)
Real min (const Matrix &A, Integer *iindex, Integer *jindex)
Matrix maxrows (const Matrix &A)
Matrix maxcols (const Matrix &A)
Real max (const Matrix &A, Integer *iindex, Integer *jindex)
Indexmatrix sortindex (const Matrix &vec)
void sortindex (const Matrix &vec, Indexmatrix &ind)
std::ostream & operator<< (std::ostream &o, const Matrix &v)
std::istream & operator>> (std::istream &i, Matrix &v)
Real ip (const Matrix &A, const Matrix &B)
Real colip (const Matrix &A, Integer j)
Real rowip (const Matrix &A, Integer i)
Matrix colsip (const Matrix &A)
Matrix rowsip (const Matrix &A)
Real norm2 (const Matrix &A)
Matrix operator* (const Matrix &A, const Matrix &B)
Matrix operator+ (const Matrix &A, const Matrix &B)
Matrix operator- (const Matrix &A, const Matrix &B)
Matrix operator% (const Matrix &A, const Matrix &B)
Matrix operator/ (const Matrix &A, const Matrix &B)
Matrix operator* (const Matrix &A, Real d)
Matrix operator* (Real d, const Matrix &A)
Matrix operator/ (const Matrix &A, Real d)
Matrix operator+ (const Matrix &A, Real d)
Matrix operator+ (Real d, const Matrix &A)
Matrix operator- (const Matrix &A, Real d)
Matrix operator- (Real d, const Matrix &A)
int QR_factor (const Matrix &A, Matrix &Q, Matrix &R, Real tol)
int QR_factor (const Matrix &A, Matrix &Q, Matrix &R, Indexmatrix &piv, Real tol)
Matrix triu (const Matrix &A, Integer i)
Matrix tril (const Matrix &A, Integer i)
Matrix concat_right (const Matrix &A, const Matrix &B)
Matrix concat_below (const Matrix &A, const Matrix &B)
void swap (Matrix &A, Matrix &B)
Matrix rand (Integer rows, Integer cols, CH_Tools::GB_rand *random_generator)
Matrix inv (const Matrix &A)
Matrix sqrt (const Matrix &A)
Matrix sign (const Matrix &A, Real tol)
Matrix floor (const Matrix &A)
Matrix ceil (const Matrix &A)
Matrix rint (const Matrix &A)
Matrix round (const Matrix &A)
Matrix operator> (const Matrix &A, const Matrix &B)
Matrix operator>= (const Matrix &A, const Matrix &B)
Matrix operator< (Real d, const Matrix &A)
Matrix operator> (Real d, const Matrix &A)
Matrix operator<= (Real d, const Matrix &A)
Matrix operator>= (Real d, const Matrix &A)
Matrix operator== (Real d, const Matrix &A)
Matrix operator!= (Real d, const Matrix &A)
Indexmatrix find (const Matrix &A, Real tol)
Indexmatrix find_number (const Matrix &A, Real num, Real tol)
Matrix diag (const Symmatrix &A)
Symmatrix Diag (const Matrix &A)
Symmatrixrankadd (const Matrix &A, Symmatrix &C, Real alpha, Real beta, int trans)
Symmatrixrank2add (const Matrix &A, const Matrix &B, Symmatrix &C, Real alpha, Real beta, int trans)
Matrixgenmult (const Symmatrix &A, const Sparsemat &B, Matrix &C, Real alpha, Real beta, int btrans)
Matrixgenmult (const Sparsemat &A, const Symmatrix &B, Matrix &C, Real alpha, Real beta, int atrans)
Symmatrixrankadd (const Sparsemat &A, Symmatrix &C, Real alpha, Real beta, int trans)
Symmatrixrank2add (const Sparsemat &A, const Matrix &B, Symmatrix &C, Real alpha, Real beta, int trans)
Symmatrix abs (const Symmatrix &A)
Real trace (const Symmatrix &A)
Real ip (const Symmatrix &A, const Symmatrix &B)
Real ip (const Matrix &A, const Symmatrix &B)
Real ip (const Symmatrix &A, const Matrix &B)
Matrix sumrows (const Symmatrix &A)
Matrix sumcols (const Symmatrix &A)
Real sum (const Symmatrix &A)
void svec (const Symmatrix &A, Matrix &sv)
void sveci (const Matrix &sv, Symmatrix &A)
void skron (const Symmatrix &A, const Symmatrix &B, Symmatrix &S)
Matrix minrows (const Symmatrix &A)
Matrix mincols (const Symmatrix &A)
Real min (const Symmatrix &A)
Matrix maxrows (const Symmatrix &A)
Matrix maxcols (const Symmatrix &A)
Real max (const Symmatrix &A)
std::ostream & operator<< (std::ostream &o, const Symmatrix &A)
std::istream & operator>> (std::istream &i, Symmatrix &A)
void swap (Symmatrix &A, Symmatrix &B)
Symmatrixxbpeya (Symmatrix &x, const Symmatrix &y, Real alpha, Real beta)
Symmatrixxeyapzb (Symmatrix &x, const Symmatrix &y, const Symmatrix &z, Real alpha, Real beta)
Matrix operator* (const Symmatrix &A, const Symmatrix &B)
Symmatrix operator% (const Symmatrix &A, const Symmatrix &B)
Symmatrix operator+ (const Symmatrix &A, const Symmatrix &B)
Symmatrix operator- (const Symmatrix &A, const Symmatrix &B)
Matrix operator* (const Symmatrix &A, const Matrix &B)
Matrix operator* (const Matrix &A, const Symmatrix &B)
Matrix operator+ (const Symmatrix &A, const Matrix &B)
Matrix operator+ (const Matrix &A, const Symmatrix &B)
Matrix operator- (const Symmatrix &A, const Matrix &B)
Matrix operator- (const Matrix &A, const Symmatrix &B)
Symmatrix operator* (const Symmatrix &A, Real d)
Symmatrix operator* (Real d, const Symmatrix &A)
Symmatrix operator/ (const Symmatrix &A, Real d)
Symmatrix operator+ (const Symmatrix &A, Real d)
Symmatrix operator+ (Real d, const Symmatrix &A)
Symmatrix operator- (const Symmatrix &A, Real d)
Symmatrix operator- (Real d, const Symmatrix &A)
Matrix svec (const Symmatrix &A)
Symmatrix skron (const Symmatrix &A, const Symmatrix &B)
Real norm2 (const Symmatrix &A)
Symmatrix transpose (const Symmatrix &A)
Matrixgenmult (const Sparsemat &A, const Sparsemat &B, Matrix &C, Real alpha, Real beta, int atrans, int btrans)
Sparsemat operator* (const Sparsemat &A, const Sparsemat &B)
Matrixgenmult (const Sparsesym &A, const Sparsemat &B, Matrix &C, Real alpha, Real beta, int btrans)
Matrixgenmult (const Sparsemat &A, const Sparsesym &B, Matrix &C, Real alpha, Real beta, int atrans)
Sparsemat abs (const Sparsemat &A)
Real trace (const Sparsemat &A)
Real ip (const Sparsemat &A, const Sparsemat &B)
Real ip (const Sparsemat &A, const Matrix &B)
Matrix sumrows (const Sparsemat &A)
Matrix sumcols (const Sparsemat &A)
std::ostream & operator<< (std::ostream &o, const Sparsemat &v)
std::istream & operator>> (std::istream &i, Sparsemat &v)
Sparsemat concat_right (const Sparsemat &A, const Sparsemat &B)
Sparsemat concat_below (const Sparsemat &A, const Sparsemat &B)
Sparsemat operator+ (const Sparsemat &A, const Sparsemat &B)
Sparsemat operator- (const Sparsemat &A, const Sparsemat &B)
Sparsemat operator* (const Sparsemat &A, Real d)
Sparsemat operator* (Real d, const Sparsemat &A)
Sparsemat operator/ (const Sparsemat &A, Real d)
Matrix operator* (const Sparsemat &A, const Matrix &B)
Matrix operator* (const Matrix &A, const Sparsemat &B)
Matrix operator+ (const Sparsemat &A, const Matrix &B)
Matrix operator+ (const Matrix &A, const Sparsemat &B)
Matrix operator- (const Sparsemat &A, const Matrix &B)
Matrix operator- (const Matrix &A, const Sparsemat &B)
Real ip (const Matrix &A, const Sparsemat &B)
Real sum (const Sparsemat &A)
Sparsemat transpose (const Sparsemat &A)
Matrix diag (const Sparsesym &A)
Sparsesym sparseDiag (const Matrix &A, Real tol)
void swap (Sparsesym &A, Sparsesym &B)
Sparsesymxeyapzb (Sparsesym &x, const Sparsesym &y, const Sparsesym &z, Real alpha, Real beta)
Sparsesymsupport_rankadd (const Matrix &A, Sparsesym &C, Real alpha, Real beta, int trans)
Real ip (const Symmatrix &A, const Sparsesym &B)
Sparsesym abs (const Sparsesym &A)
Real trace (const Sparsesym &A)
Real ip (const Sparsesym &A, const Sparsesym &B)
Real ip (const Matrix &A, const Sparsesym &B)
Real norm2 (const Sparsesym &A)
Matrix sumrows (const Sparsesym &A)
Real sum (const Sparsesym &A)
std::ostream & operator<< (std::ostream &o, const Sparsesym &v)
std::istream & operator>> (std::istream &i, Sparsesym &v)
Sparsesymxbpeya (Sparsesym &x, const Sparsesym &y, Real alpha, Real beta)
Sparsesym operator+ (const Sparsesym &A, const Sparsesym &B)
Sparsesym operator- (const Sparsesym &A, const Sparsesym &B)
Sparsesym operator* (const Sparsesym &A, Real d)
Sparsesym operator* (Real d, const Sparsesym &A)
Sparsesym operator/ (const Sparsesym &A, Real d)
Matrix operator* (const Sparsesym &A, const Matrix &B)
Matrix operator* (const Matrix &A, const Sparsesym &B)
Matrix operator+ (const Matrix &A, const Sparsesym &B)
Matrix operator+ (const Sparsesym &A, const Matrix &B)
Matrix operator- (const Matrix &A, const Sparsesym &B)
Matrix operator- (const Sparsesym &A, const Matrix &B)
Real ip (const Sparsesym &A, const Matrix &B)
Sparsesym transpose (const Sparsesym &A)
Matrix sumcols (const Sparsesym &A)
Symmatrix operator+ (const Sparsesym &A, const Symmatrix &B)
Symmatrix operator+ (const Symmatrix &A, const Sparsesym &B)
Symmatrix operator- (const Sparsesym &A, const Symmatrix &B)
Symmatrix operator- (const Symmatrix &A, const Sparsesym &B)
Real ip (const Sparsesym &A, const Symmatrix &B)
Matrix operator* (const Sparsesym &A, const Sparsemat &B)
Matrix operator* (const Sparsemat &A, const Sparsesym &B)
Matrix operator* (const Symmatrix &A, const Sparsemat &B)
Matrix operator* (const Sparsemat &A, const Symmatrix &B)
Equal (Members)
int equal (const Sparsemat &A, const Sparsemat &B, Real eqtol=1e-10)
 returns 1 if both matrices are identical, 0 otherwise
Equal (Members)
int equal (const Sparsesym &A, const Sparsesym &B, Real eqtol=1e-10)
 returns 1 if both matrices are identical, 0 otherwise

Variables

const Integer max_Integer = INT_MAX
 maximal attainable value by an Integer
const Integer min_Integer = INT_MIN
 minimal attainable value by an Integer
const Real max_Real = DBL_MAX
 maximal attainable value by a Real
const Real min_Real = -DBL_MAX
 minimal attainable value by a Real
const Real eps_Real = DBL_EPSILON
 machine epsilon for type Real
CH_Tools::GB_rand mat_randgen
 common random number generator used whenever a random matrix is generated.
std::ostream * materrout
 if not zero, this is the output stream for runtime error messages, by default it is set to &std::cout


Detailed Description

Matrix Classes and Linear Algebra. See Matrix Classes (namespace CH_Matrix_Classes) for a quick introduction.

Generated on Tue May 3 16:52:54 2011 for ConicBundle by  doxygen 1.5.6