The Matrix Template Library
Condensed Table of Contents
  1. Containers
    1. Concepts
    2. Type Generators
    3. Type Selectors
    4. Classes
    5. Adaptors
    6. Functions
    7. Tags
  1. Iterators
    1. Concepts
    2. Functions
    3. Classes
    4. Adaptors
  1. Algorithms
  2. Function Objects
  3. Interval Class
  4. Iterative Template Library (ITL)
  5. FAST Library
  6. BLAIS LIbrary
  7. MTL to LAPACK Interface
  8. Utilities
  9. Bibliography
  10. Categorized index
Detailed Table of Contents
1. Containers
  1. Concepts
    1. ColumnMatrix A Column-Oriented MTL Matrix
    2. DiagonalMatrix A Diagonally-Oriented Matrix
    3. Matrix The MTL Matrix Concept
    4. RowMatrix A Row-Oriented MTL Matrix
    5. TwoDStorage The MTL TwoD Storage Concept
    6. Vector The MTL Vector Concept
  2. Container type generators
    1. band_view Band View Matrix Type Constructor
    2. block_view Block View Matrix Type Constructor
    3. matrix Matrix type generators class.
    4. symmetric_view Symmetric View Matrix Type Constructor
    5. tri_view Triangle View Creation Helper Fuctor
    6. triangle_view Triangle View Matrix Type Constructor
  3. Container type selectors
    1. array Array storage type selectors
    2. banded banded shape type selectors, also banded storage type selectors
    3. banded_view Banded view storage type selectors
    4. compressed Compressed sparse storage type selectors (for both OneD and TwoD)
    5. dense Dense storage type selectors (for both TwoD and OneD storage)
    6. diagonal diagonal shape type selectors
    7. envelope Envelope storage type selectors
    8. hermitian hermitian shape type selectors
    9. linked_list Index-Value Pair Sparse Vector implemented with std::list
    10. packed Packed storage type selectors
    11. rectangle rectangle shape type selector
    12. sparse_pair Index-Value Pair Sparse Vector implemented with mtl::dense1D
    13. symmetric symmetric shape type selectors
    14. tree Index-Value Pair Sparse Vector implemented with std::set
    15. triangle triangle shape type selectors
  4. Container classes
    1. array2D Array 2-D Container
    2. compressed1D Compressed Sparse Vector
    3. dense2D Dense2D Storage Type
    4. external2D External2D Storage Type
    5. external_vec External 1-D Container
    6. generic_comp2D Compressed 2-D Container
    7. generic_dense2D Generic Dense 2-D Container
  5. Container adaptors
    1. block2D Block View TwoD Storage
    2. linalg_vec Linalg Vector Adaptor
    3. scaled1D Scaled Container
    4. scaled2D Scaled 2D container adaptor
    5. sparse1D Sparse 1-D Container Adaptor
    6. strided1D Strided Vector Adaptor
  6. Container functions
    1. scaled Shortcut for Creating a Scaled Argument
    2. strided Shortcut for Creating a Strided Argument
    3. blocked Blocked Matrix Generator
    4. blocked Blocked Matrix Generator
    5. rows Access the row-wise view of the matrix
    6. columns Access the column-wise view of the matrix
    7. trans Swap the orientation of a matrix.
  7. Container tags
    1. banded_tag Identifies banded matrices
    2. column_matrix_traits Column Matrix Traits
    3. column_tag Identifies a column-major Matrix
    4. dense_tag Identifies a dense Matrix or Vector
    5. diagonal_matrix_traits Diagonal Matrix Traits
    6. diagonal_tag Identifies diagonal matrices
    7. external_tag Identifies the Matrix as not owning its data
    8. hermitian_tag Identifies hermitian matrices
    9. internal_tag Identifies the Matrix as owning its data
    10. linalg_traits Linear Algebra Object (Matrix and Vector) Traits
    11. matrix_traits The "traits" class for MTL matrices.
    12. not_strideable Identifies matrices that can not be used with the rows and columns functions
    13. oned_tag Identifies linear algebra objects as 1D (Vector)
    14. rectangle_tag Identifies rectangular matrices
    15. row_matrix_traits Row Matrix Traits
    16. row_tag Identifies a row-major Matrix
    17. sparse_tag Identifies a sparse Matrix or Vector
    18. strideable Identifies matrices that can be used with the rows and columns functions
    19. symmetric_tag Identifies symmetric matrices
    20. triangle_tag Identifies triangular matrices
    21. twod_tag Identifies linear algebra objects as 2D (Matrix)
