ConstrainedOptPack::MatrixIdentConcatStd Class Reference

Concrete implementation class for a matrix vertically concatonated with an identity matrix. More...

#include <ConstrainedOptPack_MatrixIdentConcatStd.hpp>

Inheritance diagram for ConstrainedOptPack::MatrixIdentConcatStd:

[legend]
List of all members.

Public types

typedef Teuchos::RefCountPtr<
const MatrixOp > 
D_ptr_t
 
enum  ETopBottom { TOP, BOTTOM }
  More...

Constructors/initializers.

 MatrixIdentConcatStd ()
 Constructs to uninitialized.
virtual void initialize (const VectorSpace::space_ptr_t &space_cols, const VectorSpace::space_ptr_t &space_rows, ETopBottom top_or_bottom, value_type alpha, const D_ptr_t &D_ptr, BLAS_Cpp::Transp D_trans)
 Setup with a matrix object.
virtual void set_uninitialized ()
 Set the matrix to uninitialized.
virtual const D_ptr_tD_ptr () const
 Return the smart reference counted point to the D matrix.

Overridden form MatrixIdentConcat

Range1D D_rng () const
 
Range1D I_rng () const
 
value_type alpha () const
 
const MatrixOp & D () const
 
BLAS_Cpp::Transp D_trans () const
 

Overridden from MatrixOp

const VectorSpace & space_cols () const
 
const VectorSpace & space_rows () const
 
MatrixOp & operator= (const MatrixOp &m)
 The default just performs a shallow copy and just copies the underlying smart reference counted pointer. If other behavior is desired then this method must be overridden.

Private Member Functions

void assert_initialized () const

Private Attributes

AbstractLinAlgPack::VectorSpacespace_cols
AbstractLinAlgPack::VectorSpacespace_rows
AbstractLinAlgPack::MatrixOpD
RangePack::Range1D D_rng
RangePack::Range1D I_rng
value_type alpha_
BLAS_Cpp::Transp D_trans_

Detailed Description

Concrete implementation class for a matrix vertically concatonated with an identity matrix.

Represents an interface for a matrix that represents:

 
 M = [ alpha*op(D) ]    (TOP)
     [     I       ]

 or

 M = [     I       ]
     [ alpha*op(D) ]   (BOTTOM)
 

This subclass allows a client to set the representation matrix D.

Definition at line 54 of file ConstrainedOptPack_MatrixIdentConcatStd.hpp.


Member Typedef Documentation

typedef Teuchos::RefCountPtr<const MatrixOp> ConstrainedOptPack::MatrixIdentConcatStd::D_ptr_t
 

Definition at line 62 of file ConstrainedOptPack_MatrixIdentConcatStd.hpp.


Member Enumeration Documentation

enum ConstrainedOptPack::MatrixIdentConcatStd::ETopBottom
 

Enumeration values:
TOP 
BOTTOM 

Definition at line 60 of file ConstrainedOptPack_MatrixIdentConcatStd.hpp.


Constructor & Destructor Documentation

ConstrainedOptPack::MatrixIdentConcatStd::MatrixIdentConcatStd  ) 
 

Constructs to uninitialized.

Definition at line 38 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.


Member Function Documentation

void ConstrainedOptPack::MatrixIdentConcatStd::initialize const VectorSpace::space_ptr_t &  space_cols,
const VectorSpace::space_ptr_t &  space_rows,
ETopBottom  top_or_bottom,
value_type  alpha,
const D_ptr_t D_ptr,
BLAS_Cpp::Transp  D_trans
[virtual]
 

Setup with a matrix object.

Parameters:
top_or_bottom [in] If TOP then M = [ alpha*op(D); I ] and if BOTTOM then M = [ I; alpha*op(D) ]
alpha [in] Scalar that multiplies op(D)
D_ptr [in] Smart pointer to a matrix object that represents D. The matrix object pointed to must not be altered until this object is no longer in use or this->set_uninitialized() has been called.
D_trans [in] Determines if op(D) = D (no_trans#) or op(D) = D' (trans).
Preconditions:
  • D.get() != NULL (throw std::invalid_argument)
  • space_cols->dim() == rows(op(D)) + cols(op(D)) (throw std::invalid_argument)
  • space_rows->dim() == cols(op(D)) (throw std::invalid_argument)
  • space_cols->sub_space(D_rng)->is_compatible(op(D).space_cols()) (throw std::invalid_argument) See D_rng defined below
  • space_rows->is_compatible(op(D).space_rows()) (throw std::invalid_argument)

Postconditions:

  • this->D_ptr().get() == D_ptr.get()
  • &this->D() == this->D_ptr().get()
  • this->D_trans() == D_trans
  • this->alpha() == alpha
  • this->rows() == rows(op(D)) + cols(op(D))
  • this->cols() == cols(op(D))
  • &this->space_cols() == space_cols.get()
  • &this->space_rows() == space_rows.get()
  • [top_or_bottom == TOP] this->D_rng() = [1,rows(op(D))]
  • [top_or_bottom == TOP] this->I_rng() = [rows(op(D))+1,rows(op(D))+cols(op(D))]
  • [top_or_bottom == BOTTOM] this->D_rng() = [cols(op(D))+1,rows(op(D))+cols(op(D))]
  • [top_or_bottom == BOTTOM] this->I_rng() = [1,cols(op(D))]

Definition at line 43 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

void ConstrainedOptPack::MatrixIdentConcatStd::set_uninitialized  )  [virtual]
 

