template<typename ValueType, typename MemorySpace>
class cusp::relaxation::polynomial< ValueType, MemorySpace >
Represents a Polynomial relaxation scheme.
- Template Parameters
-
ValueType | value_type of the array |
MemorySpace | memory space of the array (cusp::host_memory or cusp::device_memory ) |
- Overview
- Performs 3rd degree Polynomial relaxation
- Example
int main()
{
float rho = cusp::detail::ritz_spectral_radius_symmetric(A, 8);
cusp::relaxation::detail::chebyshev_polynomial_coefficients(rho, coefficients);
while (!monitor.finished(r))
{
M(A, b, x);
++monitor;
}
}
Definition at line 101 of file polynomial.h.
#include <polynomial.h>
|
| polynomial (void) |
|
template<typename MatrixType > |
| polynomial (const MatrixType &A) |
|
template<typename MatrixType , typename VectorType > |
| polynomial (const MatrixType &A, const VectorType &coefficients) |
|
template<typename MemorySpace2 > |
| polynomial (const polynomial< ValueType, MemorySpace2 > &A) |
|
template<typename MatrixType , typename VectorType1 , typename VectorType2 > |
void | operator() (const MatrixType &A, const VectorType1 &b, VectorType2 &x) |
|
template<typename MatrixType , typename VectorType1 , typename VectorType2 , typename VectorType3 > |
void | operator() (const MatrixType &A, const VectorType1 &b, VectorType2 &x, const VectorType3 &coefficients) |
|
| linear_operator (void) |
|
| linear_operator (intnum_rows, intnum_cols) |
|
| linear_operator (intnum_rows, intnum_cols, intnum_entries) |
|
template<typename ValueType, typename MemorySpace>
This constructor creates an empty polynomial
smoother.
Definition at line 115 of file polynomial.h.
template<typename ValueType, typename MemorySpace>
template<typename MatrixType >
This constructor creates a polynomial
smoother using a given matrix.
- Template Parameters
-
MatrixType | Type of input matrix used to create this polynomial smoother. |
- Parameters
-
A | Input matrix used to create smoother. |
template<typename ValueType, typename MemorySpace>
template<typename MatrixType , typename VectorType >
This constructor creates a polynomial
smoother using a given matrix and coefficients.
- Template Parameters
-
MatrixType | Type of input matrix used to create this polynomial smoother. |
- Parameters
-
A | Input matrix used to create smoother. |
coefficients | Used in polynomial smoother. |
template<typename ValueType, typename MemorySpace>
template<typename MemorySpace2 >
Copy constructor for polynomial
smoother.
- Template Parameters
-
MemorySpace2 | Memory space of input polynomial smoother. |
- Parameters
-
A | Input polynomial smoother. |
Definition at line 147 of file polynomial.h.
template<typename ValueType, typename MemorySpace>
template<typename MatrixType , typename VectorType1 , typename VectorType2 >
Perform polynomial relaxation using default coefficients specified during construction of this polynomial
smoother
- Template Parameters
-
MatrixType | Type of input matrix. |
VectorType1 | Type of input right-hand side vector. |
VectorType2 | Type of input approximate solution vector. |
- Parameters
-
A | matrix of the linear system |
x | approximate solution of the linear system |
b | right-hand side of the linear system |
template<typename ValueType, typename MemorySpace>
template<typename MatrixType , typename VectorType1 , typename VectorType2 , typename VectorType3 >
void cusp::relaxation::polynomial< ValueType, MemorySpace >::operator() |
( |
const MatrixType & |
A, |
|
|
const VectorType1 & |
b, |
|
|
VectorType2 & |
x, |
|
|
const VectorType3 & |
coefficients |
|
) |
| |
Perform polynomial relaxation using specified coefficients
- Template Parameters
-
MatrixType | Type of input matrix. |
VectorType1 | Type of input right-hand side vector. |
VectorType2 | Type of input approximate solution vector. |
VectorType3 | Type of input coefficients vector. |
- Parameters
-
A | matrix of the linear system |
x | approximate solution of the linear system |
b | right-hand side of the linear system |
coefficients | Used in polynomial smoother. |