10#ifndef MUELU_CONSTRAINT_DECL_HPP
11#define MUELU_CONSTRAINT_DECL_HPP
13#include <Teuchos_SerialDenseMatrix.hpp>
15#include <Xpetra_MultiVector_fwd.hpp>
16#include <Xpetra_Matrix_fwd.hpp>
17#include <Xpetra_CrsGraph_fwd.hpp>
70#undef MUELU_CONSTRAINT_SHORT
78 using MagnitudeType =
typename Teuchos::ScalarTraits<Scalar>::magnitudeType;
88 void Setup(
const RCP<MultiVector>& B,
const RCP<MultiVector>& Bc, RCP<const CrsGraph> Ppattern);
98 void Apply(
const Matrix& P, Matrix& Projected)
const;
111 ArrayRCP<Teuchos::SerialDenseMatrix<LO, SC> >
XXtInv_;
116#define MUELU_CONSTRAINT_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Base class for MueLu classes.
Constraint space information for the potential prolongator.
ArrayRCP< Teuchos::SerialDenseMatrix< LO, SC > > XXtInv_
Array storing .
RCP< const CrsGraph > Ppattern_
Nonzero sparsity pattern.
typename Teuchos::ScalarTraits< Scalar >::magnitudeType MagnitudeType
RCP< MultiVector > X_
Overlapped coarse nullspace.
RCP< const CrsGraph > GetPattern() const
void Setup(const RCP< MultiVector > &B, const RCP< MultiVector > &Bc, RCP< const CrsGraph > Ppattern)
void Apply(const Matrix &P, Matrix &Projected) const
Apply constraint.
MagnitudeType ResidualNorm(const RCP< const Matrix > P) const
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar