42 #ifndef TPETRA_LEFTANDORRIGHTSCALECRSMATRIX_DECL_HPP
43 #define TPETRA_LEFTANDORRIGHTSCALECRSMATRIX_DECL_HPP
48 #include "TpetraCore_config.h"
49 #include "Kokkos_ArithTraits.hpp"
50 #include "Kokkos_Core.hpp"
91 template<
class SC,
class LO,
class GO,
class NT>
95 const typename Kokkos::ArithTraits<SC>::mag_type*,
96 typename NT::device_type>& rowScalingFactors,
98 const typename Kokkos::ArithTraits<SC>::mag_type*,
99 typename NT::device_type>& colScalingFactors,
100 const bool leftScale,
101 const bool rightScale,
102 const bool assumeSymmetric,
132 template<
class SC,
class LO,
class GO,
class NT>
136 LO, GO, NT>& rowScalingFactors,
138 LO, GO, NT>& colScalingFactors,
139 const bool leftScale,
140 const bool rightScale,
141 const bool assumeSymmetric,
146 #endif // TPETRA_LEFTANDORRIGHTSCALECRSMATRIX_DECL_HPP
Sparse matrix that presents a row-oriented interface that lets users read or modify entries...
void leftAndOrRightScaleCrsMatrix(Tpetra::CrsMatrix< SC, LO, GO, NT > &A, const Kokkos::View< const typename Kokkos::ArithTraits< SC >::mag_type *, typename NT::device_type > &rowScalingFactors, const Kokkos::View< const typename Kokkos::ArithTraits< SC >::mag_type *, typename NT::device_type > &colScalingFactors, const bool leftScale, const bool rightScale, const bool assumeSymmetric, const EScaling scaling)
Left-scale and/or right-scale (in that order) the entries of the input Tpetra::CrsMatrix A...
EScaling
Whether "scaling" a matrix means multiplying or dividing its entries.
Forward declaration of Tpetra::CrsMatrix.
Forward declaration of Tpetra::Vector.
A distributed dense vector.