MOOCHO (Single Doxygen Collection)
Version of the Day
|
Matrix subclass for general (possibly singular) banded matrices. More...
#include <ConstrainedOptPack_MatrixGenBanded.hpp>
Inherits MatrixOp.
Public Types | |
typedef Teuchos::RCP < MemMngPack::ReleaseResource > | release_resource_ptr_t |
Public Member Functions | |
MatrixGenBanded (size_type m=0, size_type n=0, size_type kl=0, size_type ku=0, DMatrixSlice *MB=NULL, const release_resource_ptr_t &MB_release_resource_ptr=NULL) | |
Construct and Initialize. More... | |
void | initialize (size_type m=0, size_type n=0, size_type kl=0, size_type ku=0, DMatrixSlice *MB=NULL, const release_resource_ptr_t &MB_release_resource_ptr=NULL) |
Initialize. More... | |
size_type | kl () const |
size_type | ku () const |
DMatrixSlice & | MB () |
Get view of MB. More... | |
const DMatrixSlice & | MB () const |
size_type | rows () const |
size_type | cols () const |
size_type | nz () const |
std::ostream & | output (std::ostream &out) const |
void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const |
void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const |
void | Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const DVectorSlice &vs_rhs3, value_type beta) const |
void | Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const SpVectorSlice &sv_rhs3, value_type beta) const |
Private Member Functions | |
void | assert_initialized () const |
Private Attributes | |
size_type | m_ |
size_type | n_ |
size_type | kl_ |
size_type | ku_ |
DMatrixSlice | MB_ |
release_resource_ptr_t | MB_release_resource_ptr_ |
Matrix subclass for general (possibly singular) banded matrices.
The banded matrix is stored by column in a simple flat rectangular matrix. For example, for #m = 10, n = 8, kl = 3, ku = 2# the matrix M# is stored in the following format MB# (same as for the BLAS routine xGBMV(...)): {verbatim}
M MB
[ x x x ] [ x x x x ] [ o o x x x x x x x x ] \ ku = 2 [ x x x x x ] [ o x x x x x x x x o ] / [ x x x x x x ] => [ x x x x x x x x o o ] [ x x x x x x ] [ x x x x x x x o o o ] \ [ x x x x x x ] [ x x x x x x o o o o ] | kl = 3 [ x x x x x x ] [ x x x x x o o o o o ] / [ x x x x x x ] 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
{verbatim}
Definition at line 72 of file ConstrainedOptPack_MatrixGenBanded.hpp.
typedef Teuchos::RCP< MemMngPack::ReleaseResource> ConstrainedOptPack::MatrixGenBanded::release_resource_ptr_t |
Definition at line 78 of file ConstrainedOptPack_MatrixGenBanded.hpp.
ConstrainedOptPack::MatrixGenBanded::MatrixGenBanded | ( | size_type | m = 0 , |
size_type | n = 0 , |
||
size_type | kl = 0 , |
||
size_type | ku = 0 , |
||
DMatrixSlice * | MB = NULL , |
||
const release_resource_ptr_t & | MB_release_resource_ptr = NULL |
||
) |
Construct and Initialize.
This constructor just calls #this->initialize(...)#.
void ConstrainedOptPack::MatrixGenBanded::initialize | ( | size_type | m = 0 , |
size_type | n = 0 , |
||
size_type | kl = 0 , |
||
size_type | ku = 0 , |
||
DMatrixSlice * | MB = NULL , |
||
const release_resource_ptr_t & | MB_release_resource_ptr = NULL |
||
) |
Initialize.
If called with all of the default arguments then #this# will become uninitialized.
ToDo: Finish pre and post conditions!
m | [in] Determines the size of the banded matrix (m x n). If If #m == 0# then all of the following arguments should be left at |
n | [in] Determines the size of the banded matrix (m x n). |
kl | [in] Determines the lower band width of the matrix as defined by xGBMV(...). |
ku | [in] Determines the band width of the matrix as defined by xGBMV(...). |
MB | [in/state] If MB != NULL# then this matrix (size (kl+ku+1) x n) is used to store the original banded matrix M# in the format of xGBMV(...). This matrix must be initialized on input. |
MB_release_resource_ptr | [in] Only significant if MB != NULL#. Points to a resource to be released when MB# is no longer needed. |
|
inline |
Definition at line 187 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
inline |
Definition at line 193 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
inline |
Get view of MB.
Definition at line 199 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
inline |
Definition at line 205 of file ConstrainedOptPack_MatrixGenBanded.hpp.
size_type ConstrainedOptPack::MatrixGenBanded::rows | ( | ) | const |
size_type ConstrainedOptPack::MatrixGenBanded::cols | ( | ) | const |
size_type ConstrainedOptPack::MatrixGenBanded::nz | ( | ) | const |
std::ostream& ConstrainedOptPack::MatrixGenBanded::output | ( | std::ostream & | out | ) | const |
void ConstrainedOptPack::MatrixGenBanded::Vp_StMtV | ( | DVectorSlice * | vs_lhs, |
value_type | alpha, | ||
BLAS_Cpp::Transp | trans_rhs1, | ||
const DVectorSlice & | vs_rhs2, | ||
value_type | beta | ||
) | const |
void ConstrainedOptPack::MatrixGenBanded::Vp_StMtV | ( | DVectorSlice * | vs_lhs, |
value_type | alpha, | ||
BLAS_Cpp::Transp | trans_rhs1, | ||
const SpVectorSlice & | sv_rhs2, | ||
value_type | beta | ||
) | const |
void ConstrainedOptPack::MatrixGenBanded::Vp_StPtMtV | ( | DVectorSlice * | vs_lhs, |
value_type | alpha, | ||
const GenPermMatrixSlice & | P_rhs1, | ||
BLAS_Cpp::Transp | P_rhs1_trans, | ||
BLAS_Cpp::Transp | M_rhs2_trans, | ||
const DVectorSlice & | vs_rhs3, | ||
value_type | beta | ||
) | const |
void ConstrainedOptPack::MatrixGenBanded::Vp_StPtMtV | ( | DVectorSlice * | vs_lhs, |
value_type | alpha, | ||
const GenPermMatrixSlice & | P_rhs1, | ||
BLAS_Cpp::Transp | P_rhs1_trans, | ||
BLAS_Cpp::Transp | M_rhs2_trans, | ||
const SpVectorSlice & | sv_rhs3, | ||
value_type | beta | ||
) | const |
|
private |
|
private |
Definition at line 169 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
private |
Definition at line 170 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
private |
Definition at line 171 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
private |
Definition at line 172 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
private |
Definition at line 173 of file ConstrainedOptPack_MatrixGenBanded.hpp.
|
private |
Definition at line 174 of file ConstrainedOptPack_MatrixGenBanded.hpp.