AbstractLinAlgPack::DirectSparseSolverMA28 Class Reference

Concreate sparse solver subclass that uses MA28. More...

#include <AbstractLinAlgPack_DirectSparseSolverMA28.hpp>

Inheritance diagram for AbstractLinAlgPack::DirectSparseSolverMA28:

[legend]
List of all members.

Public types

enum  EScalingMethod { NO_SCALING, INITIAL_SCALING, SUCCESSIVE_SCALING }
  More...

Control parameters

void u (const value_type &u)
 Pivot tolerance versus sparsity.
const value_typeu () const
void grow (const bool &grow)
 If true, than an estimate of growth of the factors is computed.
const bool & grow () const
void tol (const value_type &tol)
 Drop tolerance for an incomplete factorization.
const value_typetol () const
void nsrch (const index_type &nsrch)
 Number of columns to search to reduce fill-in.
const index_typensrch () const
void lbig (const bool &lbig)
 If true, then the largest entry encountered is returned.
const bool & lbig () const
void print_ma28_outputs (const bool &print_ma28_outputs)
 If true, then outputs from ma28 are printed to output stream.
const bool & print_ma28_outputs () const
void output_file_name (const std::string &output_file_name)
 If output_file != "", then output from MA28 is sent to this file.
const std::string & output_file_name () const
value_type u_
bool grow_
value_type tol_
index_type nsrch_
bool lbig_
bool print_ma28_outputs_
std::string output_file_name_

Constructors/initializers

 DirectSparseSolverMA28 (value_type estimated_fillin_ratio=10.0, value_type u=0.1, bool grow=false, value_type tol=0.0, index_type nsrch=4, bool lbig=false, bool print_ma28_outputs=false, const std::string &output_file_name="")
 Default constructor.

Overridden from DirectSparseSolver

const basis_matrix_factory_ptr_t basis_matrix_factory () const
 
void estimated_fillin_ratio (value_type estimated_fillin_ratio)
 

Overridden from DirectSparseSolverImp

const Teuchos::RefCountPtr<
FactorizationStructure > 
create_fact_struc () const
 
const Teuchos::RefCountPtr<
FactorizationNonzeros > 
create_fact_nonzeros () const
 
void imp_analyze_and_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, FactorizationStructure *fact_struc, FactorizationNonzeros *fact_nonzeros, DenseLinAlgPack::IVector *row_perm, DenseLinAlgPack::IVector *col_perm, size_type *rank, std::ostream *out)
 
void imp_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, const FactorizationStructure &fact_struc, FactorizationNonzeros *fact_nonzeros, std::ostream *out)
 

Private Types

enum  E_IFlag {
  SLOW_ITER_CONV = -17, MAXIT_REACHED = -16, MA28BD_CALLED_WITH_DROPPED = -15, DUPLICATE_ELEMENTS = -14,
  NEW_NONZERO_ELEMENT = -13, N_OUT_OF_RANGE = -11, NZ_LE_ZERO = -10, LICN_LE_NZ = -9,
  LIRN_LE_NZ = -8, ERROR_DURRING_BLOCK_TRI = -7, LICN_AND_LIRN_TOO_SMALL = -6, LICN_TOO_SMALL = -5,
  LICN_FAR_TOO_SMALL = -4, LIRN_TOO_SMALL = -3, NUMERICALLY_SINGULAR = -2, STRUCTURALLY_SINGULAR = -1,
  SUCCESSFUL_DECOMP_ON_STRUCT_SINGULAR = 1, SUCCESSFUL_DECOMP_ON_NUMER_SINGULAR = 2
}
 Enumeration for iflag. More...

Private Member Functions

void set_ma28_parameters (FactorizationStructureMA28 *fs)
void print_ma28_outputs (bool ma28ad_bd, index_type iflag, const FactorizationStructureMA28 &fs, const value_type w[], std::ostream *out)
void ThrowIFlagException (index_type iflag)

Private Attributes

value_type estimated_fillin_ratio_
Teuchos::RefCountPtr< std::ostream > output_file_
int file_output_num_

Detailed Description

Concreate sparse solver subclass that uses MA28.

ToDo: Finish documentation!

Definition at line 48 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.


Member Enumeration Documentation

enum AbstractLinAlgPack::DirectSparseSolverMA28::EScalingMethod
 

Enumeration values:
NO_SCALING 
INITIAL_SCALING 
SUCCESSIVE_SCALING 

Definition at line 55 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

enum AbstractLinAlgPack::DirectSparseSolverMA28::E_IFlag [private]
 

Enumeration for iflag.

Enumeration values:
SLOW_ITER_CONV 
MAXIT_REACHED 
MA28BD_CALLED_WITH_DROPPED 
DUPLICATE_ELEMENTS 
NEW_NONZERO_ELEMENT 
N_OUT_OF_RANGE 
NZ_LE_ZERO 
LICN_LE_NZ 
LIRN_LE_NZ 
ERROR_DURRING_BLOCK_TRI 
LICN_AND_LIRN_TOO_SMALL 
LICN_TOO_SMALL 
LICN_FAR_TOO_SMALL 
LIRN_TOO_SMALL 
NUMERICALLY_SINGULAR 
STRUCTURALLY_SINGULAR 
SUCCESSFUL_DECOMP_ON_STRUCT_SINGULAR 
SUCCESSFUL_DECOMP_ON_NUMER_SINGULAR 

