 viennacl | Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them |
  backend | Namespace providing routines for handling the different memory domains |
   cpu_ram | Provides implementations for handling memory buffers in CPU RAM |
    detail | Holds implementation details for handling memory buffers in CPU RAM. Not intended for direct use by library users |
     array_deleter | Helper struct for deleting an pointer to an array |
   cuda | Provides implementations for handling CUDA memory buffers |
    detail | Holds implementation details for handling CUDA memory buffers. Not intended for direct use by library users |
     cuda_deleter | Functor for deleting a CUDA handle. Used within the smart pointer class |
   detail | Implementation details for the generic memory backend interface |
    convert_to_opencl | Helper struct for converting a type to its OpenCL pendant |
   opencl | Provides implementations for handling OpenCL memory buffers |
    detail | Holds implementation details for handling OpenCL memory buffers. Not intended for direct use by library users |
   mem_handle | Main abstraction class for multiple memory domains. Represents a buffer in either main RAM, an OpenCL context, or a CUDA device |
   typesafe_host_array | Helper class implementing an array on the host. Default case: No conversion necessary |
   typesafe_host_array< T, true > | Special host array type for conversion between OpenCL types and pure CPU types |
  detail | Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users |
   fft | Helper namespace for fast Fourier transforms. Not to be used directly by library users |
    FFT_DATA_ORDER | Helper namespace for fast-Fourier transformation. Deprecated |
  generator | Provides an OpenCL kernel generator |
   autotune | Provides the implementation for tuning the kernels for a particular device |
    tuning_param | Class for a tuning parameter |
    tuning_config | Tuning configuration |
   detail | Contains implementation details of the kernel generator |
    traversal_functor | Base functor class for traversing a statement |
    prototype_generation_traversal | Functor for generating the prototype of a statement |
    fetch_traversal | Functor for fetching the elements of a statement |
    expression_generation_traversal | Functor for generating the expression string from a statement |
    map_functor | Functor to map the statements to the types defined in mapped_objects.hpp |
    mapped_object | Base class for mapping viennacl datastructure to generator-friendly structures |
    mapped_binary_leaf | Base class for mapping binary leaves (inner product-based, matrix vector product-base, matrix-matrix product based...) |
    mapped_matrix_product | Mapping of a matrix product |
    mapped_reduction | Base class for mapping a reduction |
    mapped_scalar_reduction | Mapping of a scalar reduction (based on inner product) |
    mapped_vector_reduction | Mapping of a vector reduction (based on matrix-vector product) |
    mapped_host_scalar | Mapping of a host scalar to a generator class |
    mapped_handle | Base class for datastructures passed by pointer |
    mapped_scalar | Mapping of a scalar to a generator class |
    mapped_buffer | Base class for mapping buffer-based objects to a generator class |
    mapped_vector | Mapping of a vector to a generator class |
    mapped_matrix | Mapping of a matrix to a generator class |
    mapped_implicit_vector | Mapping of a implicit vector to a generator class |
    mapped_implicit_matrix | Mapping of a implicit matrix to a generator class |
    set_arguments_functor | Helper class for setting the arguments of a kernel |
    statement_representation_functor | Helper class for the OpenCL kernel generator, representing a statement |
   profiles | Namespace holding the various device-specific parameters for generating the best kernels |
    map_wrapper | Helper struct for mapping a std::map<KeyType, ValueType>. Used to avoids type length explosion when using nested std::map directly |
    expression_map | Represents expression->profile in the map hierarchy vendor->device_type->device_arch->device->expression->profile |
    device_name_map | Represents device->expression in the map hierarchy vendor->device_type->device_arch->device->expression->profile |
    device_architecture_map | Represents device_arch->device in the map hierarchy vendor->device_type->device_arch->device->expression->profile |
    device_type_map | Represents device_type->device_arch in the map hierarchy vendor->device_type->device_arch->device->expression->profile |
    database_type | Represents vendor->device_type in the map hierarchy vendor->device_type->device_arch->device->expression->profile |
   utils | Contains various helper routines for kernel generation |
    scalartype_size_fun | Functor for returning the size of the underlying scalar type in bytes |
    internal_size_fun | Functor for returning the internal size of a vector |
    handle_fun | Functor for obtaining the OpenCL handle from ViennaCL objects (vector, matrix, etc.) |
    internal_size1_fun | Functor for obtaining the internal number of rows of a ViennaCL matrix |
    internal_size2_fun | Functor for obtaining the internal number of columns of a ViennaCL matrix |
    is_same_type | Helper metafunction for checking whether two types are the same |
    type_to_string | Helper struct for converting a numerical type to its string representation |
    first_letter_of_type | Helper struct for obtaining the first letter of a type. Used internally by the generator only |
    kernel_generation_stream | A stream class where the kernel sources are streamed to. Takes care of indentation of the sources |
   expression_descriptor | A class for holding meta information such as the type or the underlying scalar type of an expression (such as x = inner_prod(y, z)) |
   code_generator | Class for handling code generation |
   matrix_product | Kernel generation class for matrix-matrix products |
   profile_base | Base class for an operation profile |
   vector_saxpy | OpenCL kernel generation class for vector expressions of AXPY type, i.e. x = alpha * y + beta * z, where the number of summands can in principle be arbitrarily large |
   matrix_saxpy | OpenCL kernel generation class for matrix expressions of AXPY type, i.e. A = alpha * B + beta * C, where the number of summands can in principle be arbitrarily large |
   scalar_reduction | OpenCL kernel generation template for scalar reduction operations such as s = norm_2(x) |
   vector_reduction | OpenCL kernel template for reductions resulting in a vector. Example: Computing the row norms of a matrix concurrently |
  io | Provides basic input-output functionality |
   detail | Implementation details for IO functionality. Usually not of interest for a library user |
   tag | Namespace holding the various XML tag definitions for the kernel parameter tuning facility |
   val | Namespace holding the various XML strings for the kernel parameter tuning facility |
  linalg | Provides all linear algebra operations which are not covered by operator overloads |
   cuda | Holds all CUDA compute kernels used by ViennaCL |
    detail | Helper functions for the CUDA linear algebra backend |
    mat_mult_matrix_index | Helper struct for accessing an element of a row- or column-major matrix |
   detail | Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user |
    amg | Implementation namespace for algebraic multigrid preconditioner |
     amg_tag | A tag for algebraic multigrid (AMG). Used to transport information from the user to the implementation |
     amg_nonzero_scalar | A class for a scalar that can be written to the sparse matrix or sparse vector datatypes |
     amg_sparsevector_iterator | Defines an iterator for the sparse vector type |
     amg_sparsevector | A class for the sparse vector type |
     amg_sparsematrix | A class for the sparse matrix type. Uses vector of maps as data structure for higher performance and lower memory usage. Uses similar interface as ublas::compressed_matrix. Can deal with transposed of matrix internally: Creation, Storage, Iterators, etc |
     amg_point | A class for the AMG points. Saves point index and influence measure Holds information whether point is undecided, C or F point. Holds lists of points that are influenced by or influencing this point |
     classcomp | Comparison class for the sorted set of points in amg_pointvector. Set is sorted by influence measure from lower to higher with the point-index as tie-breaker |
     amg_pointvector | A class for the AMG points. Holds pointers of type amg_point in a vector that can be accessed using [point-index]. Additional list of pointers sorted by influence number and index to improve coarsening performance (see amg_coarse_classic_onepass() in amg_coarse.hpp) Constructs indices for C points on the coarse level, needed for interpolation |
     amg_slicing | A class for the matrix slicing for parallel coarsening schemes (RS0/RS3) |
    spai | Implementation namespace for sparse approximate inverse preconditioner |
     block_matrix | Represents a contigious matrices on GPU |
     block_vector | Represents a contigious vector on GPU |
     fspai_tag | A tag for FSPAI. Experimental. Contains values for the algorithm. Must be passed to spai_precond constructor |
     CompareSecond | Helper functor for comparing std::pair<> based on the second member |
     spai_tag | A tag for SPAI Contains values for the algorithm. Must be passed to spai_precond constructor |
     sparse_vector | Represents sparse vector based on std::map<unsigned int, ScalarType> |
    ilu_vector_range | Helper range class for representing a subvector of a larger buffer |
    op_applier | Worker class for decomposing expression templates |
    op_executor | Worker class for decomposing expression templates |
    FastMatrix | Internal helper class representing a row-major dense matrix used for the QR method for the purpose of computing eigenvalues |
   host_based | Holds all compute kernels with conventional host-based execution (buffers in CPU RAM) |
    detail | Helper functions for the host-based linear algebra backend |
     vector_array_wrapper | Helper class for accessing a strided subvector of a larger vector |
     majority_struct_for_orientation | Returns the row_major or column_major class of a dense matrix based on the majority-tag (layout-tag) provided |
     matrix_array_wrapper | Helper array for accessing a strided submatrix embedded in a larger matrix |
   kernels | Namespace containing the OpenCL kernels. Deprecated, will be moved to viennacl::linalg::opencl in future releases |
   opencl | Holds all routines providing OpenCL linear algebra operations |
    detail | Helper functions for OpenCL-accelerated linear algebra operations |
    kernels | Contains the OpenCL kernel generation functions for a predefined set of functionality |
     detail | Implementation details for the predefined OpenCL kernels |
     compressed_compressed_matrix | Main kernel class for generating OpenCL kernels for compressed_compressed_matrix |
     compressed_matrix | Main kernel class for generating OpenCL kernels for compressed_matrix |
     coordinate_matrix | Main kernel class for generating OpenCL kernels for coordinate_matrix |
     ell_matrix | Main kernel class for generating OpenCL kernels for ell_matrix |
     fft | Main kernel class for generating OpenCL kernels for the fast Fourier transform |
     hyb_matrix | Main kernel class for generating OpenCL kernels for hyb_matrix |
     ilu | Main kernel class for generating OpenCL kernels for incomplete LU factorization preconditioners |
     ambm_config | Configuration struct for generating OpenCL kernels for linear combinations of matrices |
     matrix | Main kernel class for generating OpenCL kernels for operations on/with dense matrix objects of type viennacl::matrix<> |
     matrix_element | Main kernel class for generating OpenCL kernels for elementwise-operations such as element_sin() on/with dense matrix objects of type viennacl::matrix<> |
     matrix_prod | Main kernel class for the generation of matrix-matrix product kernels C = A * B |
     matrix_solve | Main kernel class for the generation of matrix solve kernels |
     nmf | Main kernel class for generating OpenCL kernels for nonnegative matrix factorization of a dense matrices |
     asbs_config | Configuration struct for generating OpenCL kernels for linear combinations of viennacl::scalar<> objects |
     scalar | Main kernel class for generating OpenCL kernels for operations involving viennacl::scalar<>, but not viennacl::vector<> or viennacl::matrix<> |
     spai | Main kernel class for generating OpenCL kernels for the sparse approximate inverse preconditioners |
     svd | Main kernel class for generating OpenCL kernels for singular value decomposition of dense matrices |
     avbv_config | Configuration struct for generating OpenCL kernels for linear combinations of vectors |
     vector | Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction |
     vector_multi_inner_prod | Main kernel class for generating OpenCL kernels for multiple inner products on/with viennacl::vector<> |
     vector_element | Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<> |
   lower_tag | A tag class representing a lower triangular matrix |
   upper_tag | A tag class representing an upper triangular matrix |
   unit_lower_tag | A tag class representing a lower triangular matrix with unit diagonal |
   unit_upper_tag | A tag class representing an upper triangular matrix with unit diagonal |
   no_precond | A tag class representing the use of no preconditioner |
   amg_precond | AMG preconditioner class, can be supplied to solve()-routines |
   amg_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > > | AMG preconditioner class, can be supplied to solve()-routines |
   bicgstab_tag | A tag for the stabilized Bi-conjugate gradient solver. Used for supplying solver parameters and for dispatching the solve() function |
   cg_tag | A tag for the conjugate gradient Used for supplying solver parameters and for dispatching the solve() function |
   block_ilu_precond | A block ILU preconditioner class, can be supplied to solve()-routines |
   block_ilu_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT >, ILUTag > | ILUT preconditioner class, can be supplied to solve()-routines |
   ilu0_tag | A tag for incomplete LU factorization with static pattern (ILU0) |
   ilu0_precond | ILU0 preconditioner class, can be supplied to solve()-routines |
   ilu0_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > > | ILU0 preconditioner class, can be supplied to solve()-routines |
   ilut_tag | A tag for incomplete LU factorization with threshold (ILUT) |
   ilut_precond | ILUT preconditioner class, can be supplied to solve()-routines |
   ilut_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > > | ILUT preconditioner class, can be supplied to solve()-routines |
   gmres_tag | A tag for the solver GMRES. Used for supplying solver parameters and for dispatching the solve() function |
   ichol0_tag | A tag for incomplete Cholesky factorization with static pattern (ILU0) |
   ichol0_precond | Incomplete Cholesky preconditioner class with static pattern (ICHOL0), can be supplied to solve()-routines |
   ichol0_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > > | ILU0 preconditioner class, can be supplied to solve()-routines |
   jacobi_tag | A tag for a jacobi preconditioner |
   jacobi_precond | Jacobi preconditioner class, can be supplied to solve()-routines. Generic version for non-ViennaCL matrices |
   jacobi_precond< MatrixType, true > | Jacobi preconditioner class, can be supplied to solve()-routines |
   lanczos_tag | A tag for the lanczos algorithm |
   mixed_precision_cg_tag | A tag for the conjugate gradient Used for supplying solver parameters and for dispatching the solve() function |
   nmf_config | Configuration class for the nonnegative-matrix-factorization algorithm. Specify tolerances, maximum iteration counts, etc., here |
   power_iter_tag | A tag for the power iteration algorithm |
   row_scaling_tag | A tag for a row scaling preconditioner which merely normalizes the equation system such that each row of the system matrix has unit norm |
   row_scaling | Jacobi-type preconditioner class, can be supplied to solve()-routines. This is a diagonal preconditioner with the diagonal entries being (configurable) row norms of the matrix |
   row_scaling< MatrixType, true > | Jacobi preconditioner class, can be supplied to solve()-routines |
   spai_precond | Implementation of the SParse Approximate Inverse Algorithm for a generic, uBLAS-compatible matrix type |
   spai_precond< viennacl::compressed_matrix< ScalarType, MAT_ALIGNMENT > > | Implementation of the SParse Approximate Inverse Algorithm for a ViennaCL compressed_matrix |
   fspai_precond | Implementation of the Factored SParse Approximate Inverse Algorithm for a generic, uBLAS-compatible matrix type |
   fspai_precond< viennacl::compressed_matrix< ScalarType, MAT_ALIGNMENT > > | Implementation of the Factored SParse Approximate Inverse Algorithm for a ViennaCL compressed_matrix |
  ocl | OpenCL backend. Manages platforms, contexts, buffers, kernels, etc |
   detail | Implementation details for the OpenCL managment layer in ViennaCL |
    info | Helper class for obtaining informations from the OpenCL backend. Deprecated! |
   backend | A backend that provides contexts for ViennaCL objects (vector, matrix, etc.) |
   command_queue | A class representing a command queue |
   context | Manages an OpenCL context and provides the respective convenience functions for creating buffers, etc |
   device | A class representing a compute device (e.g. a GPU) |
   device_not_found | Exception thrown in the case that a requested compute device was not found |
   device_not_available | Exception thrown if the selected compute device is not available (maybe locked by another process) |
   compiler_not_available | Exception thrown if the OpenCL just-in-time compiler is not available |
   mem_object_allocation_failure | Exception thrown if a memory object cannot be allocated. Usually the requested memory buffer is simply too large |
   out_of_resources | Exception thrown if the compute device is out of resources (either global memory, registers, etc.) for the requested operation |
   out_of_host_memory | Exception thrown if the host cannot provide enough memory for the datastructures in the OpenCL backend (temporary arrays, etc.) to perform the requested operation |
   profiling_info_not_available | Exception thrown if the OpenCL context does not have CL_QUEUE_PROFILING_ENABLE set, if the execution is not complete, or the event object is a user event object |
   mem_copy_overlap | Exception thrown if the source buffer overlaps the destination buffer when copying from device memory to device memory |
   image_format_mismatch | Exception thrown if there is a mismatch in image formats for the operands |
   image_format_not_supported | Exception thrown if the requested image format is not supported |
   build_program_failure | Exception thrown if the OpenCL program cannot be built, usually due to a syntax error in the OpenCL code |
   map_failure | Exception thrown if the mapping of device memory to the host memory space failed |
   invalid_value | Exception thrown is an invalid value is provided to an OpenCL function |
   invalid_device_type | Exception thrown if an invalid device type is specified |
   invalid_platform | Exception thrown if an invalid OpenCL platform is provided to an OpenCL function |
   invalid_device | Exception thrown if an invalid OpenCL device is provided to an OpenCL function |
   invalid_context | Exception thrown if an invalid OpenCL context is provided to an OpenCL function |
   invalid_queue_properties | Exception thrown if invalid OpenCL command queue properties are provided when creating a command queue |
   invalid_command_queue | Exception thrown if an invalid OpenCL command queue is provided to an OpenCL function |
   invalid_host_ptr | Exception thrown if the provided pointer to host memory is invalid |
   invalid_mem_object | Exception thrown if an invalid OpenCL memory object (of type cl_mem) is passed to an OpenCL funciton |
   invalid_image_format_descriptor | Exception thrown if an invalid image format descriptor is provided |
   invalid_image_size | Exception thrown if the image size provided is invalid (e.g. zero) |
   invalid_sampler | Exception thrown if an invalid sampler is provided for an image |
   invalid_binary | Exception thrown if the OpenCL binary (generated from the jit-compiler or loaded from some other location) won't work on the device (e.g. due to a lack of double precision support) |
   invalid_build_options | Exception thrown if invalid build options are passed to the OpenCL just-in-time compiler |
   invalid_program | Exception thrown if an OpenCL program object handle is invalid (e.g. not initialized) |
   invalid_program_executable | Exception thrown if there is no built program exectuable available for the device |
   invalid_kernel_name | Exception thrown if the provided kernel name is invalid (e.g. not part of the program provided) |
   invalid_kernel_definition | Exception thrown if the kernel definition (number of arguments, argument types, etc.) is not the same for all devices for which the program has been built |
   invalid_kernel | Exception thrown if the provided kernel object (of type cl_kernel) is invalid (e.g. not initialized, from different context, or corrupted) |
   invalid_arg_index | Exception thrown if the kernel argument index is invalid, e.g. an arg index larger than the number of kernel arguments was provided |
   invalid_arg_value | Exception thrown if the kernel argument provided has an invalid value |
   invalid_arg_size | Exception thrown if the arguments to an OpenCL kernel have an invalid size e.g. not sizeof(cl_mem)) |
   invalid_kernel_args | Exception thrown if the kernel arguments are invalid and/or do not fit the kernel parameter list |
   invalid_work_dimension | Exception thrown if the work dimension is invalid (usually this means that the work dimension was set to be larger than three |
   invalid_work_group_size | Exception thrown if the number of work groups is invalid (usually this means that more than 256/512/768/1024 work groups have been specified, but the device(s) cannot support this |
   invalid_work_item_size | Exception thrown if the number of work items per work group invalid (usually this means that more than 256/512/768/1024 work items have been specified, but the device(s) cannot support this |
   invalid_global_offset | Exception thrown if the provided offset for get_global_id() in OpenCL kernels is invalid |
   invalid_event_wait_list | Exception thrown if the provided event wait list is invalid |
   invalid_event | Exception thrown if the provided event object (of type cl_event) is invalid |
   invalid_operation | Exception thrown if interoperability of OpenCL with other frameworks collide |
   invalid_gl_object | Exception thrown if the provided OpenGL (not OpenCL) object is invalid |
   invalid_buffer_size | Exception thrown if the provided buffer size is invalid (e.g. zero) |
   invalid_mip_level | Exception thrown if the provided miplevel is greater than zero, but the OpenGL implementation does not support creating from non-zero mipmap levels |
   invalid_global_work_size | Exception thrown if the total number of work items is invalid (for example, not divisible by the number of work items per work group) |
   invalid_property | Exception thrown if an invalid property is provided to a function (vague value) |
   unknown_error | Exception thrown if the returned error cannot be resolved to some defined error constant. Might result from invalid sources, invalid memory operations, etc |
   double_precision_not_provided_error | Exception thrown if the user wants to use double precision arithmetics, but the device does not support double precision |
   error_checker | An error reporting class. Template argument is used to avoid problems with external linkage |
   gpu_tag | A tag identifying OpenCL devices as GPUs |
   cpu_tag | A tag identifying OpenCL devices as CPUs |
   accelerator_tag | A tag identifying OpenCL devices as accelerators (e.g. Intel Xeon Phi) |
   default_tag | A tag denoting the default OpenCL device type (SDK-specific) |
   handle | Handle class the effectively represents a smart pointer for OpenCL handles |
   handle_inc_dec_helper | Helper for OpenCL reference counting used by class handle |
   packed_cl_uint | Helper class for packing four cl_uint numbers into a uint4 type for access inside an OpenCL kernel |
   kernel | Represents an OpenCL kernel within ViennaCL |
   local_mem | A class representing local (shared) OpenCL memory. Typically used as kernel argument |
   platform | Wrapper class for an OpenCL platform |
   program | Wrapper class for an OpenCL program |
   DOUBLE_PRECISION_CHECKER | Ensures that double precision types are only allocated if it is supported by the device. If double precision is requested for a device not capable of providing that, a double_precision_not_provided_error is thrown |
   type_to_string | Helper class for converting a type to its string representation |
  result_of | Namespace containing many meta-functions |
   alignment | Retrieves the alignment from a vector. Deprecated - will be replaced by a pure runtime facility in the future |
   orientation_functor | Returns the orientation functor tag (either row_major or column_major) of a matrix |
   size_type | Generic meta-function for retrieving the size_type associated with type T |
   value_type | Generic helper function for retrieving the value_type associated with type T |
   cpu_value_type | Helper meta function for retrieving the main RAM-based value type. Particularly important to obtain T from viennacl::scalar<T> in a generic way |
   cl_type | Metafunction for deducing the OpenCL type for a numeric type, e.g. float -> cl_float |
  scheduler | Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel |
   detail | Implementation details for the scheduler |
   result_of | Helper metafunctions used for the scheduler |
    op_type_info | Helper metafunction for obtaining the operation ID as well as the operation family for unary and binary operations on vectors and matrices |
    numeric_type_id | Helper metafunction for obtaining the runtime type ID for a numerical type |
    layout_type_id | Helper metafunction for obtaining the memory layout (row-/column-major) for a matrix |
    num_nodes | Helper metafunction for obtaining the number of nodes of an expression template tree |
   statement_not_supported_exception | Exception for the case the scheduler is unable to deal with the operation |
   lhs_rhs_element | A class representing the 'data' for the LHS or RHS operand of the respective node |
   op_element | Struct for holding the type family as well as the type of an operation (could be addition, subtraction, norm, etc.) |
   statement_node | Main datastructure for an node in the statement tree |
   statement | The main class for representing a statement such as x = inner_prod(y,z); at runtime |
  tools | Namespace for various tools used within ViennaCL |
   detail | Contains implementation details for the tools. Usually not of interest for the library user |
    count | Reference counting class for the shared_ptr implementation |
    aux | Interface for the reference counter inside the shared_ptr |
    auximpl | Implementation helper for the reference counting mechanism inside shared_ptr |
    default_deleter | Default deleter class for a pointer. The default is to just call 'delete' on the pointer. Provide your own implementations for 'delete[]' and 'free' |
   MATRIX_ITERATOR_INCREMENTER | Helper class for incrementing an iterator in a dense matrix |
   const_sparse_matrix_adapted_iterator | A const iterator for sparse matrices of type std::vector<std::map<SizeType, SCALARTYPE> > |
   const_sparse_matrix_adapter | Adapts a constant sparse matrix type made up from std::vector<std::map<SizeType, SCALARTYPE> > to basic ublas-compatibility |
   sparse_matrix_adapted_iterator | A non-const iterator for sparse matrices of type std::vector<std::map<SizeType, SCALARTYPE> > |
   sparse_matrix_adapter | Adapts a non-const sparse matrix type made up from std::vector<std::map<SizeType, SCALARTYPE> > to basic ublas-compatibility |
   MATRIX_SIZE_DEDUCER | Deduces the size of the resulting vector represented by a vector_expression from the operands |
   shared_ptr | A shared pointer class similar to boost::shared_ptr. Reimplemented in order to avoid a Boost-dependency. Will be replaced by std::shared_ptr as soon as C++11 is widely available |
   timer | Simple timer class based on gettimeofday (POSIX) or QueryPerformanceCounter (Windows) |
   CHECK_SCALAR_TEMPLATE_ARGUMENT | A guard that checks whether the floating point type of GPU types is either float or double |
   CONST_REMOVER | Removes the const qualifier from a type |
   CPU_SCALAR_TYPE_DEDUCER | Obtain the cpu scalar type from a type, including a GPU type like viennacl::scalar<T> |
  traits | Namespace providing traits-information as well as generic wrappers to common routines for vectors and matrices such as size() or clear() |
   tag_of | Generic base for wrapping other linear algebra packages |
  circulant_matrix | A Circulant matrix class |
  compressed_compressed_matrix | A sparse square matrix in compressed sparse rows format optimized for the case that only a few rows carry nonzero entries |
  compressed_matrix | A sparse square matrix in compressed sparse rows format |
  context | Represents a generic 'context' similar to an OpenCL context, but is backend-agnostic and thus also suitable for CUDA and OpenMP |
  coordinate_matrix | A sparse square matrix, where entries are stored as triplets (i,j, val), where i and j are the row and column indices and val denotes the entry |
  ell_matrix | Sparse matrix class using the ELLPACK format for storing the nonzeros |
  op_assign | A tag class representing assignment |
  op_inplace_add | A tag class representing inplace addition |
  op_inplace_sub | A tag class representing inplace subtraction |
  op_add | A tag class representing addition |
  op_sub | A tag class representing subtraction |
  op_mult | A tag class representing multiplication by a scalar |
  op_prod | A tag class representing matrix-vector products and element-wise multiplications |
  op_mat_mat_prod | A tag class representing matrix-matrix products |
  op_div | A tag class representing division |
  op_pow | A tag class representing the power function |
  op_element_binary | A tag class representing element-wise binary operations (like multiplication) on vectors or matrices |
  op_element_unary | A tag class representing element-wise unary operations (like sin()) on vectors or matrices |
  op_abs | A tag class representing the modulus function for integers |
  op_acos | A tag class representing the acos() function |
  op_asin | A tag class representing the asin() function |
  op_atan | A tag class representing the atan() function |
  op_atan2 | A tag class representing the atan2() function |
  op_ceil | A tag class representing the ceil() function |
  op_cos | A tag class representing the cos() function |
  op_cosh | A tag class representing the cosh() function |
  op_exp | A tag class representing the exp() function |
  op_fabs | A tag class representing the fabs() function |
  op_fdim | A tag class representing the fdim() function |
  op_floor | A tag class representing the floor() function |
  op_fmax | A tag class representing the fmax() function |
  op_fmin | A tag class representing the fmin() function |
  op_fmod | A tag class representing the fmod() function |
  op_log | A tag class representing the log() function |
  op_log10 | A tag class representing the log10() function |
  op_sin | A tag class representing the sin() function |
  op_sinh | A tag class representing the sinh() function |
  op_sqrt | A tag class representing the sqrt() function |
  op_tan | A tag class representing the tan() function |
  op_tanh | A tag class representing the tanh() function |
  op_matrix_diag | A tag class representing the (off-)diagonal of a matrix |
  op_vector_diag | A tag class representing a matrix given by a vector placed on a certain (off-)diagonal |
  op_row | A tag class representing the extraction of a matrix row to a vector |
  op_column | A tag class representing the extraction of a matrix column to a vector |
  op_inner_prod | A tag class representing inner products of two vectors |
  op_norm_1 | A tag class representing the 1-norm of a vector |
  op_norm_2 | A tag class representing the 2-norm of a vector |
  op_norm_inf | A tag class representing the inf-norm of a vector |
  op_norm_frobenius | A tag class representing the Frobenius-norm of a matrix |
  op_trans | A tag class representing transposed matrices |
  op_flip_sign | A tag class representing sign flips (for scalars only. Vectors and matrices use the standard multiplication by the scalar -1.0) |
  scalar | This class represents a single scalar value on the GPU and behaves mostly like a built-in scalar type like float or double |
  scalar_expression | A proxy for scalar expressions (e.g. from inner vector products) |
  entry_proxy | A proxy class for a single element of a vector or matrix. This proxy should not be noticed by end-users of the library |
  vector_expression | An expression template class that represents a binary operation that yields a vector |
  vector_iterator | A STL-type iterator for vector elements. Elements can be accessed and manipulated. VERY SLOW!! |
  const_vector_iterator | A STL-type const-iterator for vector elements. Elements can be accessed, but cannot be manipulated. VERY SLOW!! |
  implicit_vector_base | Common base class for representing vectors where the entries are not all stored explicitly |
  zero_vector | Represents a vector consisting of zeros only |
  unit_vector | Represents a vector consisting of 1 at a given index and zeros otherwise |
  one_vector | Represents a vector consisting of ones only |
  scalar_vector | Represents a vector consisting of scalars 's' only, i.e. v[i] = s for all i. To be used as an initializer for viennacl::vector, vector_range, or vector_slize only |
  vector_base | Common base class for dense vectors, vector ranges, and vector slices |
  vector | A vector class representing a linear memory sequence on the GPU. Inspired by boost::numeric::ublas::vector |
  vector_tuple | Tuple class holding pointers to multiple vectors. Mainly used as a temporary object returned from viennacl::tie() |
  row_major_tag | Tag class for indicating row-major layout of a matrix. Not passed to the matrix directly, see row_major type |
  column_major_tag | Tag class for indicating column-major layout of a matrix. Not passed to the matrix directly, see row_major type |
  row_major | A tag for row-major storage of a dense matrix |
  column_major | A tag for column-major storage of a dense matrix |
  matrix_expression | Expression template class for representing a tree of expressions which ultimately result in a matrix |
  matrix_base | A dense matrix class |
  matrix | A dense matrix class |
  implicit_matrix_base | Base class for representing matrices where the individual entries are not all stored explicitly, e.g. identity_matrix<> |
  identity_matrix | Represents a vector consisting of 1 at a given index and zeros otherwise. To be used as an initializer for viennacl::vector, vector_range, or vector_slize only |
  zero_matrix | Represents a vector consisting of zeros only. To be used as an initializer for viennacl::vector, vector_range, or vector_slize only |
  scalar_matrix | Represents a vector consisting of scalars 's' only, i.e. v[i] = s for all i. To be used as an initializer for viennacl::vector, vector_range, or vector_slize only |
  hyb_matrix | Sparse matrix class using a hybrid format composed of the ELL and CSR format for storing the nonzeros |
  hankel_matrix | A Hankel matrix class |
  toeplitz_matrix | A Toeplitz matrix class |
  vandermonde_matrix | A Vandermonde matrix class |
  basic_range | A range class that refers to an interval [start, stop), where 'start' is included, and 'stop' is excluded |
  basic_slice | A slice class that refers to an interval [start, stop), where 'start' is included, and 'stop' is excluded |
  vector_range | Class for representing non-strided subvectors of a bigger vector x |
  vector_slice | Class for representing strided subvectors of a bigger vector x |
  matrix_range | Class for representing non-strided submatrices of a bigger matrix A |
  matrix_slice | Class for representing strided submatrices of a bigger matrix A |
  is_cpu_scalar | Helper struct for checking whether a type is a host scalar type (e.g. float, double) |
  is_scalar | Helper struct for checking whether a type is a viennacl::scalar<> |
  is_flip_sign_scalar | Helper struct for checking whether a type represents a sign flip on a viennacl::scalar<> |
  is_any_scalar | Helper struct for checking whether the provided type represents a scalar (either host, from ViennaCL, or a flip-sign proxy) |
  is_any_vector | Checks for a type being either vector_base or implicit_vector_base |
  is_any_dense_matrix | Checks for either matrix_base or implicit_matrix_base |
  is_row_major | Helper class for checking whether a matrix has a row-major layout |
  is_compressed_matrix | Helper class for checking whether a matrix is a compressed_matrix (CSR format) |
  is_coordinate_matrix | Helper class for checking whether a matrix is a coordinate_matrix (COO format) |
  is_ell_matrix | Helper class for checking whether a matrix is an ell_matrix (ELL format) |
  is_hyb_matrix | Helper class for checking whether a matrix is a hyb_matrix (hybrid format: ELL plus CSR) |
  is_any_sparse_matrix | Helper class for checking whether the provided type is one of the sparse matrix types (compressed_matrix, coordinate_matrix, etc.) |
  is_circulant_matrix | Helper class for checking whether a matrix is a circulant matrix |
  is_hankel_matrix | Helper class for checking whether a matrix is a Hankel matrix |
  is_toeplitz_matrix | Helper class for checking whether a matrix is a Toeplitz matrix |
  is_vandermonde_matrix | Helper class for checking whether a matrix is a Vandermonde matrix |
  is_any_dense_structured_matrix | Helper class for checking whether the provided type is any of the dense structured matrix types (circulant, Hankel, etc.) |
  memory_exception | Exception class in case of memory errors |
  cuda_not_available_exception | |
  row_iteration | A tag indicating iteration along increasing row index of a matrix |
  col_iteration | A tag indicating iteration along increasing columns index of a matrix |
  matrix_iterator | UBLAS-like iterator class for iterating over the entries of a dense matrix |
  enable_if | Simple enable-if variant that uses the SFINAE pattern |
  is_addition | Helper metafunction for checking whether the provided type is viennacl::op_add (for addition) |
  is_subtraction | Helper metafunction for checking whether the provided type is viennacl::op_sub (for subtraction) |
  is_product | Helper metafunction for checking whether the provided type is viennacl::op_prod (for products/multiplication) |
  is_division | Helper metafunction for checking whether the provided type is viennacl::op_div (for division) |
  is_primitive_type | Helper class for checking whether a type is a primitive type |
  tag_none | A tag class for identifying 'unknown' types |
  tag_mtl4 | A tag class for identifying types from MTL4 |
  tag_eigen | A tag class for identifying types from Eigen |
  tag_ublas | A tag class for identifying types from uBLAS |
  tag_stl | A tag class for identifying types from the C++ STL |
  tag_viennacl | A tag class for identifying types from ViennaCL |
  is_mtl4 | Meta function which checks whether a tag is tag_mtl4 |
  is_eigen | Meta function which checks whether a tag is tag_eigen |
  is_ublas | Meta function which checks whether a tag is tag_ublas |
  is_stl | Meta function which checks whether a tag is tag_ublas |
  is_viennacl | Meta function which checks whether a tag is tag_viennacl |
  cuthill_mckee_tag | A tag class for selecting the Cuthill-McKee algorithm for reducing the bandwidth of a sparse matrix |
  advanced_cuthill_mckee_tag | Tag for the advanced Cuthill-McKee algorithm (i.e. running the 'standard' Cuthill-McKee algorithm for a couple of different seeds) |
  gibbs_poole_stockmeyer_tag | Tag class for identifying the Gibbs-Poole-Stockmeyer algorithm for reducing the bandwidth of a sparse matrix |
  scalar_expression< LHS, RHS, op_inner_prod > | Specialization of a scalar expression for inner products. Allows for a final reduction on the CPU |
  scalar_expression< LHS, RHS, op_norm_1 > | Specialization of a scalar expression for norm_1. Allows for a final reduction on the CPU |
  scalar_expression< LHS, RHS, op_norm_2 > | Specialization of a scalar expression for norm_2. Allows for a final reduction on the CPU |
  scalar_expression< LHS, RHS, op_norm_inf > | Specialization of a scalar expression for norm_inf. Allows for a final reduction on the CPU |
  scalar_expression< LHS, RHS, op_norm_frobenius > | Specialization of a scalar expression for norm_frobenius. Allows for a final reduction on the CPU |
  const_entry_proxy | A proxy class for a single element of a vector or matrix. This proxy should not be noticed by end-users of the library |