10 #ifndef TPETRA_LEFTANDORRIGHTSCALECRSMATRIX_DECL_HPP
11 #define TPETRA_LEFTANDORRIGHTSCALECRSMATRIX_DECL_HPP
16 #include "TpetraCore_config.h"
17 #include "Kokkos_ArithTraits.hpp"
18 #include "Kokkos_Core.hpp"
59 template<
class SC,
class LO,
class GO,
class NT>
63 const typename Kokkos::ArithTraits<SC>::mag_type*,
64 typename NT::device_type>& rowScalingFactors,
66 const typename Kokkos::ArithTraits<SC>::mag_type*,
67 typename NT::device_type>& colScalingFactors,
69 const bool rightScale,
70 const bool assumeSymmetric,
100 template<
class SC,
class LO,
class GO,
class NT>
104 LO, GO, NT>& rowScalingFactors,
106 LO, GO, NT>& colScalingFactors,
107 const bool leftScale,
108 const bool rightScale,
109 const bool assumeSymmetric,
114 #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.