Amesos2 - Direct Sparse Solver Interfaces  Version of the Day
Classes | Functions
Amesos2_Util.hpp File Reference

Utility functions for Amesos2. More...

#include "Amesos2_config.h"
#include "Teuchos_RCP.hpp"
#include "Teuchos_BLAS_types.hpp"
#include "Teuchos_Array.hpp"
#include "Teuchos_ArrayView.hpp"
#include "Teuchos_FancyOStream.hpp"
#include <Tpetra_Map.hpp>
#include <Tpetra_DistObject_decl.hpp>
#include <Tpetra_ComputeGatherMap.hpp>
#include "Amesos2_TypeDecl.hpp"
#include "Amesos2_Meta.hpp"
#include "Amesos2_Kokkos_View_Copy_Assign.hpp"
#include <Epetra_Map.h>
Include dependency graph for Amesos2_Util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Amesos2::Util::same_gs_helper_kokkos_view< M, KV_S, KV_GO, KV_GS, Op >
 A generic base class for the CRS and CCS helpers. More...
 
struct  Amesos2::Util::get_ccs_helper_kokkos_view< Matrix, KV_S, KV_GO, KV_GS >
 A generic helper class for getting a CCS representation of a Matrix. More...
 
struct  Amesos2::Util::get_crs_helper_kokkos_view< Matrix, KV_S, KV_GO, KV_GS >
 Similar to get_ccs_helper , but used to get a CRS representation of the given matrix. More...
 

Functions

template<typename LO , typename GO , typename GS , typename Node >
const Teuchos::RCP< const
Tpetra::Map< LO, GO, Node > > 
Amesos2::Util::getGatherMap (const Teuchos::RCP< const Tpetra::Map< LO, GO, Node > > &map)
 Gets a Tpetra::Map described by the EDistribution. More...
 
template<typename LO , typename GO , typename GS , typename Node >
const Teuchos::RCP< const
Tpetra::Map< LO, GO, Node > > 
Amesos2::Util::getDistributionMap (EDistribution distribution, GS num_global_elements, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, GO indexBase=0, const Teuchos::RCP< const Tpetra::Map< LO, GO, Node > > &map=Teuchos::null)
 
template<typename LO , typename GO , typename GS , typename Node >
RCP< Tpetra::Map< LO, GO, Node > > Amesos2::Util::epetra_map_to_tpetra_map (const Epetra_BlockMap &map)
 Transform an Epetra_Map object into a Tpetra::Map.
 
template<typename LO , typename GO , typename GS , typename Node >
RCP< Epetra_Map > Amesos2::Util::tpetra_map_to_epetra_map (const Tpetra::Map< LO, GO, Node > &map)
 Transform a Tpetra::Map object into an Epetra_Map.
 
const RCP< const Teuchos::Comm
< int > > 
Amesos2::Util::to_teuchos_comm (RCP< const Epetra_Comm > c)
 Transform an Epetra_Comm object into a Teuchos::Comm object.
 
const RCP< const Epetra_Comm > Amesos2::Util::to_epetra_comm (RCP< const Teuchos::Comm< int > > c)
 Transfrom a Teuchos::Comm object into an Epetra_Comm object.
 
template<typename Scalar , typename GlobalOrdinal , typename GlobalSizeT >
void Amesos2::Util::transpose (ArrayView< Scalar > vals, ArrayView< GlobalOrdinal > indices, ArrayView< GlobalSizeT > ptr, ArrayView< Scalar > trans_vals, ArrayView< GlobalOrdinal > trans_indices, ArrayView< GlobalSizeT > trans_ptr)
 
template<typename Scalar1 , typename Scalar2 >
void Amesos2::Util::scale (ArrayView< Scalar1 > vals, size_t l, size_t ld, ArrayView< Scalar2 > s)
 Scales a 1-D representation of a multivector. More...
 
template<typename Scalar1 , typename Scalar2 , class BinaryOp >
void Amesos2::Util::scale (ArrayView< Scalar1 > vals, size_t l, size_t ld, ArrayView< Scalar2 > s, BinaryOp binary_op)
 Scales a 1-D representation of a multivector. More...
 
void Amesos2::Util::printLine (Teuchos::FancyOStream &out)
 Prints a line of 70 "-"s on std::cout. More...
 
template<typename LO , typename GO , typename GS , typename Node >
Teuchos::RCP< Tpetra::Map< LO,
GO, Node > > 
Amesos2::Util::epetra_map_to_tpetra_map (const Epetra_BlockMap &map)
 Transform an Epetra_Map object into a Tpetra::Map.
 
template<typename LO , typename GO , typename GS , typename Node >
Teuchos::RCP< Epetra_Map > Amesos2::Util::tpetra_map_to_epetra_map (const Tpetra::Map< LO, GO, Node > &map)
 Transform a Tpetra::Map object into an Epetra_Map.
 
template<typename Scalar , typename GlobalOrdinal , typename GlobalSizeT >
void Amesos2::Util::transpose (Teuchos::ArrayView< Scalar > vals, Teuchos::ArrayView< GlobalOrdinal > indices, Teuchos::ArrayView< GlobalSizeT > ptr, Teuchos::ArrayView< Scalar > trans_vals, Teuchos::ArrayView< GlobalOrdinal > trans_indices, Teuchos::ArrayView< GlobalSizeT > trans_ptr)
 
template<typename Scalar1 , typename Scalar2 >
void Amesos2::Util::scale (Teuchos::ArrayView< Scalar1 > vals, size_t l, size_t ld, Teuchos::ArrayView< Scalar2 > s)
 
template<typename Scalar1 , typename Scalar2 , class BinaryOp >
void Amesos2::Util::scale (Teuchos::ArrayView< Scalar1 > vals, size_t l, size_t ld, Teuchos::ArrayView< Scalar2 > s, BinaryOp binary_op)
 
template<class row_ptr_view_t , class cols_view_t , class per_view_t >
void Amesos2::Util::reorder (row_ptr_view_t &row_ptr, cols_view_t &cols, per_view_t &perm, per_view_t &peri, size_t &nnz, bool permute_matrix)
 
template<class values_view_t , class row_ptr_view_t , class cols_view_t , class per_view_t >
void Amesos2::Util::reorder_values (values_view_t &values, const row_ptr_view_t &orig_row_ptr, const row_ptr_view_t &new_row_ptr, const cols_view_t &orig_cols, const per_view_t &perm, const per_view_t &peri, size_t nnz)
 
template<class array_view_t , class per_view_t >
void Amesos2::Util::apply_reorder_permutation (const array_view_t &array, array_view_t &permuted_array, const per_view_t &permutation)
 

Detailed Description

Utility functions for Amesos2.

Author
Eric T Bavier etbav.nosp@m.ier@.nosp@m.sandi.nosp@m.a.go.nosp@m.v
Date
Thu May 27 13:11:13 CDT 2010