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

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

#include <AbstractLinAlgPack_DirectSparseSolverMA28.hpp>

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

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

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

Public types

enum  EScalingMethod { NO_SCALING, INITIAL_SCALING, SUCCESSIVE_SCALING }
 

Control parameters

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

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. More...
 

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)
 

Additional Inherited Members

- Public Types inherited from AbstractLinAlgPack::DirectSparseSolver
typedef Teuchos::RCP< const
Teuchos::AbstractFactory
< BasisMatrix > > 
basis_matrix_factory_ptr_t
 
- Public Member Functions inherited from AbstractLinAlgPack::DirectSparseSolverImp
void analyze_and_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, DenseLinAlgPack::IVector *row_perm, DenseLinAlgPack::IVector *col_perm, size_type *rank, BasisMatrix *basis_matrix, std::ostream *out)
 
void factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, BasisMatrix *basis_matrix, const BasisMatrix::fact_struc_ptr_t &fact_struc, std::ostream *out)
 
const
BasisMatrix::fact_struc_ptr_t
get_fact_struc () const
 
void set_uninitialized ()
 
- Public Member Functions inherited from AbstractLinAlgPack::DirectSparseSolver
virtual ~DirectSparseSolver ()
 
virtual void factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, BasisMatrix *basis_matrix, const BasisMatrix::fact_struc_ptr_t &fact_struc=Teuchos::null, std::ostream *out=NULL)=0
 Factor a matrix given its factorization structure. More...
 
- Protected Member Functions inherited from AbstractLinAlgPack::DirectSparseSolverImp
virtual 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=NULL)=0
 Called to implement the analyze_and_factor() without having to worry about memory mangagment details. More...
 
virtual void imp_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, const FactorizationStructure &fact_struc, FactorizationNonzeros *fact_nonzeros, std::ostream *out=NULL)=0
 Called to implement the analyze_and_factor() without having to worry about memory mangagment details. More...
 

Detailed Description

Concreate sparse solver subclass that uses MA28.

ToDo: Finish documentation!

Definition at line 61 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

Member Enumeration Documentation

Enumerator
NO_SCALING 
INITIAL_SCALING 
SUCCESSIVE_SCALING 

Definition at line 68 of file AbstractLinAlgPack_DirectSparseSolverMA28.hpp.

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 238 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.

Member Function Documentation

AbstractLinAlgPack::DirectSparseSolverMA28::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
 
)

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 basis_matrix_factory_ptr_t AbstractLinAlgPack::DirectSparseSolverMA28::basis_matrix_factory ( ) const
virtual
void AbstractLinAlgPack::DirectSparseSolverMA28::estimated_fillin_ratio ( value_type  estimated_fillin_ratio)
virtual
const Teuchos::RCP<FactorizationStructure> AbstractLinAlgPack::DirectSparseSolverMA28::create_fact_struc ( ) const
protectedvirtual
const Teuchos::RCP<FactorizationNonzeros> AbstractLinAlgPack::DirectSparseSolverMA28::create_fact_nonzeros ( ) const
protectedvirtual
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

void AbstractLinAlgPack::DirectSparseSolverMA28::imp_factor ( const AbstractLinAlgPack::MatrixConvertToSparse A,
const FactorizationStructure fact_struc,
FactorizationNonzeros fact_nonzeros,
std::ostream *  out 
)
protected

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

Member Data Documentation

value_type AbstractLinAlgPack::DirectSparseSolverMA28::estimated_fillin_ratio_
private
Teuchos::RCP<std::ostream> AbstractLinAlgPack::DirectSparseSolverMA28::output_file_
private
int AbstractLinAlgPack::DirectSparseSolverMA28::file_output_num_
private

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