mirror of
https://github.com/boostorg/ublas.git
synced 2026-02-24 04:22:12 +00:00
More fixes.
This commit is contained in:
@@ -598,7 +598,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -416,7 +416,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1071,7 +1071,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -599,7 +599,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
646
doc/index.htm
646
doc/index.htm
@@ -1,400 +1,402 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
|
||||
<title>Boost Basic Linear Algebra</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
|
||||
<h1><img src="c++boost.gif" alt="c++boost.gif" align="Center">
|
||||
Basic Linear Algebra</h1>
|
||||
|
||||
Basic Linear Algebra</h1>
|
||||
|
||||
<p>uBLAS is a C++ template class library that provides <a href="http://www.netlib.org/blas">
|
||||
BLAS</a>
|
||||
level 1, 2, 3 functionality for dense, packed and sparse matrices. The
|
||||
design and implementation unify mathematical notation via operator overloading
|
||||
BLAS</a>
|
||||
level 1, 2, 3 functionality for dense, packed and sparse matrices. The
|
||||
design and implementation unify mathematical notation via operator overloading
|
||||
and efficient code generation via expression templates. </p>
|
||||
|
||||
|
||||
<h2>Functionality</h2>
|
||||
|
||||
<p>uBLAS provides templated C++ classes for dense, unit and sparse vectors,
|
||||
dense, identity, triangular, banded, symmetric, hermitian and sparse matrices.
|
||||
Views into vectors and matrices can be constructed via ranges or slices and
|
||||
adaptor classes. The library covers the usual basic linear algebra operations
|
||||
on vectors and matrices: reductions like different norms, addition and subtraction
|
||||
of vectors and matrices and multiplication with a scalar, inner and outer
|
||||
products of vectors, matrix vector and matrix matrix products and triangular
|
||||
solver. The glue between containers, views and expression templated operations
|
||||
is a mostly <a href="http://www.sgi.com/tech/stl">STL</a>
|
||||
conforming iterator interface.</p>
|
||||
|
||||
|
||||
<p>uBLAS provides templated C++ classes for dense, unit and sparse vectors,
|
||||
dense, identity, triangular, banded, symmetric, hermitian and sparse matrices.
|
||||
Views into vectors and matrices can be constructed via ranges or slices
|
||||
and adaptor classes. The library covers the usual basic linear algebra operations
|
||||
on vectors and matrices: reductions like different norms, addition and subtraction
|
||||
of vectors and matrices and multiplication with a scalar, inner and outer
|
||||
products of vectors, matrix vector and matrix matrix products and triangular
|
||||
solver. The glue between containers, views and expression templated operations
|
||||
is a mostly <a href="http://www.sgi.com/tech/stl">STL</a>
|
||||
conforming iterator interface.</p>
|
||||
|
||||
<p>Dense, packed and sparse matrix classes are being tested with the <a href="http://www.netlib.org/clapack">
|
||||
CLAPACK</a>
|
||||
test suite.</p>
|
||||
|
||||
CLAPACK</a>
|
||||
test suite.</p>
|
||||
|
||||
<p>Known limitations:</p>
|
||||
|
||||
|
||||
<ul type="Disc">
|
||||
<li>The implementation assumes a linear memory address model.</li>
|
||||
<li>Tuning was focussed on dense matrices.</li>
|
||||
|
||||
<li>The implementation assumes a linear memory address model.</li>
|
||||
<li>Tuning was focussed on dense matrices.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Documentation</h2>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="overview.htm">Overview</a>
|
||||
</li>
|
||||
<li><a href="expression.htm">Expression Concepts</a>
|
||||
|
||||
<li><a href="overview.htm">Overview</a>
|
||||
</li>
|
||||
<li><a href="expression.htm">Expression Concepts</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="expression.htm#scalar_expression">Scalar
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="expression.htm#vector_expression">Vector
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="expression.htm#matrix_expression">Matrix
|
||||
Expression</a>
|
||||
</li>
|
||||
|
||||
<li><a href="expression.htm#scalar_expression">Scalar
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="expression.htm#vector_expression">Vector
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="expression.htm#matrix_expression">Matrix
|
||||
Expression</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="container.htm">Container Concepts</a>
|
||||
|
||||
</li>
|
||||
<li><a href="container.htm">Container Concepts</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="container.htm#vector">Vector</a>
|
||||
</li>
|
||||
<li><a href="container.htm#matrix">Matrix</a>
|
||||
</li>
|
||||
|
||||
<li><a href="container.htm#vector">Vector</a>
|
||||
</li>
|
||||
<li><a href="container.htm#matrix">Matrix</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="iterator.htm">Iterator Concepts</a>
|
||||
|
||||
</li>
|
||||
<li><a href="iterator.htm">Iterator Concepts</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="iterator.htm#indexed_bidirectional_iterator">Indexed
|
||||
Bidirectional Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_random_access_iterator">Indexed
|
||||
Random Access Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_bidirectional_cr_iterator">
|
||||
Indexed Bidirectional Column/Row Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_random_access_cr_iterator">
|
||||
Indexed Random Access Column/Row Iterator</a>
|
||||
</li>
|
||||
|
||||
<li><a href="iterator.htm#indexed_bidirectional_iterator">
|
||||
Indexed Bidirectional Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_random_access_iterator">
|
||||
Indexed Random Access Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_bidirectional_cr_iterator">
|
||||
Indexed Bidirectional Column/Row Iterator</a>
|
||||
</li>
|
||||
<li><a href="iterator.htm#indexed_random_access_cr_iterator">
|
||||
Indexed Random Access Column/Row Iterator</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="storage.htm">Storage</a>
|
||||
|
||||
</li>
|
||||
<li><a href="storage.htm">Storage</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="storage.htm#unbounded_array">Unbounded
|
||||
Array</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#bounded_array">Bounded Array</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#range">Range</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#slice">Slice</a>
|
||||
</li>
|
||||
|
||||
<li><a href="storage.htm#unbounded_array">Unbounded
|
||||
Array</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#bounded_array">Bounded Array</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#range">Range</a>
|
||||
</li>
|
||||
<li><a href="storage.htm#slice">Slice</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="storage_sparse.htm">Sparse Storage</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="storage_sparse.htm#map_array">Map Array</a>
|
||||
</li>
|
||||
|
||||
<li><a href="storage_sparse.htm">Sparse Storage</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="storage_sparse.htm#map_array">Map Array</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="vector.htm">Vector</a>
|
||||
|
||||
</li>
|
||||
<li><a href="vector.htm">Vector</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="vector.htm#vector">Vector</a>
|
||||
</li>
|
||||
<li><a href="vector.htm#unit_vector">Unit Vector</a>
|
||||
</li>
|
||||
<li><a href="vector.htm#zero_vector">Zero Vector</a>
|
||||
</li>
|
||||
|
||||
<li><a href="vector.htm#vector">Vector</a>
|
||||
</li>
|
||||
<li><a href="vector.htm#unit_vector">Unit Vector</a>
|
||||
</li>
|
||||
<li><a href="vector.htm#zero_vector">Zero Vector</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="vector_sparse.htm">Sparse Vector</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="vector_sparse.htm#sparse_vector">Sparse
|
||||
Vector</a>
|
||||
</li>
|
||||
<li><a href="vector_sparse.htm#compressed_vector">Compressed
|
||||
<li><a href="vector_sparse.htm">Sparse Vector</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="vector_sparse.htm#sparse_vector">Sparse
|
||||
Vector</a>
|
||||
</li>
|
||||
<li><a href="vector_sparse.htm#compressed_vector">Compressed
|
||||
Vector</a>
|
||||
</li>
|
||||
<li><a href="vector_sparse.htm#coordinate_vector">Coordinate
|
||||
</li>
|
||||
<li><a href="vector_sparse.htm#coordinate_vector">Coordinate
|
||||
Vector</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="vector_proxy.htm">Vector Proxies</a>
|
||||
|
||||
</li>
|
||||
<li><a href="vector_proxy.htm">Vector Proxies</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="vector_proxy.htm#vector_range">Vector
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="vector_proxy.htm#vector_slice">Vector
|
||||
Slice</a>
|
||||
</li>
|
||||
|
||||
<li><a href="vector_proxy.htm#vector_range">Vector
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="vector_proxy.htm#vector_slice">Vector
|
||||
Slice</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="vector_expression.htm">Vector Expressions</a>
|
||||
|
||||
</li>
|
||||
<li><a href="vector_expression.htm">Vector Expressions</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="vector_expression.htm#vector_expression">Vector
|
||||
<li><a href="vector_expression.htm#vector_expression">Vector
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_references">Vector
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_references">Vector
|
||||
References</a>
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_operations">Vector
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_operations">Vector
|
||||
Operations</a>
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_reductions">Vector
|
||||
</li>
|
||||
<li><a href="vector_expression.htm#vector_reductions">Vector
|
||||
Reductions</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="matrix.htm">Matrix</a>
|
||||
|
||||
</li>
|
||||
<li><a href="matrix.htm">Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="matrix.htm#matrix">Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix.htm#identity_matrix">Identity
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix.htm#zero_matrix">Zero Matrix</a>
|
||||
</li>
|
||||
|
||||
<li><a href="matrix.htm#matrix">Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix.htm#identity_matrix">Identity
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix.htm#zero_matrix">Zero Matrix</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="triangular.htm">Triangular Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="triangular.htm#triangular_matrix">Triangular
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="triangular.htm#triangular_adaptor">Triangular
|
||||
<li><a href="triangular.htm">Triangular Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="triangular.htm#triangular_matrix">Triangular
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="triangular.htm#triangular_adaptor">Triangular
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="symmetric.htm">Symmetric Matrix</a>
|
||||
|
||||
</li>
|
||||
<li><a href="symmetric.htm">Symmetric Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="symmetric.htm#symmetric_matrix">Symmetric
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="symmetric.htm#symmetric_adaptor">Symmetric
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
<li><a href="symmetric.htm#symmetric_matrix">Symmetric
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="symmetric.htm#symmetric_adaptor">Symmetric
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="hermitian.htm">Hermitian Matrix</a>
|
||||
|
||||
</li>
|
||||
<li><a href="hermitian.htm">Hermitian Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="hermitian.htm#hermitian_matrix">Hermitian
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="hermitian.htm#hermitian_adaptor">Hermitian
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
<li><a href="hermitian.htm#hermitian_matrix">Hermitian
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="hermitian.htm#hermitian_adaptor">Hermitian
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="banded.htm">Banded Matrix</a>
|
||||
|
||||
</li>
|
||||
<li><a href="banded.htm">Banded Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="banded.htm#banded_matrix">Banded Matrix</a>
|
||||
</li>
|
||||
<li><a href="banded.htm#banded_adaptor">Banded
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
<li><a href="banded.htm#banded_matrix">Banded Matrix</a>
|
||||
</li>
|
||||
<li><a href="banded.htm#banded_adaptor">Banded
|
||||
Adaptor</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="matrix_sparse.htm">Sparse Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="matrix_sparse.htm#sparse_matrix">Sparse
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix_sparse.htm#compressed_matrix">Compressed
|
||||
<li><a href="matrix_sparse.htm">Sparse Matrix</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="matrix_sparse.htm#sparse_matrix">Sparse
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix_sparse.htm#compressed_matrix">Compressed
|
||||
Matrix</a>
|
||||
</li>
|
||||
<li><a href="matrix_sparse.htm#coordinate_matrix">Coordinate
|
||||
</li>
|
||||
<li><a href="matrix_sparse.htm#coordinate_matrix">Coordinate
|
||||
Matrix</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm">Matrix Proxies</a>
|
||||
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm">Matrix Proxies</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="matrix_proxy.htm#matrix_row">Matrix Row</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_column">Matrix
|
||||
Column</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#vector_range">Vector
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#vector_slice">Vector
|
||||
Slice</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_range">Matrix
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_slice">Matrix
|
||||
Slice</a>
|
||||
</li>
|
||||
|
||||
<li><a href="matrix_proxy.htm#matrix_row">Matrix Row</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_column">Matrix
|
||||
Column</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#vector_range">Vector
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#vector_slice">Vector
|
||||
Slice</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_range">Matrix
|
||||
Range</a>
|
||||
</li>
|
||||
<li><a href="matrix_proxy.htm#matrix_slice">Matrix
|
||||
Slice</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm">Matrix Expressions</a>
|
||||
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm">Matrix Expressions</a>
|
||||
|
||||
<ul type="Circle">
|
||||
<li><a href="matrix_expression.htm#matrix_expression">Matrix
|
||||
<li><a href="matrix_expression.htm#matrix_expression">Matrix
|
||||
Expression</a>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_references">Matrix
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_references">Matrix
|
||||
References</a>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_operations">Matrix
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_operations">Matrix
|
||||
Operations</a>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_vector_operations">
|
||||
Matrix Vector Operations</a>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_matrix_operations">
|
||||
Matrix Matrix Operations</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_vector_operations">
|
||||
Matrix Vector Operations</a>
|
||||
</li>
|
||||
<li><a href="matrix_expression.htm#matrix_matrix_operations">
|
||||
Matrix Matrix Operations</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Supported Platforms</h2>
|
||||
|
||||
<p>As main development platform for uBLAS we used MSVC 6.0 with Dinkumware
|
||||
STL. Other compilers known to accept the library are</p>
|
||||
|
||||
|
||||
<p>As main development platform for uBLAS we used MSVC 6.0 with Dinkumware
|
||||
STL. Other compilers known to accept the library are</p>
|
||||
|
||||
<ul>
|
||||
<li>MSVC 6.0 with STLPort-4.5.3</li>
|
||||
<li>BCC 5.5</li>
|
||||
<li>GCC 2.95.x, 3.0.x, 3.1</li>
|
||||
<li>ICC 5.0, 6.0</li>
|
||||
<li>Comeau 4.2.x</li>
|
||||
<li>MWCW</li>
|
||||
|
||||
<li>MSVC 6.0 with STLPort-4.5.3</li>
|
||||
<li>BCC 5.5</li>
|
||||
<li>GCC 2.95.x, 3.0.x, 3.1</li>
|
||||
<li>ICC 5.0, 6.0</li>
|
||||
<li>Comeau 4.2.x</li>
|
||||
<li>MWCW</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Download</h2>
|
||||
|
||||
|
||||
<p>You can download the current stable release of the source code from <a href="http://www.genesys-e.org/ublas/downloads/ublas.zip">
|
||||
here</a>
|
||||
. Prerequisite is the latest stable release of the <a href="http://www.boost.org">
|
||||
Boost</a>
|
||||
libraries Configuration, Timer and optionally SmartPointer.</p>
|
||||
|
||||
here</a>
|
||||
. Prerequisite is the latest stable release of the <a href="http://www.boost.org">
|
||||
Boost</a>
|
||||
libraries Configuration, Timer and optionally SmartPointer.</p>
|
||||
|
||||
<h2>CVS Access</h2>
|
||||
|
||||
<p>You can also check out the latest version via anonymous CVS. Here's how:
|
||||
</p>
|
||||
|
||||
<pre> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost login<br> (password is empty)<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/boost/numeric/ublas<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/libs/numeric/ublas</pre>
|
||||
|
||||
<p>If you have gzip installed on your system, you can speed up the transfer
|
||||
using</p>
|
||||
|
||||
<pre> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/boost/numeric/ublas<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/libs/numeric/ublas</pre>
|
||||
|
||||
<p>You can also <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost">
|
||||
view</a>
|
||||
the CVS archive. You may find the library <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/boost/numeric/ublas/">
|
||||
here</a>
|
||||
. Documentation and test programs reside <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/libs/numeric/ublas/">
|
||||
here</a>
|
||||
.</p>
|
||||
|
||||
<h2>Mailing lists</h2>
|
||||
|
||||
<p>uBLAS has no dedicated mailing list. Feel free to use the mailing lists
|
||||
of <a href="http://www.boost.org">Boost</a>
|
||||
.</p>
|
||||
|
||||
<h2>Authors and Credits</h2>
|
||||
|
||||
<p>uBLAS initially was written by Joerg Walter and Mathias Koch. We would
|
||||
like to thank all, which supported the development of this library: David
|
||||
Abrahams, Ed Brey, Fernando Cacciola, Beman Dawes, Bob Fletcher, Kresimir
|
||||
Fresl, Joachim Kessel, Toon Knapen, John Maddock, Jens Maurer, Alexei Novakov,
|
||||
Gary Powell, Joachim Pyras, Peter Schmitteckert, Jeremy Siek, Markus Steffl,
|
||||
Michael Stevens, Benedikt Weber, Martin Weiser, Marc Zimmermann and the members
|
||||
of <a href="http://www.boost.org">Boost</a>
|
||||
|
||||
<p>You can also check out the latest version via anonymous CVS. Here's how:
|
||||
</p>
|
||||
|
||||
|
||||
<pre> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost login<br> (password is empty)<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/boost/numeric/ublas<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost checkout boost/libs/numeric/ublas</pre>
|
||||
|
||||
<p>If you have gzip installed on your system, you can speed up the transfer
|
||||
using</p>
|
||||
|
||||
<pre> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/boost/numeric/ublas<br> cvs -d:pserver:anonymous@cvs.boost.sourceforge.net:/cvsroot/boost -z9 checkout boost/libs/numeric/ublas</pre>
|
||||
|
||||
<p>You can also <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost">
|
||||
view</a>
|
||||
the CVS archive. You may find the library <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/boost/numeric/ublas/">
|
||||
here</a>
|
||||
. Documentation and test programs reside <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/libs/numeric/ublas/">
|
||||
here</a>
|
||||
.</p>
|
||||
|
||||
<h2>Mailing lists</h2>
|
||||
|
||||
<p>uBLAS has no dedicated mailing list. Feel free to use the mailing lists
|
||||
of <a href="http://www.boost.org">Boost</a>
|
||||
.</p>
|
||||
|
||||
<h2>Authors and Credits</h2>
|
||||
|
||||
<p>uBLAS initially was written by Joerg Walter and Mathias Koch. We would
|
||||
like to thank all, which supported the development of this library: David
|
||||
Abrahams, Ed Brey, Fernando Cacciola, Juan Jose Gomez Cadenas, Beman Dawes,
|
||||
Bob Fletcher, Kresimir Fresl, Joachim Kessel, Toon Knapen, John Maddock,
|
||||
Jens Maurer, Alexei Novakov, Gary Powell, Joachim Pyras, Peter Schmitteckert,
|
||||
Jeremy Siek, Markus Steffl, Michael Stevens, Benedikt Weber, Martin Weiser,
|
||||
Marc Zimmermann and the members of <a href="http://www.boost.org">Boost</a>
|
||||
</p>
|
||||
|
||||
<h2>Frequently Asked Questions</h2>
|
||||
|
||||
<p>Q: I'm running the uBLAS dense vector and matrix benchmarks. Why do I see
|
||||
a significant performance difference between the native C and library implementations?<br>
|
||||
A: uBLAS distinguishes debug mode (size and type conformance checks enabled,
|
||||
expression templates disabled) and release mode (size and type conformance
|
||||
checks disabled, expression templates enabled). Please check, if the preprocessor
|
||||
symbol <code>NDEBUG</code> of <code>cassert</code> is defined. <code>NDEBUG</code>
|
||||
enables release mode, which in turn uses expression templates.</p>
|
||||
|
||||
<p>Q: I've written some uBLAS tests, which try to incorrectly assign different
|
||||
matrix types or overrun vector and matrix dimensions. Why don't I get a compile
|
||||
time or runtime diagnostic?<br>
|
||||
A: uBLAS distinguishes debug mode (size and type conformance checks enabled,
|
||||
expression templates disabled) and release mode (size and type conformance
|
||||
checks disabled, expression templates enabled). Please check, if the preprocessor
|
||||
symbol <code>NDEBUG</code> of <code>cassert</code> is defined. <code>NDEBUG</code>
|
||||
disables debug mode, which is needed to get size and type conformance checks.</p>
|
||||
|
||||
<p>Q: I've written some uBLAS benchmarks to measure the performance of matrix
|
||||
chain multiplications like <code>prod (A, prod (B, C))</code> and see a significant
|
||||
performance penalty due to the use of expression templates. How can I disable
|
||||
expression templates?<br>
|
||||
A: You do not need to disable expression templates. Please try reintroducing
|
||||
temporaries using either <code>prod (A, </code><code><em>matrix_type</em></code><code>
|
||||
(prod (B, C)))</code> or <code>prod (A, prod<</code><code><em>matrix_type</em></code><code>
|
||||
> (B, C))</code>.</p>
|
||||
|
||||
|
||||
<p>Q: I'm running the uBLAS dense vector and matrix benchmarks. Why do I
|
||||
see a significant performance difference between the native C and library
|
||||
implementations?<br>
|
||||
A: uBLAS distinguishes debug mode (size and type conformance checks enabled,
|
||||
expression templates disabled) and release mode (size and type conformance
|
||||
checks disabled, expression templates enabled). Please check, if the preprocessor
|
||||
symbol <code>NDEBUG</code> of <code>cassert</code> is defined. <code>NDEBUG</code>
|
||||
enables release mode, which in turn uses expression templates.</p>
|
||||
|
||||
<p>Q: I've written some uBLAS tests, which try to incorrectly assign different
|
||||
matrix types or overrun vector and matrix dimensions. Why don't I get a
|
||||
compile time or runtime diagnostic?<br>
|
||||
A: uBLAS distinguishes debug mode (size and type conformance checks enabled,
|
||||
expression templates disabled) and release mode (size and type conformance
|
||||
checks disabled, expression templates enabled). Please check, if the preprocessor
|
||||
symbol <code>NDEBUG</code> of <code>cassert</code> is defined. <code>NDEBUG</code>
|
||||
disables debug mode, which is needed to get size and type conformance
|
||||
checks.</p>
|
||||
|
||||
<p>Q: I've written some uBLAS benchmarks to measure the performance of matrix
|
||||
chain multiplications like <code>prod (A, prod (B, C))</code> and see a
|
||||
significant performance penalty due to the use of expression templates.
|
||||
How can I disable expression templates?<br>
|
||||
A: You do not need to disable expression templates. Please try reintroducing
|
||||
temporaries using either <code>prod (A, </code><code><em>matrix_type</em></code><code>
|
||||
(prod (B, C)))</code> or <code>prod (A, prod<</code><code><em>matrix_type</em></code><code>
|
||||
> (B, C))</code>.</p>
|
||||
|
||||
<h2>Contact Information</h2>
|
||||
|
||||
|
||||
<p>If you have a problem, or have found a bug, please send us a <a href="mailto:ublas@genesys-e.org">
|
||||
note</a>
|
||||
. </p>
|
||||
|
||||
<hr>
|
||||
note</a>
|
||||
. </p>
|
||||
|
||||
<hr>
|
||||
<p>Copyright (©) 2000-2002 Joerg Walter, Mathias Koch <br>
|
||||
Permission to copy, use, modify, sell and distribute this document is granted
|
||||
provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
|
||||
Permission to copy, use, modify, sell and distribute this document is
|
||||
granted provided this copyright notice appears in all copies. This document
|
||||
is provided ``as is'' without express or implied warranty, and with no claim
|
||||
as to its suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
2486
doc/iterator.htm
2486
doc/iterator.htm
File diff suppressed because it is too large
Load Diff
@@ -624,7 +624,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1408,7 +1408,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1407,7 +1407,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1008,7 +1008,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1670,7 +1670,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
#
|
||||
# Copyright (c) 2000-2002
|
||||
# Joerg Walter, Mathias Koch
|
||||
#
|
||||
# Permission to use, copy, modify, distribute and sell this software
|
||||
# and its documentation for any purpose is hereby granted without fee,
|
||||
# provided that the above copyright notice appear in all copies and
|
||||
# that both that copyright notice and this permission notice appear
|
||||
# in supporting documentation. The authors make no representations
|
||||
# about the suitability of this software for any purpose.
|
||||
# It is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# The authors gratefully acknowledge the support of
|
||||
# GeNeSys mbH & Co. KG in producing this work.
|
||||
#
|
||||
|
||||
subproject libs/numeric/ublas/doc/samples ;
|
||||
|
||||
exe unbounded_array
|
||||
|
||||
@@ -476,11 +476,14 @@ the end of the reversed <code>slice</code>. </td>
|
||||
<h4>Interface</h4>
|
||||
<pre><code> // Slice class<br> class slice {<br> public:<br> typedef std::size_t size_type;<br> typedef std::ptrdiff_t difference_type;<br> typedef difference_type value_type;<br> typedef value_type const_reference;<br> typedef const_reference reference;<br> typedef const difference_type *const_pointer;<br> typedef difference_type *pointer;<br> typedef size_type const_iterator_type;<br><br> // Construction and destruction<br> slice ();<br> slice (size_type start, size_type stride, size_type size);<br><br> size_type start () const;<br> size_type stride () const;<br> size_type size () const;<br><br> // Element access<br> const_reference operator () (size_type i) const;<br><br> // Composition<br> slice compose (const range &r) const;<br> slice compose (const slice &s) const;<br><br> // Comparison<br> bool operator == (const slice &s) const;<br> bool operator != (const slice &s) const;<br><br> // Iterator simply is a index.<br><br> class const_iterator:<br> public container_const_reference<slice>,<br> public random_access_iterator_base<const_iterator, value_type> {<br> public:<br><br> // Construction and destruction<br> const_iterator ();<br> const_iterator (const slice &s, const const_iterator_type &it);<br><br> // Arithmetic<br> const_iterator &operator ++ ();<br> const_iterator &operator -- ();<br> const_iterator &operator += (difference_type n);<br> const_iterator &operator -= (difference_type n);<br> difference_type operator - (const const_iterator &it) const;<br><br> // Dereference<br> const_reference operator * () const;<br><br> // Index<br> size_type index () const;<br><br> // Assignment<br> const_iterator &operator = (const const_iterator &it);<br><br> // Comparison<br> bool operator == (const const_iterator &it) const;<br> };<br><br> const_iterator begin () const;<br> const_iterator end () const;<br><br> // Reverse iterator<br><br> typedef std::reverse_iterator<const_iterator> const_reverse_iterator;<br><br> const_reverse_iterator rbegin () const;<br> const_reverse_iterator rend () const;<br> };</code></pre>
|
||||
<hr>
|
||||
|
||||
<p>Copyright (©) 2000-2002 Joerg Walter, Mathias Koch <br>
|
||||
Permission to copy, use, modify, sell and distribute this document is granted
|
||||
provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -213,7 +213,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -597,7 +597,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -609,7 +609,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -531,7 +531,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -978,7 +978,7 @@ Expression</a>
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -492,7 +492,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -819,7 +819,7 @@ provided this copyright notice appears in all copies. This document is provided
|
||||
``as is'' without express or implied warranty, and with no claim as to its
|
||||
suitability for any purpose.</p>
|
||||
|
||||
<p>Last revised: 8/3/2002</p>
|
||||
|
||||
</body>
|
||||
<p>Last revised: 1/15/2003</p>
|
||||
|
||||
s</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user