36 RCP<const Matrix> A = rcpFromRef(Aref);
43 RCP<CrsMatrix> Ptmp_ = CrsMatrixFactory::Build(C.
GetPattern());
44 Ptmp_->fillComplete(P0.getDomainMap(), P0.getRangeMap());
45 RCP<Matrix> Ptmp = rcp(
new CrsMatrixWrap(Ptmp_));
48 P = rcp_const_cast<Matrix>(rcpFromRef(P0));
50 for (
size_t k = 0; k <
nIts_; k++) {
51 AP = Xpetra::MatrixMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Multiply(*A,
false, *P,
false, mmfancy,
true,
true);
55 G = Xpetra::MatrixMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Multiply(*A,
true, *AP,
false,
true,
true);
65 Xpetra::MatrixMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::TwoMatrixAdd(*Ptmp,
false, -stepLength, *P,
false, Teuchos::ScalarTraits<Scalar>::one(), newP, mmfancy);
66 newP->fillComplete(P->getDomainMap(), P->getRangeMap());
static void MyOldScaleMatrix(Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Teuchos::ArrayRCP< const Scalar > &scalingVector, bool doInverse=true, bool doFillComplete=true, bool doOptimizeStorage=true)