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

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

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::RCP< FactorizationStructure > create_fact_struc () const
 
const Teuchos::RCP< 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

 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
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::RCP< std::ostream > output_file_
int file_output_num_

Classes

class  BasisMatrixMA28
 Implements the BasisMatrix object for MA28. More...
class  FactorizationNonzerosMA28
 Stores the factorization nonzeros for MA28. More...
class  FactorizationStructureMA28
 Stores the factorization structure for MA28. More...

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

Enumerator:
NO_SCALING 
INITIAL_SCALING 
SUCCESSIVE_SCALING 

Definition at line 55 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

enum AbstractLinAlgPack::DirectSparseSolverMA28::E_IFlag [private]

Enumeration for iflag.

Enumerator:
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

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
u   
)

Pivot tolerance versus sparsity.

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
grow   
)

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

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
tol   
)

Drop tolerance for an incomplete factorization.

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( index_type  ,
nsrch   
)

Number of columns to search to reduce fill-in.

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
lbig   
)

If true, then the largest entry encountered is returned.

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
print_ma28_outputs   
)

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

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( std::string  ,
output_file_name   
)

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

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::RCP< DirectSparseSolver::FactorizationStructure > AbstractLinAlgPack::DirectSparseSolverMA28::create_fact_struc (  )  const [protected, virtual]

Implements AbstractLinAlgPack::DirectSparseSolverImp.

Definition at line 229 of file AbstractLinAlgPack_DirectSparseSolverMA28.cpp.

const Teuchos::RCP< 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]

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]

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::estimated_fillin_ratio_ [private]

Definition at line 249 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

Teuchos::RCP<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 Tue Oct 20 12:54:09 2009 for MOOCHO (Single Doxygen Collection) by doxygen 1.4.7