1 #ifndef VIENNACL_LINALG_CIRCULANT_MATRIX_OPERATIONS_HPP_
2 #define VIENNACL_LINALG_CIRCULANT_MATRIX_OPERATIONS_HPP_
48 template<
typename NumericT,
unsigned int AlignmentV>
53 assert(mat.
size1() == result.
size() && bool(
"Dimension mismatch"));
54 assert(mat.
size2() == vec.
size() && bool(
"Dimension mismatch"));
viennacl::vector< NumericT, AlignmentV > & elements()
Returns an internal viennacl::vector, which represents a circulant matrix elements.
void real_to_complex(viennacl::vector_base< NumericT > const &in, viennacl::vector_base< NumericT > &out, vcl_size_t size)
Create complex vector from real vector (even elements(2*k) = real part, odd elements(2*k+1) = imagina...
void complex_to_real(viennacl::vector_base< NumericT > const &in, viennacl::vector_base< NumericT > &out, vcl_size_t size)
Create real vector from complex vector (even elements(2*k) = real part, odd elements(2*k+1) = imagina...
This file provides the forward declarations for the main types used within ViennaCL.
vcl_size_t size1() const
Returns the number of rows of the matrix.
Implementations of the OpenCL backend, where all contexts are stored in.
The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations ...
size_type size() const
Returns the length of the vector (cf. std::vector)
All routines related to the Fast Fourier Transform. Experimental.
A Circulant matrix class.
ScalarType convolve(std::vector< ScalarType > &in1, std::vector< ScalarType > &in2, unsigned int, unsigned int, unsigned int)
vcl_size_t size2() const
Returns the number of columns of the matrix.
void prod_impl(const matrix_base< NumericT > &mat, const vector_base< NumericT > &vec, vector_base< NumericT > &result)
Carries out matrix-vector multiplication.
Implementation of the ViennaCL scalar class.