MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | Private Attributes | List of all members
AbstractLinAlgPack::BasisSystemPermDirectSparse Class Reference

Permutatble basis system subclass that uses a direct sparse solver. More...

#include <AbstractLinAlgPack_BasisSystemPermDirectSparse.hpp>

Inheritance diagram for AbstractLinAlgPack::BasisSystemPermDirectSparse:
Inheritance graph
[legend]

Private Member Functions

Teuchos::RCP
< DirectSparseSolver::BasisMatrix
get_basis_matrix (MatrixOpNonsingAggr &C_aggr) const
 
void set_A_mctse (size_type n, size_type m, const MatrixPermAggr &Gc_pa, MatrixConvertToSparseEncap *A_mctse) const
 
void update_basis_and_auxiliary_matrices (const MatrixOp &Gc, const Teuchos::RCP< DirectSparseSolver::BasisMatrix > &C_bm, MatrixOpNonsingAggr *C_aggr, MatrixOp *D, MatrixOp *GcUP) const
 
void do_some_basis_stuff (const MatrixOp &Gc, const Range1D &var_dep, const Range1D &equ_decomp, const Teuchos::RCP< DirectSparseSolver::BasisMatrix > &C_bm, MatrixOpNonsingAggr *C_aggr, MatrixOp *D, MatrixOp *GcUP)
 

Private Attributes

direct_solver_ptr_t direct_solver_
 
size_type n_
 
size_type m_
 
size_type r_
 
size_type Gc_nz_
 
Range1D init_var_rng_
 
IVector init_var_inv_perm_
 
Range1D init_equ_rng_
 
IVector init_equ_inv_perm_
 
Range1D var_dep_
 
Range1D var_indep_
 
Range1D equ_decomp_
 
Range1D equ_undecomp_
 

Public types

typedef Teuchos::RCP
< DirectSparseSolver
direct_solver_ptr_t
 

Constructors / initializers

 BasisSystemPermDirectSparse (const direct_solver_ptr_t &direct_solver=Teuchos::null)
 Calls this->initialize() More...
 
void initialize (const direct_solver_ptr_t &direct_solver)
 Initialize given a direct sparse solver object. More...
 

Overridden from BasisSystem

const mat_nonsing_fcty_ptr_t factory_C () const
 
const mat_fcty_ptr_t factory_D () const
 
const mat_fcty_ptr_t factory_GcUP () const
 
Range1D var_dep () const
 
Range1D var_indep () const
 
Range1D equ_decomp () const
 
Range1D equ_undecomp () const
 
void update_basis (const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out) const
 

Overridded from BasisSystemPerm

const perm_fcty_ptr_t factory_P_var () const
 
const perm_fcty_ptr_t factory_P_equ () const
 
const perm_fcty_ptr_t factory_P_inequ () const
 
void set_basis (const Permutation &P_var, const Range1D &var_dep, const Permutation *P_equ, const Range1D *equ_decomp, const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out)
 
void select_basis (const Vector *nu, MatrixOp *Gc, Permutation *P_var, Range1D *var_dep, Permutation *P_equ, Range1D *equ_decomp, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out)
 

Additional Inherited Members

- Public Types inherited from AbstractLinAlgPack::BasisSystemPerm
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< Permutation > > 
perm_fcty_ptr_t
 
- Public Types inherited from AbstractLinAlgPack::BasisSystem
enum  EMatRelations { MATRICES_INDEP_IMPS, MATRICES_ALLOW_DEP_IMPS }
 
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< MatrixOpNonsing > > 
mat_nonsing_fcty_ptr_t
 
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< MatrixOp > > 
mat_fcty_ptr_t
 
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< MatrixSymOp > > 
mat_sym_fcty_ptr_t
 
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< MatrixSymOpNonsing > > 
mat_sym_nonsing_fcty_ptr_t
 
- Public Member Functions inherited from AbstractLinAlgPack::BasisSystemPerm
 BasisSystemPerm (const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S)
 Required constructor (calls initialize()). More...
 
- Public Member Functions inherited from AbstractLinAlgPack::BasisSystem
 BasisSystem (const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S)
 Required constructor (calls initialize()). More...
 
virtual void initialize (const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S)
 Initialize the factory objects for the special matrices for D'*D and S = I + D'*D. More...
 
virtual ~BasisSystem ()
 
virtual const mat_sym_fcty_ptr_t factory_transDtD () const
 Returns a matrix factory for the result of J = D'*D More...
 
virtual const
mat_sym_nonsing_fcty_ptr_t 
factory_S () const
 Returns a matrix factory for the result of S = I + D'*D More...
 

Detailed Description

Permutatble basis system subclass that uses a direct sparse solver.

This current implementation only allows undecomposed general inequality constraints.

