54 #ifndef AMESOS2_LAPACK_DECL_HPP
55 #define AMESOS2_LAPACK_DECL_HPP
57 #include <Teuchos_ScalarTraits.hpp>
58 #include <Teuchos_SerialDenseSolver.hpp>
59 #include <Teuchos_SerialDenseMatrix.hpp>
62 #include "Amesos2_SolverCore.hpp"
78 template <
class Matrix,
94 typedef typename super_type::scalar_type scalar_type;
95 typedef typename super_type::local_ordinal_type local_ordinal_type;
96 typedef typename super_type::global_ordinal_type global_ordinal_type;
97 typedef typename super_type::global_size_type global_size_type;
99 typedef typename Teuchos::ScalarTraits<scalar_type>::magnitudeType magnitude_type;
112 Lapack(Teuchos::RCP<const Matrix> A,
113 Teuchos::RCP<Vector> X,
114 Teuchos::RCP<const Vector> B);
154 int
solve_impl(const Teuchos::Ptr<MultiVecAdapter<Vector> > X,
155 const Teuchos::Ptr<const MultiVecAdapter<Vector> > B) const;
214 Teuchos::SerialDenseMatrix<int,scalar_type>
lu_;
218 mutable Teuchos::SerialDenseSolver<int,scalar_type>
solver_;
240 typedef Meta::make_list2<float, double> supported_scalars;
246 #endif // AMESOS2_NEWSOLVER_DECL_HPP
Teuchos::Array< int > colptr_
Stores the location in Ai_ and Aval_ that starts col j.
Definition: Amesos2_Lapack_decl.hpp:208
Amesos2::SolverCore: A templated interface for interaction with third-party direct sparse solvers...
Definition: Amesos2_SolverCore_decl.hpp:105
Amesos2 interface to the LAPACK.
Definition: Amesos2_Lapack_decl.hpp:80
int symbolicFactorization_impl()
No-op.
Definition: Amesos2_Lapack_def.hpp:100
Teuchos::SerialDenseMatrix< int, scalar_type > lu_
L and U storage.
Definition: Amesos2_Lapack_decl.hpp:214
Teuchos::SerialDenseSolver< int, scalar_type > solver_
The serial solver.
Definition: Amesos2_Lapack_decl.hpp:218
void setParameters_impl(const Teuchos::RCP< Teuchos::ParameterList > ¶meterList)
Definition: Amesos2_Lapack_def.hpp:230
std::string name() const
Return the name of this solver.
Definition: Amesos2_SolverCore_def.hpp:509
Teuchos::Array< int > rowind_
Stores the column indices of the nonzero entries.
Definition: Amesos2_Lapack_decl.hpp:205
Provides traits about solvers.
Definition: Amesos2_SolverTraits.hpp:70
bool matrixShapeOK_impl() const
Determines whether the shape of the matrix is OK for this solver.
Definition: Amesos2_Lapack_def.hpp:219
Teuchos::Array< scalar_type > nzvals_
Stores the values of the nonzero entries.
Definition: Amesos2_Lapack_decl.hpp:202
int preOrdering_impl()
No-op.
Definition: Amesos2_Lapack_def.hpp:92
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters_impl() const
Definition: Amesos2_Lapack_def.hpp:246
int solve_impl(const Teuchos::Ptr< MultiVecAdapter< Vector > > X, const Teuchos::Ptr< const MultiVecAdapter< Vector > > B) const
Lapack solve.
Definition: Amesos2_Lapack_def.hpp:135
bool loadA_impl(EPhase current_phase)
Reads matrix data into internal structures.
Definition: Amesos2_Lapack_def.hpp:270
Provides access to interesting solver traits.
Teuchos::Array< scalar_type > rhsvals_
Store for RHS and Solution values.
Definition: Amesos2_Lapack_decl.hpp:210
int numericFactorization_impl()
Perform numeric factorization using LAPACK.
Definition: Amesos2_Lapack_def.hpp:108