2. Iterators
  1. Concepts
    1. IndexedIterator IndexedIterator
  2. Iterator functions
    1. trans_iter Helper function for creating a transforming iterator
  3. Iterator classes
    1. compressed_iter Compressed Storage Iterator
  4. Iterator adaptors
    1. dense_iterator dense iterator
    2. scale_iterator scale iterator
    3. sparse_iterator Sparse Vector Iterator
    4. strided_iterator strided iterator
    5. transform_iterator Tranforming Iterator
3. Algorithms
  1. sum Sum: s <- sum_i(x(i))
  2. scale Scale: A <- alpha*A or x <- alpha x
  3. set_diagonal Set Diagonal: A(i,i) <- alpha
  4. two_norm Two Norm: s <- sqrt(sum_i(|x(i)^2|))
  5. sum_squares Sum of the Squares
  6. one_norm One Norm: s <- sum(|x_i|) or s <- max_i(sum_j(|A(i,j)|))
  7. infinity_norm Infinity Norm: s <- max_j(sum_i(|A(i,j)|)) or s <- max_i(|x(i)|)
  8. max_index Max Index: i <- index of max(|x(i)|)
  9. max_abs_index Maximum Absolute Index: i <- index of max(|x(i)|)
  10. min_index Minimum Index: i <- index of min(x(i))
  11. min_abs_index Minimum Absolute Index: i <- index of min(|x(i)|)
  12. max Max Value: s <- max(x(i))
  13. min Min Value: s <- min(x_i)
  14. transpose Transpose in Place: A <- A^T
  15. transpose Transpose: B <- A^T
  16. mult Multiplication: z <- A x + y
  17. __mult_dim Matrix Vector Multiplication: y <- A x
  18. __mult_dim Matrix multiplication C <- C + A * B
  19. tri_solve Triangular Solve: x <- T^{-1} * x
  20. tri_solve Triangular Solve: B <- A^{-1} * B or B <- B * A^{-1}
  21. rank_one_update Rank One Update: A <- A + x * y^T
  22. rank_two_update Rank Two Update: A <- A + x * y^T + y * x^T
  23. scatter Scatter y <- x
  24. gather Gather y <- x
  25. copy Copy: B <- A or y <- x
  26. add Add: z <- x + y
  27. add Add: w <- x + y + z
  28. add Add: B <- A + B or y <- x + y
  29. ele_mult Element-wise Multiplication: z <- x O* y
  30. ele_mult Element-wise Multiply: B <- A O* B
  31. ele_div Element-wise Division: z <- x O/ y
  32. swap Swap: B <-> A or y <-> x
  33. dot Dot Product: s <- x . y + s
  34. dot Dot Product: s <- x . y
  35. dot Dot Product (extended precision): s <- x . y + s
  36. dot_conj Dot Conjugate: s <- x . conj(y) + s
  37. dot_conj Dot Conjugate: s <- x . conj(y)
  38. lu_factor LU Factorization of a general (dense) matrix
  39. lu_solve LU Solve
  40. lu_inverse LU Inverse
4. Function Objects
  1. givens_rotation Givens Plane Rotation
  2. givens_rotation__2 The specialization for complex numbers.
  3. givens_rotation__3 The specialization for complex numbers.
  4. givens_rotation__4 The specialization for complex numbers.
  5. modified_givens Modified Givens Transformation
