46#ifndef XPETRA_VECTOR_HPP
47#define XPETRA_VECTOR_HPP
52#include "Xpetra_MultiVector.hpp"
56 template <
class Scalar,
61 :
public virtual MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >
85 template<
class TargetDeviceType,
class AccessType>
86 typename std::conditional<
88 typename dual_view_type::t_dev_um::execution_space::memory_space,
89 typename TargetDeviceType::memory_space>::value,
90 typename dual_view_type::t_dev_um,
91 typename dual_view_type::t_host_um>::type
155#define XPETRA_VECTOR_SHORT
static const EVerbosityLevel verbLevel_default
Kokkos::DualView< impl_scalar_type **, Kokkos::LayoutStride, typename node_type::device_type, Kokkos::MemoryUnmanaged > dual_view_type
virtual Scalar dot(const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &a) const =0
Computes dot product of this Vector against input Vector x.
std::conditional< std::is_same< typenamedual_view_type::t_dev_um::execution_space::memory_space, typenameTargetDeviceType::memory_space >::value, typenamedual_view_type::t_dev_um, typenamedual_view_type::t_host_um >::type getLocalView(AccessType access_type) const
virtual ~Vector()
Destructor.
virtual void sumIntoGlobalValue(GlobalOrdinal globalRow, const Scalar &value)=0
Adds specified value to existing value at the specified location.
virtual Teuchos::ScalarTraits< Scalar >::magnitudeType norm1() const =0
Return 1-norm of this Vector.
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dual_view_type dual_view_type
virtual void replaceLocalValue(LocalOrdinal myRow, const Scalar &value)=0
Replace current value at the specified location with specified values.
virtual std::string description() const =0
Return a simple one-line description of this object.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const =0
Print the object with some verbosity level to an FancyOStream object.
virtual Scalar meanValue() const =0
Compute mean (average) value of this Vector.
virtual void replaceGlobalValue(GlobalOrdinal globalRow, const Scalar &value)=0
Replace current value at the specified location with specified value.
GlobalOrdinal global_ordinal_type
virtual void sumIntoLocalValue(LocalOrdinal myRow, const Scalar &value)=0
Adds specified value to existing value at the specified location.
virtual Teuchos::ScalarTraits< Scalar >::magnitudeType normInf() const =0
Compute Inf-norm of this Vector.
virtual Teuchos::ScalarTraits< Scalar >::magnitudeType norm2() const =0
Compute 2-norm of this Vector.
LocalOrdinal local_ordinal_type