ConstrainedOptPack::MatrixGenBanded Class Reference

Matrix subclass for general (possibly singular) banded matrices. More...

#include <ConstrainedOptPack_MatrixGenBanded.hpp>

List of all members.

Public Types

typedef Teuchos::RCP< MemMngPack::ReleaseResourcerelease_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.
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.
size_type kl () const
 
size_type ku () const
 
DMatrixSliceMB ()
 Get view of MB.
const DMatrixSliceMB () 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_


Detailed Description

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 59 of file ConstrainedOptPack_MatrixGenBanded.hpp.


Member Typedef Documentation

typedef Teuchos::RCP< MemMngPack::ReleaseResource> ConstrainedOptPack::MatrixGenBanded::release_resource_ptr_t

Definition at line 65 of file ConstrainedOptPack_MatrixGenBanded.hpp.


Constructor & Destructor Documentation

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(...)#.


Member Function Documentation

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!

Parameters:
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.

size_type ConstrainedOptPack::MatrixGenBanded::kl (  )  const [inline]

Definition at line 174 of file ConstrainedOptPack_MatrixGenBanded.hpp.

size_type ConstrainedOptPack::MatrixGenBanded::ku (  )  const [inline]

Definition at line 180 of file ConstrainedOptPack_MatrixGenBanded.hpp.

DMatrixSlice & ConstrainedOptPack::MatrixGenBanded::MB (  )  [inline]

Get view of MB.

Definition at line 186 of file ConstrainedOptPack_MatrixGenBanded.hpp.

const DMatrixSlice & ConstrainedOptPack::MatrixGenBanded::MB (  )  const [inline]

Definition at line 192 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

void ConstrainedOptPack::MatrixGenBanded::assert_initialized (  )  const [private]


Member Data Documentation

size_type ConstrainedOptPack::MatrixGenBanded::m_ [private]

Definition at line 156 of file ConstrainedOptPack_MatrixGenBanded.hpp.

size_type ConstrainedOptPack::MatrixGenBanded::n_ [private]

Definition at line 157 of file ConstrainedOptPack_MatrixGenBanded.hpp.

size_type ConstrainedOptPack::MatrixGenBanded::kl_ [private]

Definition at line 158 of file ConstrainedOptPack_MatrixGenBanded.hpp.

size_type ConstrainedOptPack::MatrixGenBanded::ku_ [private]

Definition at line 159 of file ConstrainedOptPack_MatrixGenBanded.hpp.

DMatrixSlice ConstrainedOptPack::MatrixGenBanded::MB_ [private]

Definition at line 160 of file ConstrainedOptPack_MatrixGenBanded.hpp.

release_resource_ptr_t ConstrainedOptPack::MatrixGenBanded::MB_release_resource_ptr_ [private]

Definition at line 161 of file ConstrainedOptPack_MatrixGenBanded.hpp.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:57:13 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7