ViennaCL - The Vienna Computing Library: viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT > Class Template Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT > Class Template Reference

A Toeplitz matrix class. More...

`#include <forwards.h>`

## Public Types
typedef viennacl::backend::mem_handle | handle_type
typedef scalar< typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT < NumericT >::ResultType > | value_type

## Public Member Functions
| toeplitz_matrix ()
| The default constructor. Does not allocate any memory. More...
| toeplitz_matrix (vcl_size_t rows, vcl_size_t cols)
| Creates the matrix with the given size. More...
void | resize (vcl_size_t sz, bool preserve=true)
| Resizes the matrix. Existing entries can be preserved. More...
handle_type const & | handle () const
| Returns the OpenCL handle. More...
viennacl::vector< NumericT, AlignmentV > & | elements ()
| Returns an internal viennacl::vector, which represents a Toeplitz matrix elements. More...
viennacl::vector< NumericT, AlignmentV > const & | elements () const
vcl_size_t | size1 () const
| Returns the number of rows of the matrix. More...
vcl_size_t | size2 () const
| Returns the number of columns of the matrix. More...
vcl_size_t | internal_size () const
| Returns the internal size of matrix representtion. Usually required for launching OpenCL kernels only. More...
entry_proxy< NumericT > | operator() (vcl_size_t row_index, vcl_size_t col_index)
| Read-write access to a single element of the matrix. More...
toeplitz_matrix< NumericT, AlignmentV > & | operator+= (toeplitz_matrix< NumericT, AlignmentV > &that)
| += operation for Toeplitz matrices More...

## Detailed Description

### template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
class viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >

A Toeplitz matrix class.

Template Parameters

  NumericT | The underlying scalar type (either float or double)
  AlignmentV | The internal memory size is given by (size()/AlignmentV + 1) * AlignmentV. AlignmentV must be a power of two. Best values or usually 4, 8 or 16, higher values are usually a waste of memory.

Examples:
  structured-matrices.cpp.

Definition at line 415 of file forwards.h.

## Member Typedef Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

typedef viennacl::backend::mem_handle viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::handle_type

Definition at line 46 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<NumericT>::ResultType> viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::value_type

Definition at line 47 of file toeplitz_matrix.hpp.

## Constructor & Destructor Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::toeplitz_matrix | ( |  | ) |
| inlineexplicit

The default constructor. Does not allocate any memory.

Definition at line 53 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::toeplitz_matrix | ( | vcl_size_t | rows,
|  | vcl_size_t | cols
| ) |  |
| inlineexplicit

Creates the matrix with the given size.

Parameters

  rows | Number of rows of the matrix
  cols | Number of columns of the matrix

Definition at line 60 of file toeplitz_matrix.hpp.

## Member Function Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

viennacl::vector<NumericT, AlignmentV>& viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::elements | ( |  | ) |
| inline

Returns an internal viennacl::vector, which represents a Toeplitz matrix elements.

Definition at line 88 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

viennacl::vector<NumericT, AlignmentV> const& viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::elements | ( |  | ) | const
| inline

Definition at line 89 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

handle_type const& viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::handle | ( |  | ) | const
| inline

Returns the OpenCL handle.

Returns
  OpenCL handle

Definition at line 82 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

vcl_size_t viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::internal_size | ( |  | ) | const
| inline

Returns the internal size of matrix representtion. Usually required for launching OpenCL kernels only.

Returns
  Internal size of matrix representation

Definition at line 107 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

entry_proxy<NumericT> viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::operator() | ( | vcl_size_t | row_index,
|  | vcl_size_t | col_index
| ) |  |
| inline

Read-write access to a single element of the matrix.

Parameters

  row_index | Row index of accessed element
  col_index | Column index of accessed element

Returns
  Proxy for matrix entry

Definition at line 117 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

toeplitz_matrix<NumericT, AlignmentV>& viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::operator+= | ( | toeplitz_matrix< NumericT, AlignmentV > & | that | ) |
| inline

+= operation for Toeplitz matrices

Parameters

  that | Matrix which will be added

Returns
  Result of addition

Definition at line 137 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

void viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::resize | ( | vcl_size_t | sz,
|  | bool | preserve = `true`
| ) |  |
| inline

Resizes the matrix. Existing entries can be preserved.

Parameters

  sz | New size of matrix
  preserve | If true, existing values are preserved.

Definition at line 73 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

vcl_size_t viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::size1 | ( |  | ) | const
| inline

Returns the number of rows of the matrix.

Definition at line 95 of file toeplitz_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>

vcl_size_t viennacl::toeplitz_matrix< SCALARTYPE, ALIGNMENT >::size2 | ( |  | ) | const
| inline

Returns the number of columns of the matrix.

Definition at line 100 of file toeplitz_matrix.hpp.

The documentation for this class was generated from the following files:

- viennacl/forwards.h
- viennacl/toeplitz_matrix.hpp