Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Protected Member Functions
Kokkos::DefaultRelaxation< Scalar, Ordinal, Node > Class Template Reference

Various relaxation methods. More...

#include <Kokkos_DefaultRelaxation.hpp>

List of all members.

Public Member Functions

Constructors/Destructor
 DefaultRelaxation (const RCP< Node > &node=DefaultNode::getDefaultNode())
 DefaultRelaxation constuctor.
 ~DefaultRelaxation ()
 DefaultRelaxation Destructor.
Accessor routines.
RCP< Node > getNode () const
 Node accessor.
Initialization of structure
template<class GRAPH >
Teuchos::DataAccess initializeStructure (GRAPH &graph, Teuchos::DataAccess cv)
 Initialize structure of matrix. NOT IMPLEMENTED!
template<class MATRIX >
Teuchos::DataAccess initializeValues (MATRIX &matrix, Teuchos::DataAccess cv)
 Initialize values of matrix. NOT IMPLEMENTED!
template<class SparseOps >
Teuchos::DataAccess initializeStructure (CrsGraph< Ordinal, Node, SparseOps > &graph, Teuchos::DataAccess cv)
 Initialize structure of the matrix, using CrsGraph.
template<class SparseOps >
Teuchos::DataAccess initializeValues (CrsMatrix< Scalar, Ordinal, Node, SparseOps > &matrix, Teuchos::DataAccess cv)
 Initialize values of the matrix, using CrsMatrix.
void setDiagonal (MultiVector< Scalar, Node > &diag)
 Sets the diagonal inverted for relaxation using a MultiVector.
void clear ()
 Clear all matrix structure and values.
Computational methods
void sweep_jacobi (Scalar dampingFactor_, MultiVector< Scalar, Node > &X, const MultiVector< Scalar, Node > &B) const
 Applies a sweep of Jacobi.
void sweep_fine_hybrid (Scalar dampingFactor_, MultiVector< Scalar, Node > &X, const MultiVector< Scalar, Node > &B) const
 Applies a sweep of fine-grain Hybrid Gauss-Seidel.
void sweep_coarse_hybrid (Scalar dampingFactor_, size_t num_chunks, MultiVector< Scalar, Node > &X, const MultiVector< Scalar, Node > &B) const
 Applies a sweep of coarse-grain Hybrid Gauss-Seidel.
void setup_chebyshev (const Scalar lambda_max, const Scalar lambda_min)
 Does setup for Chebyshev.
void sweep_chebyshev (MultiVector< Scalar, Node > &X, const MultiVector< Scalar, Node > &B) const
 Applies a sweep of Chebyshev iteration.

Protected Member Functions

 DefaultRelaxation (const DefaultRelaxation &source)
 Copy constructor (protected and unimplemented)
void ExtractDiagonal ()
 Extract the diagonal from the matrix, if the user hasn't set it already.

Detailed Description

template<class Scalar, class Ordinal, class Node = DefaultNode::DefaultNodeType>
class Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >

Various relaxation methods.

Definition at line 58 of file Kokkos_DefaultRelaxation.hpp.


Constructor & Destructor Documentation

template<class Scalar , class Ordinal , class Node >
Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::DefaultRelaxation ( const RCP< Node > &  node = DefaultNode::getDefaultNode())

DefaultRelaxation constuctor.

Definition at line 184 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::~DefaultRelaxation ( )

DefaultRelaxation Destructor.

Definition at line 200 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node = DefaultNode::DefaultNodeType>
Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::DefaultRelaxation ( const DefaultRelaxation< Scalar, Ordinal, Node > &  source) [protected]

Copy constructor (protected and unimplemented)


Member Function Documentation

template<class Scalar , class Ordinal , class Node >
RCP< Node > Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::getNode ( ) const

Node accessor.

Definition at line 300 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
template<class GRAPH >
Teuchos::DataAccess Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::initializeStructure ( GRAPH &  graph,
Teuchos::DataAccess  cv 
)

Initialize structure of matrix. NOT IMPLEMENTED!

Definition at line 207 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
template<class MATRIX >
Teuchos::DataAccess Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::initializeValues ( MATRIX &  matrix,
Teuchos::DataAccess  cv 
)

Initialize values of matrix. NOT IMPLEMENTED!

Definition at line 215 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
template<class SparseOps >
Teuchos::DataAccess Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::initializeStructure ( CrsGraph< Ordinal, Node, SparseOps > &  graph,
Teuchos::DataAccess  cv 
)

Initialize structure of the matrix, using CrsGraph.

Definition at line 223 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
template<class SparseOps >
Teuchos::DataAccess Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::initializeValues ( CrsMatrix< Scalar, Ordinal, Node, SparseOps > &  matrix,
Teuchos::DataAccess  cv 
)

Initialize values of the matrix, using CrsMatrix.

Definition at line 264 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::setDiagonal ( MultiVector< Scalar, Node > &  diag)

Sets the diagonal inverted for relaxation using a MultiVector.

Definition at line 328 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::clear ( )

Clear all matrix structure and values.

Definition at line 306 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::sweep_jacobi ( Scalar  dampingFactor_,
MultiVector< Scalar, Node > &  X,
const MultiVector< Scalar, Node > &  B 
) const

Applies a sweep of Jacobi.

Definition at line 519 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::sweep_fine_hybrid ( Scalar  dampingFactor_,
MultiVector< Scalar, Node > &  X,
const MultiVector< Scalar, Node > &  B 
) const

Applies a sweep of fine-grain Hybrid Gauss-Seidel.

Definition at line 409 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::sweep_coarse_hybrid ( Scalar  dampingFactor_,
size_t  num_chunks,
MultiVector< Scalar, Node > &  X,
const MultiVector< Scalar, Node > &  B 
) const

Applies a sweep of coarse-grain Hybrid Gauss-Seidel.

Definition at line 462 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::setup_chebyshev ( const Scalar  lambda_max,
const Scalar  lambda_min 
)

Does setup for Chebyshev.

Definition at line 582 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::sweep_chebyshev ( MultiVector< Scalar, Node > &  X,
const MultiVector< Scalar, Node > &  B 
) const

Applies a sweep of Chebyshev iteration.

Definition at line 602 of file Kokkos_DefaultRelaxation.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultRelaxation< Scalar, Ordinal, Node >::ExtractDiagonal ( ) [protected]

Extract the diagonal from the matrix, if the user hasn't set it already.

Definition at line 340 of file Kokkos_DefaultRelaxation.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends