53#ifndef MUELU_SCHURCOMPLEMENTFACTORY_DECL_HPP_
54#define MUELU_SCHURCOMPLEMENTFACTORY_DECL_HPP_
58#include <Teuchos_ParameterList.hpp>
60#include <Xpetra_CrsMatrix_fwd.hpp>
61#include <Xpetra_CrsMatrixWrap_fwd.hpp>
62#include <Xpetra_MapExtractor_fwd.hpp>
63#include <Xpetra_Map_fwd.hpp>
64#include <Xpetra_StridedMap_fwd.hpp>
71#include "MueLu_SmootherPrototype.hpp"
116#undef MUELU_SCHURCOMPLEMENTFACTORY_SHORT
152#define MUELU_SCHURCOMPLEMENTFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Factory for building the Schur Complement for a 2x2 block matrix.
SchurComplementFactory()=default
Constructor.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level ¤tLevel) const
Input.
void Build(Level ¤tLevel) const
Build an object with this factory.
RCP< Matrix > ComputeSchurComplement(RCP< BlockedCrsMatrix > &bA, RCP< Matrix > &Ainv) const
Schur complement calculation method.
Base class for factories that use one level (currentLevel).
Namespace for MueLu classes and methods.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar