Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms

blas.hpp File Reference

#include <boost/numeric/ublas/traits.hpp>
Include dependency graph for blas.hpp:

Go to the source code of this file.

Namespaces

namespace  boost
namespace  boost::numeric
namespace  boost::numeric::ublas
 

contains all important classes and functions of uBLAS


namespace  boost::numeric::ublas::blas_1
namespace  boost::numeric::ublas::blas_2
 

Interface and implementation of BLAS level 2 This includes functions which perform matrix-vector operations. More information about BLAS can be found at http://en.wikipedia.org/wiki/BLAS


namespace  boost::numeric::ublas::blas_3
 

Interface and implementation of BLAS level 3 This includes functions which perform matrix-matrix operations. More information about BLAS can be found at http://en.wikipedia.org/wiki/BLAS


Functions

template<class V >
type_traits< typename
V::value_type >::real_type 
boost::numeric::ublas::blas_1::amax (const V &v)
template<class V >
type_traits< typename
V::value_type >::real_type 
boost::numeric::ublas::blas_1::asum (const V &v)
template<class V1 , class T , class V2 >
V1 & boost::numeric::ublas::blas_1::axpy (V1 &v1, const T &t, const V2 &v2)
template<class V1 , class V2 >
V1 & boost::numeric::ublas::blas_1::copy (V1 &v1, const V2 &v2)
template<class V1 , class V2 >
promote_traits< typename
V1::value_type, typename
V2::value_type >::promote_type 
boost::numeric::ublas::blas_1::dot (const V1 &v1, const V2 &v2)
template<class M1 , class T1 , class T2 , class M2 , class M3 >
M1 & boost::numeric::ublas::blas_3::gmm (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)
 general matrix multiplication $m_1=t_1.m_1 + t_2.m_2.m_3$
template<class V1 , class T1 , class T2 , class M , class V2 >
V1 & boost::numeric::ublas::blas_2::gmv (V1 &v1, const T1 &t1, const T2 &t2, const M &m, const V2 &v2)
 compute $ v_1 = t_1.v_1 + t_2.(m.v_2)$, a general matrix-vector product
template<class M , class T , class V1 , class V2 >
M & boost::numeric::ublas::blas_2::gr (M &m, const T &t, const V1 &v1, const V2 &v2)
 Rank 1 update: $ m = m + t.(v_1.v_2^T)$.
template<class M , class T , class V >
M & boost::numeric::ublas::blas_2::hr (M &m, const T &t, const V &v)
 hermitian rank 1 update: $m = m + t.(v.v^H)$
template<class M , class T , class V1 , class V2 >
M & boost::numeric::ublas::blas_2::hr2 (M &m, const T &t, const V1 &v1, const V2 &v2)
 hermitian rank 2 update: $m=m+t.(v_1.v_2^H) + v_2.(t.v_1)^H)$
template<class M1 , class T1 , class T2 , class M2 , class M3 >
M1 & boost::numeric::ublas::blas_3::hr2k (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)
 generalized hermitian rank k update: * $m_1=t_1.m_1+t_2.(m_2.m_3^H)+(m_3.(t_2.m_2)^H)$
template<class M1 , class T1 , class T2 , class M2 >
M1 & boost::numeric::ublas::blas_3::hrk (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2)
 hermitian rank k update: $m_1=t.m_1+t_2.(m_2.m2^H)$
template<class V >
type_traits< typename
V::value_type >::real_type 
boost::numeric::ublas::blas_1::nrm2 (const V &v)
template<class T1 , class V1 , class T2 , class V2 >
void boost::numeric::ublas::blas_1::rot (const T1 &t1, V1 &v1, const T2 &t2, V2 &v2)
template<class V , class T >
V & boost::numeric::ublas::blas_1::scal (V &v, const T &t)
template<class M , class T , class V >
M & boost::numeric::ublas::blas_2::sr (M &m, const T &t, const V &v)
 symmetric rank 1 update: $m = m + t.(v.v^T)$
template<class M , class T , class V1 , class V2 >
M & boost::numeric::ublas::blas_2::sr2 (M &m, const T &t, const V1 &v1, const V2 &v2)
 symmetric rank 2 update: $ m=m+ t.(v_1.v_2^T + v_2.v_1^T)$
template<class M1 , class T1 , class T2 , class M2 , class M3 >
M1 & boost::numeric::ublas::blas_3::sr2k (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)
 generalized symmetric rank k update: $m_1=t_1.m_1+t_2.(m_2.m3^T)+t_2.(m_3.m2^T)$
template<class M1 , class T1 , class T2 , class M2 >
M1 & boost::numeric::ublas::blas_3::srk (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2)
 symmetric rank k update: $m_1=t.m_1+t_2.(m_2.m_2^T)$
template<class V1 , class V2 >
void boost::numeric::ublas::blas_1::swap (V1 &v1, V2 &v2)
template<class M1 , class T , class M2 , class M3 >
M1 & boost::numeric::ublas::blas_3::tmm (M1 &m1, const T &t, const M2 &m2, const M3 &m3)
 triangular matrix multiplication $m_1=t.m_2.m_3$ where $m_2$ and $m_3$ are triangular
template<class V , class M >
V & boost::numeric::ublas::blas_2::tmv (V &v, const M &m)
 multiply vector v with triangular matrix m
template<class M1 , class T , class M2 , class C >
M1 & boost::numeric::ublas::blas_3::tsm (M1 &m1, const T &t, const M2 &m2, C)
 triangular solve $ m_2.x = t.m_1$ in place, $m_2$ is a triangular matrix
template<class V , class M , class C >
V & boost::numeric::ublas::blas_2::tsv (V &v, const M &m, C)
 solve $m.x = v$ in place, where m is a triangular matrix