Logo MTL4

mtl::matrix< T, Shape, Storage, Orientation > Struct Template Reference

tparam: EltType - Valid choices for this argument include double, complex<float>, and bool. In essence, any builtin or user defined type can be used for the EltType, however, if one uses the matrix with a particular algorithm, the EltType must support the operations required by the algorithm. For MTL algorithms these typically include the usual numerical operators such as addition and multiplication. The std::complex class is a good example of what is required in a numerical type. The documentation for each algorithm will include the requirements on the element type. More...

#include <matrix.h>

List of all members.

Public Attributes

const std::size_t compressed_linear_search_limit = 10
 Maximal number of entries that is searched linearly; above this std::lower_bound is used.
const std::size_t dense_non_recursive_product_limit = 10000
 Maximal matrix size of dense matrices that is multiplied without recursion.
const std::size_t sorted_block_insertion_limit = 5
 Maximal number of columns in block that is inserted separately; above this the block is presorted (only row-major sparse matrices).


Detailed Description

template<class T, class Shape = rectangle<>, class Storage = dense<>, class Orientation = row_major>
struct mtl::matrix< T, Shape, Storage, Orientation >

tparam: EltType - Valid choices for this argument include double, complex<float>, and bool. In essence, any builtin or user defined type can be used for the EltType, however, if one uses the matrix with a particular algorithm, the EltType must support the operations required by the algorithm. For MTL algorithms these typically include the usual numerical operators such as addition and multiplication. The std::complex class is a good example of what is required in a numerical type. The documentation for each algorithm will include the requirements on the element type.

tparam: Shape - This argument specifies the general positioning of the non zero elements in the matrix, but does not specify the actual storage format. In addition it specifies certain properties such as symmetry. The choices for this argument include rectangle, banded, diagonal, triangle, and symmetric. Hermitian is not yet implemented. tparam: Storage - The argument specifies the storage scheme used to lay out the matrix elements (and sometimes the element indices) in memory. The storage formats include dense , banded, packed , banded_view, compressed, envelope, and array. tparam: Orientation - The storage order for an MTL matrix can either be row_major or column_major. category: containers, generators component: type definition: matrix.h


Member Data Documentation

template<class T, class Shape = rectangle<>, class Storage = dense<>, class Orientation = row_major>
const std::size_t mtl::matrix< T, Shape, Storage, Orientation >::compressed_linear_search_limit = 10

Maximal number of entries that is searched linearly; above this std::lower_bound is used.

Can be reset with macro or corresponding compiler flag, e.g. {-D|/D}MTL_MATRIX_COMPRESSED_LINEAR_SEARCH_LIMIT=16

template<class T, class Shape = rectangle<>, class Storage = dense<>, class Orientation = row_major>
const std::size_t mtl::matrix< T, Shape, Storage, Orientation >::dense_non_recursive_product_limit = 10000

Maximal matrix size of dense matrices that is multiplied without recursion.

Can be reset with macro or corresponding compiler flag, e.g. {-D|/D}MTL_MATRIX_DENSE_NON_RECURSIVE_PRODUCT_LIMIT=4000

template<class T, class Shape = rectangle<>, class Storage = dense<>, class Orientation = row_major>
const std::size_t mtl::matrix< T, Shape, Storage, Orientation >::sorted_block_insertion_limit = 5

Maximal number of columns in block that is inserted separately; above this the block is presorted (only row-major sparse matrices).

Can be reset with macro or corresponding compiler flag, e.g. {-D|/D}MTL_SORTED_BLOCK_INSERTION_LIMIT=8 Default is 5.


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


mtl::matrix< T, Shape, Storage, Orientation > Struct Template Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine -- Generated on 24 Aug 2009 by Doxygen 1.5.9 -- Copyright 2008-09 by TU Dresden and the Trustees of Indiana University.