All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
compressed_matrix.hpp File Reference

Implementation of the compressed_matrix class. More...

`#include <vector>`
`#include <list>`
`#include <map>`
`#include "viennacl/forwards.h"`
`#include "viennacl/vector.hpp"`
`#include "viennacl/linalg/sparse_matrix_operations.hpp"`
`#include "viennacl/tools/tools.hpp"`
`#include "viennacl/tools/entry_proxy.hpp"`

Go to the source code of this file.

## Classes

class | viennacl::compressed_matrix< NumericT, AlignmentV >
| A sparse square matrix in compressed sparse rows format. More...

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::detail
| Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users.

## Functions

template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void | viennacl::detail::copy_impl (const CPUMatrixT &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix, vcl_size_t nonzeros)
| Implementation of the copy of a host-based sparse matrix to the device. More...
template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void | viennacl::copy (const CPUMatrixT &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix)
| Copies a sparse matrix from the host to the OpenCL device (either GPU or multi-core CPU) More...
template<typename SizeT , typename NumericT , unsigned int AlignmentV>
void | viennacl::copy (const std::vector< std::map< SizeT, NumericT > > &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix)
| Copies a sparse square matrix in the std::vector< std::map < > > format to an OpenCL device. Use viennacl::tools::sparse_matrix_adapter for non-square matrices. More...
template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void | viennacl::copy (const compressed_matrix< NumericT, AlignmentV > &gpu_matrix, CPUMatrixT &cpu_matrix)
| Copies a sparse matrix from the OpenCL device (either GPU or multi-core CPU) to the host. More...
template<typename NumericT , unsigned int AlignmentV>
void | viennacl::copy (const compressed_matrix< NumericT, AlignmentV > &gpu_matrix, std::vector< std::map< unsigned int, NumericT > > &cpu_matrix)
| Copies a sparse matrix from an OpenCL device to the host. The host type is the std::vector< std::map < > > format . More...
template<typename NumericT , unsigned int AlignmentV>
std::ostream & | viennacl::operator<< (std::ostream &os, compressed_matrix< NumericT, AlignmentV > const &A)
| Output stream support for compressed_matrix. Output format is same as MATLAB, Octave, or SciPy. More...

## Detailed Description

Implementation of the compressed_matrix class.

Definition in file compressed_matrix.hpp.