|
ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization
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 |
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 |
1.8.6