ToDo: Finish documentation!

Definition at line 58 of file AbstractLinAlgPack_BasisSystemPermDirectSparse.hpp.

Member Typedef Documentation

Constructor & Destructor Documentation

AbstractLinAlgPack::BasisSystemPermDirectSparse::BasisSystemPermDirectSparse ( const direct_solver_ptr_t direct_solver = Teuchos::null)

Calls this->initialize()

Definition at line 57 of file AbstractLinAlgPack_BasisSystemPermDirectSparse.cpp.

Member Function Documentation

void AbstractLinAlgPack::BasisSystemPermDirectSparse::initialize ( const direct_solver_ptr_t direct_solver)

Initialize given a direct sparse solver object.

Definition at line 70 of file AbstractLinAlgPack_BasisSystemPermDirectSparse.cpp.

const BasisSystem::mat_nonsing_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_C ( ) const
virtual
const BasisSystem::mat_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_D ( ) const
virtual
const BasisSystem::mat_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_GcUP ( ) const
virtual
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::var_dep ( ) const
virtual
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::var_indep ( ) const
virtual
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::equ_decomp ( ) const
virtual
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::equ_undecomp ( ) const
virtual
void AbstractLinAlgPack::BasisSystemPermDirectSparse::update_basis ( const MatrixOp Gc,
MatrixOpNonsing C,
MatrixOp D,
MatrixOp GcUP,
EMatRelations  mat_rel,
std::ostream *  out 
) const
virtual
const AbstractLinAlgPack::BasisSystemPerm::perm_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_P_var ( ) const
virtual
const AbstractLinAlgPack::BasisSystemPerm::perm_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_P_equ ( ) const
virtual
const AbstractLinAlgPack::BasisSystemPerm::perm_fcty_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::factory_P_inequ ( ) const
void AbstractLinAlgPack::BasisSystemPermDirectSparse::set_basis ( const Permutation P_var,
const Range1D var_dep,
const Permutation P_equ,
const Range1D equ_decomp,
const MatrixOp Gc,
MatrixOpNonsing C,
MatrixOp D,
MatrixOp GcUP,
EMatRelations  mat_rel,
std::ostream *  out 
)
virtual
void AbstractLinAlgPack::BasisSystemPermDirectSparse::select_basis ( const Vector nu,
MatrixOp Gc,
Permutation P_var,
Range1D var_dep,
Permutation P_equ,
Range1D equ_decomp,
MatrixOpNonsing C,
MatrixOp D,
MatrixOp GcUP,
EMatRelations  mat_rel,
std::ostream *  out 
)
virtual
Teuchos::RCP< DirectSparseSolver::BasisMatrix > AbstractLinAlgPack::BasisSystemPermDirectSparse::get_basis_matrix ( MatrixOpNonsingAggr C_aggr) const
private
void AbstractLinAlgPack::BasisSystemPermDirectSparse::set_A_mctse ( size_type  n,
size_type  m,
const MatrixPermAggr Gc_pa,
MatrixConvertToSparseEncap A_mctse 
) const
private
void AbstractLinAlgPack::BasisSystemPermDirectSparse::update_basis_and_auxiliary_matrices ( const MatrixOp Gc,
const Teuchos::RCP< DirectSparseSolver::BasisMatrix > &  C_bm,
MatrixOpNonsingAggr C_aggr,
MatrixOp D,
MatrixOp GcUP 
) const
private
void AbstractLinAlgPack::BasisSystemPermDirectSparse::do_some_basis_stuff ( const MatrixOp Gc,
const Range1D var_dep,
const Range1D equ_decomp,
const Teuchos::RCP< DirectSparseSolver::BasisMatrix > &  C_bm,
MatrixOpNonsingAggr C_aggr,
MatrixOp D,
MatrixOp GcUP 
)
private

Member Data Documentation

direct_solver_ptr_t AbstractLinAlgPack::BasisSystemPermDirectSparse::direct_solver_
private
size_type AbstractLinAlgPack::BasisSystemPermDirectSparse::n_
private
size_type AbstractLinAlgPack::BasisSystemPermDirectSparse::m_
private
size_type AbstractLinAlgPack::BasisSystemPermDirectSparse::r_
private
size_type AbstractLinAlgPack::BasisSystemPermDirectSparse::Gc_nz_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::init_var_rng_
private
IVector AbstractLinAlgPack::BasisSystemPermDirectSparse::init_var_inv_perm_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::init_equ_rng_
private
IVector AbstractLinAlgPack::BasisSystemPermDirectSparse::init_equ_inv_perm_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::var_dep_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::var_indep_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::equ_decomp_
private
Range1D AbstractLinAlgPack::BasisSystemPermDirectSparse::equ_undecomp_
private

The documentation for this class was generated from the following files: