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

boost::numeric::ublas::blas_3 Namespace Reference

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 More...

Functions

template<class M1 , class T1 , class T2 , class M2 , class M3 >
M1 & 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 M1 , class T1 , class T2 , class M2 , class M3 >
M1 & 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 & 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 M1 , class T1 , class T2 , class M2 , class M3 >
M1 & 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 & 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 M1 , class T , class M2 , class M3 >
M1 & 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 M1 , class T , class M2 , class C >
M1 & 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

Detailed Description

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


Function Documentation

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

Parameters:
m1a matrix for storing result
ta scalar
m2a triangular matrix
m3a triangular matrix
Returns:
the matrix m1
Template Parameters:
M1type of the result matrix (not needed by default)
Ttype of the scalar (not needed by default)
M2type of the first triangular matrix (not needed by default)
M3type of the second triangular matrix (not needed by default)

Definition at line 363 of file blas.hpp.

template<class M1 , class T , class M2 , class C >
M1& boost::numeric::ublas::blas_3::tsm ( M1 &  m1,
const T &  t,
const M2 &  m2,
 
)

triangular solve $ m_2.x = t.m_1$ in place, $m_2$ is a triangular matrix

Parameters:
m1a matrix
ta scalar
m2a triangular matrix
C(not used)
Returns:
the $m_1$ matrix
Template Parameters:
M1type of the first matrix (not needed by default)
Ttype of the scalar (not needed by default)
M2type of the triangular matrix (not needed by default)
C(n/a)

Definition at line 382 of file blas.hpp.

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$

Parameters:
m1first matrix
t1first scalar
t2second scalar
m2second matrix
m3third matrix
Returns:
the matrix m1
Template Parameters:
M1type of the first matrix (not needed by default)
T1type of the first scalar (not needed by default)
T2type of the second scalar (not needed by default)
M2type of the second matrix (not needed by default)
M3type of the third matrix (not needed by default)

Definition at line 403 of file blas.hpp.

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)$

Parameters:
m1first matrix
t1first scalar
t2second scalar
m2second matrix
Returns:
matrix m1
Template Parameters:
M1type of the first matrix (not needed by default)
T1type of the first scalar (not needed by default)
T2type of the second scalar (not needed by default)
M2type of the second matrix (not needed by default)

Definition at line 423 of file blas.hpp.

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)$

Parameters:
m1first matrix
t1first scalar
t2second scalar
m2second matrix
Returns:
matrix m1
Template Parameters:
M1type of the first matrix (not needed by default)
T1type of the first scalar (not needed by default)
T2type of the second scalar (not needed by default)
M2type of the second matrix (not needed by default)

Definition at line 443 of file blas.hpp.

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)$

Parameters:
m1first matrix
t1first scalar
t2second scalar
m2second matrix
m3third matrix
Returns:
matrix m1
Template Parameters:
M1type of the first matrix (not needed by default)
T1type of the first scalar (not needed by default)
T2type of the second scalar (not needed by default)
M2type of the second matrix (not needed by default)
M3type of the third matrix (not needed by default)

Definition at line 465 of file blas.hpp.

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)$

Parameters:
m1first matrix
t1first scalar
t2second scalar
m2second matrix
m3third matrix
Returns:
matrix m1
Template Parameters:
M1type of the first matrix (not needed by default)
T1type of the first scalar (not needed by default)
T2type of the second scalar (not needed by default)
M2type of the second matrix (not needed by default)
M3type of the third matrix (not needed by default)

Definition at line 487 of file blas.hpp.