5. Interval Class
  1. Interval Object
    1. interval Interval Class
    2. numeric_limits Interval Numeric Limits
  2. Utilities
    1. isnan Is not a number
    2. empty Empty
    3. sign Sign
    4. left Left Constant Non-member Acessor
    5. right Right Constant Non-member Acessor
    6. inf Infinum Constant Non-member Acessor
    7. sup Suprenum Constant Non-member Acessor
    8. pos_half Positive Half
    9. neg_half Negative Half
    10. pred Pred (Interval)
    11. pred Pred (Tnum)
    12. succ Succ (Interval)
    13. succ Succ (Tnum)
    14. hull Hull of 2 Intervals
    15. hull Hull of an Interval and a Tnum
    16. hull Hull of a Tnum and an Interval
    17. hull Hull of 2 Tnums
    18. hull Hull of a Tnum
    19. sym_hull Symmetric Hull
    20. intersection Intersection of 2 Intervals
  3. Operators
    1. operator == Operator ==
    2. operator == Operator ==
    3. operator == Operator ==
    4. operator != Operator !=
    5. operator != Operator !=
    6. operator != Operator !=
    7. operator <= Operator <=
    8. operator <= Operator <=
    9. operator < Operator <
    10. operator < Operator <
    11. operator >= Operator >=
    12. operator >= Operator >=
    13. operator > Operator >
    14. operator > Operator >
    15. operator + Operator x+y ( x+y = [inf(x)+inf(y),sup(x)+sup(y)] )
    16. operator + Operator x+b ( x+b = [inf(x)+b,sup(x)+b] )
    17. operator + Operator a+x ( x = [inf(x)+a,sup(x)+a] )
    18. operator - Operator x-y ( x-y = [inf(x)-inf(y),sup(x)-sup(y)] )
    19. operator - Operator x-b ( x-b = [inf(x)-b,sup(x)-b] )
    20. operator - Operator a-y ( a-y = [a-inf(y),a-sup(y)] )
    21. operator & Operator &
    22. operator * Operator *
    23. operator * Operator x*y ( x*y = [inf(x)*y,sup(x)*y] )
    24. operator * Operator x*y ( x*y = [x*inf(y),y*sup(y)] )
    25. operator / Operator x/y
    26. operator / Operator x/b ( x/b = [inf(x)/b,sup(x)/b] )
    27. operator / Operator a/y
  4. Math
    1. subset interval-interval Subset Specialization
    2. subset Subset (Interval in Interval)
    3. subset Subset (Tnum in Interval)
    4. proper_subset Proper Subset (Interval in Interval)
    5. proper_subset Proper Subset (Tnum in Interval)
    6. poslte Possibly Less Than Or Equal To
    7. poslte Possibly Less Than Or Equal To
    8. poslt Possibly Less Than
    9. poslt Possibly Less Than
    10. posgte Possibly Greater Than Or Equal To
    11. posgte Possibly Greater Than Or Equal To
    12. posgt Possibly Greater Than
    13. posgt Possibly Greater Than
    14. midpoint Midpoint
    15. bisect Bisect an Interval
    16. diameter Diameter
    17. abs Absolute Value
    18. dist Distance between 2 Intervals
    19. dist Distance between a number and an Interval
    20. dist Distance between a number and an Interval
    21. sqrt Square Root ( sqrt(x) = [sqrt(inf(x)),sqrt(sup(x))] )
    22. exp Exponent ( exp(x) = [exp(inf(x),exp(sup(x))] )
    23. log Log ( log(x) = [log(inf(x)),log(sup(c))] )
    24. ln ln ( ln(x) = [ln(inf(x)),ln(sup(c))] )
    25. sqr Square
    26. tan Tangent ( tan(x) = [tan(inf(x)),tan(sup(x))] )
    27. atan ArcTan ( arctan(x) = [arctan(inf(x)),arctan(sup(x))] )
    28. sin Sine
    29. asin ArcSin ( asin(x) = [asin(inf(x)),asin(sup(x))] )
    30. acos ArcCos ( acos(x) = [acos(inf(x)),acos(sup(x))] )
    31. cos Cosine
    32. pow Power (interval^Tnum)
    33. pow Power ( pow(x,p) = [inf(x)^inf(p),sup(x)^sup(p)] )
6. Iterative Template Library (ITL)
  1. Concepts
    1. Iteration Iteration
    2. Preconditioner Preconitioner
  2. Algorithms
    1. cg Conjugate Gradient(CG)
    2. cgs Conjugate Gradient Squared
    3. bicg BiConjugate Gradient
    4. gmres Generalized Minimum Residual
    5. bicgstab BiConjugate Gradient Stabilized
    6. qmr Quasi-Minimal Residual
    7. tfqmr Transpose Free Quasi-Minimal Residual
    8. gcr Generalized Conjugate Residual
    9. cheby Chebyshev Iteration
    10. richardson Preconditioned Richardson
  3. Preconditioners
    1. ILU Incomplete LU without fill-in Preconditioner.
    2. ILUT ILUT: Incomplete LU with threshold and K fill-in Preconditioner.
    3. SSOR SSOR preconditioner.
    4. cholesky Incomplete Cholesky Preconditioner.
7. Fixed Algorithm Size Template (FAST) Library
  1. Functions
    1. copy Copy
    2. transform Transform (one input iterator)
    3. transform Transform (two input iterators)
    4. fill Fill
    5. swap_ranges Swap Ranges
    6. accumulate Accumulate (with default operation)
    7. accumulate Accumulate (with user-supplied operation)
    8. inner_product Inner Product (user supplied operators)
    9. inner_product Inner Product (with default operators)
  2. Classes
    1. count The static size count class
8. Basic Linear Algebra Instruction Set (BLAIS) Library
  1. add Add y <- x + y
  2. copy Copy y <- x
  3. copy__2 Copy B <- A
  4. dot Dot Product s <- x . y
  5. mult Multiplication y <- A x + y
  6. mult__2 Multiplication C <- A * B
  7. rank_one Rank One Update A <- A + x * y^T
  8. set Set elements of vector x to alpha
  9. set__2 Set matrix A to alpha
9. MTL to LAPACK Interface
  1. Type Generators
    1. lapack_matrix Lapack Matrix
  2. Functions
    1. gecon Estimate the reciprocal of the condition number of a general matrix.
    2. geev Compute the eigenvalues.
    3. geqpf QR Factorization with Column Pivoting.
    4. geqrf QR Factorization of a General Matrix
    5. gesv Solution to a linear system in a general matrix.
    6. getrf LU factorization of a general matrix A.
    7. getrs Solution to a system using LU factorization
    8. geequ Equilibrate and reduce condition number.
    9. gelqf Compute an LQ factorization.
    10. orglq Generate a matrix Q with orthonormal rows.
    11. orgqr Generate a matrix Q with orthonormal columns.
10. Utilities
  1. Concepts
    1. Indexer Maps from Matrix coordinates to TwoD coordinates
    2. Offset Maps from TwoD coordinates to linear memory
  2. Functions
    1. read_dense_matlab Read a Dense Real Matrix from a Matlab file (.mat)
    2. write_dense_matlab Write a Dense Real Matrix to a Matlab file (.mat)
    3. read_sparse_matlab Read a Sparse Real Matrix from a Matlab file (.mat)
    4. write_sparse_matlab Write a Sparse Real Matrix to a Matlab file (.mat)
  3. Classes
    1. banded_offset Banded Offset Class
    2. banded_view_offset Banded View Offset Class
    3. dimension The Dimension Class
    4. harwell_boeing_stream A Matrix File Input Stream for Harwell-Boeing Matrix Files
    5. matrix_market_stream A Matrix File Input Stream for Matrix Market Files
    6. packed_offset Packed Offset Class
    7. rect_offset Rectangular Offset Class
    8. strided_band_view_offset Strided Band View Offset Class
    9. strided_offset Strided Rectangular Offset Class
11. Bibliography

12. Categorized index

[MTL Home] Copyright © 1998,1999 University of Notre Dame. All Rights Reserved.