linalg.h File Reference

#include <mtl/mtl.h>
#include <mtl/matrix.h>
#include <mtl/scaled1D.h>
#include <mtl/utils.h>
#include <mtl/blais.h>
#include <typeinfo>

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.


Classes

class  linalg::matrix< _Tp >
 Sparse Matrix Template Class (row major). More...
class  linalg::c_matrix< _Tp >
 Sparse Matrix Template Class (column major). More...
class  linalg::sparse_vector< _Tp >
 Sparse Vector Template Class. More...
class  linalg::__linalg_cvec< _TS >
 Adapter class for a const std::vector to a linear algebra vector. More...
class  linalg::__linalg_vec< _TS >
 Adapter class for a std::vector to a linear algebra vector. More...

Namespaces

namespace  linalg
 The namespace for all linear algebra types and functions.

Defines

#define __LINALG_RANGE_CHECK   0
#define linalg_trans(A)   mtl::trans((A))
#define linalg_scale(X, Y)   mtl::scaled(X, Y)

Enumerations

enum  linalg::linalg_output_format { linalg::linalg_output_sparse, linalg::linalg_output_full }
 The possible output formats of a matrix. More...

Functions

template<class _Tp >
matrix< _Tp > linalg::operator+ (const matrix< _Tp > &A, const matrix< _Tp > &B)
 Sparse matrix addition operator.
template<class _Tp >
matrix< _Tp > linalg::operator* (_Tp a, const matrix< _Tp > &B)
 Sparse scalar matrix multiplication operator.
template<class _Tp >
c_matrix< _Tp > linalg::operator+ (const c_matrix< _Tp > &A, const c_matrix< _Tp > &B)
 Sparse matrix addition operator.
template<class _Tp >
c_matrix< _Tp > linalg::operator* (_Tp a, const c_matrix< _Tp > &B)
 Sparse matrix scalar multiplication operator.
template<class _Tp >
bool linalg::operator== (const sparse_vector< _Tp > &a, const sparse_vector< _Tp > &b)
 Sparse vector comparison operator.
template<class _Tp >
sparse_vector< _Tp > linalg::operator+ (const sparse_vector< _Tp > &a, const sparse_vector< _Tp > &b)
 Sparse vector addition operator.
template<class _Tp >
_Tp linalg::operator* (const sparse_vector< _Tp > &a, const sparse_vector< _Tp > &b)
 Sparse vector scalar product operator.
template<class _Tp >
sparse_vector< _Tp > linalg::operator* (_Tp a, const sparse_vector< _Tp > &b)
 Sparse vector scaling operator.
template<class _Ve >
std::vector< _Ve > & linalg::linalg_ssum (std::vector< _Ve > &a, _Ve b, const std::vector< _Ve > &c)
template<class _Ve >
std::vector< _Ve > & linalg::linalg_smult (std::vector< _Ve > &a, _Ve b)
template<class _TS >
_TS linalg::linalg_dot (const std::vector< _TS > &a, const std::vector< _TS > &b, _TS s)
template<class _Va , class _TS >
_TS linalg::linalg_dot (const _Va &a, const std::vector< _TS > &b, _TS s)
template<class _Vb , class _TS >
_TS linalg::linalg_dot (const std::vector< _TS > &a, const _Vb &b, _TS s)
template<class _Va , class _Vb , class _TS >
_TS linalg::linalg_dot (const _Va &a, const _Vb &b, _TS s)
template<class _TS >
void linalg::linalg_add (const std::vector< _TS > &a, const std::vector< _TS > &b, std::vector< _TS > &c)
template<class _Va , class _TS >
void linalg::linalg_add (const _Va &a, const std::vector< _TS > &b, std::vector< _TS > &c)
template<class _Vb , class _TS >
void linalg::linalg_add (const std::vector< _TS > &a, const _Vb &b, std::vector< _TS > &c)
template<class _TS , class _Vc >
void linalg::linalg_add (const std::vector< _TS > &a, const std::vector< _TS > &b, _Vc &c)
template<class _Va , class _Vb , class _TS >
void linalg::linalg_add (const _Va &a, const _Vb &b, std::vector< _TS > &c)
template<class _Va , class _TS , class _Vc >
void linalg::linalg_add (const _Va &a, const std::vector< _TS > &b, _Vc &c)
template<class _TS , class _Vb , class _Vc >
void linalg::linalg_add (const std::vector< _TS > &a, const _Vb &b, _Vc &c)
template<class _Va , class _Vb , class _Vc >
void linalg::linalg_add (const _Va &a, const _Vb &b, _Vc &c)
template<class _Matrix , class _TS >
void linalg::linalg_matvec (const _Matrix &A, const std::vector< _TS > &a, std::vector< _TS > &c)
template<class _Matrix , class _TS , class _Va >
void linalg::linalg_matvec (const _Matrix &A, const _Va &a, std::vector< _TS > &c)
template<class _Matrix , class _TS , class _Vc >
void linalg::linalg_matvec (const _Matrix &A, const std::vector< _TS > &a, _Vc &c)
template<class _Matrix , class _Va , class _Vc >
void linalg::linalg_matvec (const _Matrix &A, const _Va &a, _Vc &c)
template<class _Matrix , class _TS >
void linalg::linalg_matvecv (const _Matrix &A, const std::vector< _TS > &a, const std::vector< _TS > &b, std::vector< _TS > &c)
template<class _Matrix , class _TS , class _Va >
void linalg::linalg_matvecv (const _Matrix &A, const _Va &a, const std::vector< _TS > &b, std::vector< _TS > &c)
template<class _Matrix , class _TS , class _Vb >
void linalg::linalg_matvecv (const _Matrix &A, const std::vector< _TS > &a, const _Vb &b, std::vector< _TS > &c)
template<class _Matrix , class _TS , class _Vc >
void linalg::linalg_matvecv (const _Matrix &A, const std::vector< _TS > &a, const std::vector< _TS > &b, _Vc &c)
template<class _Matrix , class _Va , class _Vb , class _TS >
void linalg::linalg_matvecv (const _Matrix &A, _Va &a, const _Vb &b, const std::vector< _TS > &c)
template<class _Matrix , class _Va , class _TS , class _Vc >
void linalg::linalg_matvecv (const _Matrix &A, const _Va &a, const std::vector< _TS > &b, _Vc &c)
template<class _Matrix , class _TS , class _Vb , class _Vc >
void linalg::linalg_matvecv (const _Matrix &A, const std::vector< _TS > &a, const _Vb &b, _Vc &c)
template<class _Matrix , class _Va , class _Vb , class _Vc >
void linalg::linalg_matvecv (const _Matrix &A, const _Va &a, const _Vb &b, _Vc &c)


Detailed Description

Definition in file linalg.h.


Define Documentation

#define __LINALG_RANGE_CHECK   0

If this macro has a nonzero value, for all linear algebra operations involving matrices or sparse vectors range checks are performed.

Definition at line 215 of file linalg.h.


Generated on Tue Feb 9 14:46:36 2010 for COCONUT API by  doxygen 1.5.8