47 using SC =
typename TpetraOperatorType::scalar_type;
48 using LO =
typename TpetraOperatorType::local_ordinal_type;
49 using GO =
typename TpetraOperatorType::global_ordinal_type;
50 using NT =
typename TpetraOperatorType::node_type;
52 using crs_matrix_type = Tpetra::CrsMatrix<SC, LO, GO, NT>;
53 using multivector_type = Tpetra::MultiVector<SC, LO, GO, NT>;
54 using operator_type = Tpetra::Operator<SC, LO, GO, NT>;
55 using vector_type = Tpetra::Vector<SC, LO, GO, NT>;
56 using magnitude_type =
typename Teuchos::ScalarTraits<SC>::magnitudeType;
57 using device_type =
typename NT::device_type;
58 using offset_type = Kokkos::View<size_t*, device_type>;
64 setMatrix(
const Teuchos::RCP<const operator_type>& A);
67 compute(vector_type&
D_inv,
72 Teuchos::RCP<const operator_type> A_op_;
73 Teuchos::RCP<const crs_matrix_type> A_crs_;