Definition at line 225 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::DirectSparseSolverMA28::DirectSparseSolverMA28 value_type  estimated_fillin_ratio = 10.0,
value_type  u = 0.1,
bool  grow = false,
value_type  tol = 0.0,
index_type  nsrch = 4,
bool  lbig = false,
bool  print_ma28_outputs = false,
const std::string &  output_file_name = ""
 

Default constructor.

Definition at line 189 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.


Member Function Documentation

void AbstractLinAlgPack::DirectSparseSolverMA28::u const value_type u  )  [inline]
 

Pivot tolerance versus sparsity.

Definition at line 63 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const value_type& AbstractLinAlgPack::DirectSparseSolverMA28::u  )  const [inline]
 

Definition at line 63 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::grow const bool &  grow  )  [inline]
 

If true, than an estimate of growth of the factors is computed.

Definition at line 66 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const bool& AbstractLinAlgPack::DirectSparseSolverMA28::grow  )  const [inline]
 

Definition at line 66 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::tol const value_type tol  )  [inline]
 

Drop tolerance for an incomplete factorization.

Definition at line 69 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const value_type& AbstractLinAlgPack::DirectSparseSolverMA28::tol  )  const [inline]
 

Definition at line 69 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::nsrch const index_type nsrch  )  [inline]
 

Number of columns to search to reduce fill-in.

Definition at line 72 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const index_type& AbstractLinAlgPack::DirectSparseSolverMA28::nsrch  )  const [inline]
 

Definition at line 72 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::lbig const bool &  lbig  )  [inline]
 

If true, then the largest entry encountered is returned.

Definition at line 75 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const bool& AbstractLinAlgPack::DirectSparseSolverMA28::lbig  )  const [inline]
 

Definition at line 75 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::print_ma28_outputs const bool &  print_ma28_outputs  )  [inline]
 

If true, then outputs from ma28 are printed to output stream.

Definition at line 78 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const bool& AbstractLinAlgPack::DirectSparseSolverMA28::print_ma28_outputs  )  const [inline]
 

Definition at line 78 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::output_file_name const std::string &  output_file_name  )  [inline]
 

If output_file != "", then output from MA28 is sent to this file.

Definition at line 81 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const std::string& AbstractLinAlgPack::DirectSparseSolverMA28::output_file_name  )  const [inline]
 

Definition at line 81 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

const DirectSparseSolver::basis_matrix_factory_ptr_t AbstractLinAlgPack::DirectSparseSolverMA28::basis_matrix_factory  )  const [virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolver.

Definition at line 213 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::estimated_fillin_ratio value_type  estimated_fillin_ratio  )  [virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolver.

Definition at line 219 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

const Teuchos::RefCountPtr< DirectSparseSolver::FactorizationStructure > AbstractLinAlgPack::DirectSparseSolverMA28::create_fact_struc  )  const [protected, virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolverImp.

Definition at line 229 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

const Teuchos::RefCountPtr< DirectSparseSolverImp::FactorizationNonzeros > AbstractLinAlgPack::DirectSparseSolverMA28::create_fact_nonzeros  )  const [protected, virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolverImp.

Definition at line 235 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::imp_analyze_and_factor const AbstractLinAlgPack::MatrixConvertToSparse A,
FactorizationStructure *  fact_struc,
FactorizationNonzeros *  fact_nonzeros,
DenseLinAlgPack::IVector row_perm,
DenseLinAlgPack::IVector col_perm,
size_type rank,
std::ostream *  out
[protected, virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolverImp.

Definition at line 240 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::imp_factor const AbstractLinAlgPack::MatrixConvertToSparse A,
const FactorizationStructure &  fact_struc,
FactorizationNonzeros *  fact_nonzeros,
std::ostream *  out
[protected, virtual]
 

Implements AbstractLinAlgPack::DirectSparseSolverImp.

Definition at line 404 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::set_ma28_parameters FactorizationStructureMA28 fs  )  [private]
 

Definition at line 482 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::print_ma28_outputs bool  ma28ad_bd,
index_type  iflag,
const FactorizationStructureMA28 fs,
const value_type  w[],
std::ostream *  out
[private]
 

Definition at line 505 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

void AbstractLinAlgPack::DirectSparseSolverMA28::ThrowIFlagException index_type  iflag  )  [private]
 

Definition at line 537 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.


Member Data Documentation

value_type AbstractLinAlgPack::DirectSparseSolverMA28::u_ [private]
 

Definition at line 63 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

bool AbstractLinAlgPack::DirectSparseSolverMA28::grow_ [private]
 

Definition at line 66 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

value_type AbstractLinAlgPack::DirectSparseSolverMA28::tol_ [private]
 

Definition at line 69 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

index_type AbstractLinAlgPack::DirectSparseSolverMA28::nsrch_ [private]
 

Definition at line 72 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

bool AbstractLinAlgPack::DirectSparseSolverMA28::lbig_ [private]
 

Definition at line 75 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

bool AbstractLinAlgPack::DirectSparseSolverMA28::print_ma28_outputs_ [private]
 

Definition at line 78 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

std::string AbstractLinAlgPack::DirectSparseSolverMA28::output_file_name_ [private]
 

Definition at line 81 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

value_type AbstractLinAlgPack::DirectSparseSolverMA28::estimated_fillin_ratio_ [private]
 

Definition at line 249 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

Teuchos::RefCountPtr<std::ostream> AbstractLinAlgPack::DirectSparseSolverMA28::output_file_ [private]
 

Definition at line 250 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

int AbstractLinAlgPack::DirectSparseSolverMA28::file_output_num_ [private]
 

Definition at line 251 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.


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