42 #ifndef ALAP_DIRECT_SPARSE_SOLVER_H
43 #define ALAP_DIRECT_SPARSE_SOLVER_H
45 #include "AbstractLinAlgPack_Types.hpp"
46 #include "AbstractLinAlgPack_MatrixConvertToSparse.hpp"
47 #include "AbstractLinAlgPack_MatrixNonsing.hpp"
49 #include "Teuchos_AbstractFactory.hpp"
51 namespace AbstractLinAlgPack {
285 : std::logic_error(what_arg) {}};
290 : std::logic_error(what_arg) {}};
295 : std::logic_error(what_arg) {}};
300 : std::logic_error(what_arg) {}};
305 : std::logic_error(what_arg) {}};
494 ,BasisMatrix *basis_matrix
495 ,std::ostream *out = NULL
582 ,BasisMatrix *basis_matrix
584 ,std::ostream *out = NULL
608 #endif // ALAP_DIRECT_SPARSE_SOLVER_H
Teuchos::RCP< const Teuchos::AbstractFactory< BasisMatrix > > basis_matrix_factory_ptr_t
virtual const fact_struc_ptr_t & get_fact_struc() const =0
Return a reference to a smart pointer to the object that represents the factorization structure...
Abstract class for objects that represent the factorized matrix and can be used to solve for differen...
virtual void set_uninitialized()=0
Release all allocated memory.
virtual void estimated_fillin_ratio(value_type estimated_fillin_ratio)=0
Set the estimate of the fill-in ratio of the factorization.
virtual ~FactorizationStructure()
virtual const basis_matrix_factory_ptr_t basis_matrix_factory() const =0
Return a factory object that can create the basis matrix.
Mix-in interface for extracing explicit elements from a sparse matrix in one of several Fortran compa...
Teuchos::RCP< FactorizationStructure > fact_struc_ptr_t
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.
virtual const BasisMatrix::fact_struc_ptr_t & get_fact_struc() const =0
Get a smart pointer object to the current factorization structure.
virtual ~DirectSparseSolver()
Abstract class for objects that represent the factorization structure of a particular matrix...
virtual 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=NULL)=0
Analyze and factor a matrix.
Abstract base class for all nonsingular polymorphic matrices that can solve for linear system with bu...
Abstract interface to serial direct sparse linear solvers.