Set the matrix to uninitialized.

Postconditions:

  • this->space_cols() throws an exception
  • this->space_rows() throws an exception
  • this->D_ptr().get() == NULL
  • &this->D() throws an exception
  • this->D_trans() == no_trans
  • this->alpha() == 0.0
  • this->rows() == 0
  • this->cols() == 0
  • [top_or_bottom == TOP] this->D_rng() = [1,rows(op(D))]
  • [top_or_bottom == TOP] this->I_rng() = [rows(op(D))+1,rows(op(D))+cols(op(D))]
  • [top_or_bottom == BOTTOM] this->D_rng() = [cols(op(D))+1,rows(op(D))+cols(op(D))]
  • [top_or_bottom == BOTTOM] this->I_rng() = [1,cols(op(D))]

Definition at line 81 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

const MatrixIdentConcatStd::D_ptr_t & ConstrainedOptPack::MatrixIdentConcatStd::D_ptr  )  const [virtual]
 

Return the smart reference counted point to the D matrix.

If the matrix object D is owned exclusively by this matrix object then this->D_ptr().count() == 1 on return.

Definition at line 93 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

Range1D ConstrainedOptPack::MatrixIdentConcatStd::D_rng  )  const [virtual]
 

Implements ConstrainedOptPack::MatrixIdentConcat.

Range1D ConstrainedOptPack::MatrixIdentConcatStd::I_rng  )  const [virtual]
 

Implements ConstrainedOptPack::MatrixIdentConcat.

value_type ConstrainedOptPack::MatrixIdentConcatStd::alpha  )  const [virtual]
 

Implements ConstrainedOptPack::MatrixIdentConcat.

Definition at line 110 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

const MatrixOp& ConstrainedOptPack::MatrixIdentConcatStd::D  )  const [virtual]
 

Implements ConstrainedOptPack::MatrixIdentConcat.

BLAS_Cpp::Transp ConstrainedOptPack::MatrixIdentConcatStd::D_trans  )  const [virtual]
 

Implements ConstrainedOptPack::MatrixIdentConcat.

Definition at line 120 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

const VectorSpace& ConstrainedOptPack::MatrixIdentConcatStd::space_cols  )  const [virtual]
 

Implements AbstractLinAlgPack::MatrixBase.

const VectorSpace& ConstrainedOptPack::MatrixIdentConcatStd::space_rows  )  const [virtual]
 

Implements AbstractLinAlgPack::MatrixBase.

MatrixOp & ConstrainedOptPack::MatrixIdentConcatStd::operator= const MatrixOp &  m  )  [virtual]
 

The default just performs a shallow copy and just copies the underlying smart reference counted pointer. If other behavior is desired then this method must be overridden.

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 137 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

void ConstrainedOptPack::MatrixIdentConcatStd::assert_initialized  )  const [private]
 

Definition at line 145 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.


Member Data Documentation

const VectorSpace & ConstrainedOptPack::MatrixIdentConcatStd::space_cols [private]
 

Definition at line 127 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

const VectorSpace & ConstrainedOptPack::MatrixIdentConcatStd::space_rows [private]
 

Definition at line 132 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

const MatrixOp & ConstrainedOptPack::MatrixIdentConcatStd::D [private]
 

Definition at line 115 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

Range1D ConstrainedOptPack::MatrixIdentConcatStd::D_rng [private]
 

Definition at line 100 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

Range1D ConstrainedOptPack::MatrixIdentConcatStd::I_rng [private]
 

Definition at line 105 of file ConstrainedOptPack_MatrixIdentConcatStd.cpp.

value_type ConstrainedOptPack::MatrixIdentConcatStd::alpha_ [private]
 

Definition at line 181 of file ConstrainedOptPack_MatrixIdentConcatStd.hpp.

BLAS_Cpp::Transp ConstrainedOptPack::MatrixIdentConcatStd::D_trans_ [private]
 

Definition at line 182 of file ConstrainedOptPack_MatrixIdentConcatStd.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:36:14 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1