Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56162 - trunk/libs/numeric/ublas/doc
From: guwi17_at_[hidden]
Date: 2009-09-12 18:55:21


Author: guwi17
Date: 2009-09-12 18:55:20 EDT (Sat, 12 Sep 2009)
New Revision: 56162
URL: http://svn.boost.org/trac/boost/changeset/56162

Log:
see #3443: reformatted source because it was too ugly to do any changes.

Text files modified:
   trunk/libs/numeric/ublas/doc/index.htm | 471 +++++++++++++++++++++++----------------
   1 files changed, 282 insertions(+), 189 deletions(-)

Modified: trunk/libs/numeric/ublas/doc/index.htm
==============================================================================
--- trunk/libs/numeric/ublas/doc/index.htm (original)
+++ trunk/libs/numeric/ublas/doc/index.htm 2009-09-12 18:55:20 EDT (Sat, 12 Sep 2009)
@@ -2,308 +2,401 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta name="generator" content=
-"HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
-<meta http-equiv="Content-Type" content=
-"text/html; charset=us-ascii" />
+<meta name="generator" content="HTML Tidy for Linux (vers 6 November 2007), see www.w3.org" />
+<!-- tidy options: -w 120 -asxhtml -clean --vertical-space yes -f index.htm.err -m index.htm -->
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
 <link href="ublas.css" type="text/css" />
 <title>Boost Basic Linear Algebra</title>
 </head>
 <body>
-<h1><img src="../../../../boost.png" align="middle" />
-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
-and efficient code generation via expression templates.</p>
+<h1><img src="../../../../boost.png" align="middle" /> Basic Linear Algebra</h1>
+
+<p>uBLAS is a C++ template class library that provides BLAS 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
+
+<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 STL conforming iterator
 interface.</p>
+
 <h2>Documentation</h2>
+
 <ul>
 <li><big>Overview</big>
 <ul>
 <li>Rationale
+</li>
+
 <li>Functionality
-<li>Overview of Matrix- and Vector-Types</li>
-<li>Overview of Matrix and Vector Operations</li>
-<li>Effective uBLAS and further information</li>
+</li>
+
+<li>Overview of Matrix- and Vector-Types
+</li>
+
+<li>Overview of Matrix and Vector Operations
+</li>
+
+<li>Effective uBLAS and further information
+</li>
 </ul>
 </li>
+
 <li>Vector
 <ul>
-<li>Vector</li>
-<li>Unit Vector</li>
-<li>Zero Vector</li>
-<li>Scalar Vector</li>
+<li>Vector
+</li>
+
+<li>Unit Vector
+</li>
+
+<li>Zero Vector
+</li>
+
+<li>Scalar Vector
+</li>
 </ul>
 </li>
+
 <li>Sparse Vector
 <ul>
-<li><a href="vector_sparse.htm#mapped_vector">Mapped
-Vector</a></li>
-<li><a href="vector_sparse.htm#compressed_vector">Compressed
-Vector</a></li>
-<li><a href="vector_sparse.htm#coordinate_vector">Coordinate
-Vector</a></li>
+<li>Mapped Vector
+</li>
+
+<li>Compressed Vector
+</li>
+
+<li>Coordinate Vector
+</li>
 </ul>
 </li>
+
 <li>Vector Proxies
 <ul>
-<li>Vector Range</li>
-<li>Vector Slice</li>
+<li>Vector Range
+</li>
+
+<li>Vector Slice
+</li>
 </ul>
 </li>
+
 <li>Vector Expressions
 <ul>
-<li><a href="vector_expression.htm#vector_expression">Vector
-Expression</a></li>
-<li><a href="vector_expression.htm#vector_references">Vector
-References</a></li>
-<li><a href="vector_expression.htm#vector_operations">Vector
-Operations</a></li>
-<li><a href="vector_expression.htm#vector_reductions">Vector
-Reductions</a></li>
+<li>Vector Expression
+</li>
+
+<li>Vector References
+</li>
+
+<li>Vector Operations
+</li>
+
+<li>Vector Reductions
+</li>
 </ul>
 </li>
+
 <li>Matrix
 <ul>
-<li>Matrix</li>
-<li>Identity Matrix</li>
-<li>Zero Matrix</li>
-<li>Scalar Matrix</li>
+<li>Matrix
+</li>
+
+<li>Identity Matrix
+</li>
+
+<li>Zero Matrix
+</li>
+
+<li>Scalar Matrix
+</li>
 </ul>
 </li>
+
 <li>Triangular Matrix
 <ul>
-<li><a href="triangular.htm#triangular_matrix">Triangular
-Matrix</a></li>
-<li><a href="triangular.htm#triangular_adaptor">Triangular
-Adaptor</a></li>
+<li>Triangular Matrix
+</li>
+
+<li>Triangular Adaptor
+</li>
 </ul>
 </li>
+
 <li>Symmetric Matrix
 <ul>
-<li><a href="symmetric.htm#symmetric_matrix">Symmetric
-Matrix</a></li>
-<li><a href="symmetric.htm#symmetric_adaptor">Symmetric
-Adaptor</a></li>
+<li>Symmetric Matrix
+</li>
+
+<li>Symmetric Adaptor
+</li>
 </ul>
 </li>
+
 <li>Hermitian Matrix
 <ul>
-<li><a href="hermitian.htm#hermitian_matrix">Hermitian
-Matrix</a></li>
-<li><a href="hermitian.htm#hermitian_adaptor">Hermitian
-Adaptor</a></li>
+<li>Hermitian Matrix
+</li>
+
+<li>Hermitian Adaptor
+</li>
 </ul>
 </li>
+
 <li>Banded Matrix
 <ul>
-<li>Banded Matrix</li>
-<li>Banded Adaptor</li>
+<li>Banded Matrix
+</li>
+
+<li>Banded Adaptor
+</li>
 </ul>
 </li>
+
 <li>Sparse Matrix
 <ul>
-<li><a href="matrix_sparse.htm#mapped_matrix">Mapped
-Matrix</a></li>
-<li><a href="matrix_sparse.htm#compressed_matrix">Compressed
-Matrix</a></li>
-<li><a href="matrix_sparse.htm#coordinate_matrix">Coordinate
-Matrix</a></li>
+<li>Mapped Matrix
+</li>
+
+<li>Compressed Matrix
+</li>
+
+<li>Coordinate Matrix
+</li>
 </ul>
 </li>
+
 <li>Matrix Proxies
 <ul>
-<li>Matrix Row</li>
-<li>Matrix Column</li>
-<li>Vector Range</li>
-<li>Vector Slice</li>
-<li>Matrix Range</li>
-<li>Matrix Slice</li>
+<li>Matrix Row
+</li>
+
+<li>Matrix Column
+</li>
+
+<li>Vector Range
+</li>
+
+<li>Vector Slice
+</li>
+
+<li>Matrix Range
+</li>
+
+<li>Matrix Slice
+</li>
 </ul>
 </li>
+
 <li>Matrix Expressions
 <ul>
-<li><a href="matrix_expression.htm#matrix_expression">Matrix
-Expression</a></li>
-<li><a href="matrix_expression.htm#matrix_references">Matrix
-References</a></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>Matrix Expression
+</li>
+
+<li>Matrix References
+</li>
+
+<li>Matrix Operations
+</li>
+
+<li>Matrix Vector Operations
+</li>
+
+<li>Matrix Matrix Operations
+</li>
 </ul>
 </li>
+
 <li>Storage and special containers
+
 <ul>
-<li>Unbounded Array</li>
-<li>Bounded Array</li>
-<li>Range</li>
-<li>Slice</li>
-</ul>
+<li>Unbounded Array
 </li>
+
+<li>Bounded Array
+</li>
+
+<li>Range
+</li>
+
+<li>Slice
+</li>
+</ul></li>
+
 <li>Sparse Storage
 <ul>
-<li><a href="storage_sparse.htm#map_std">Default Standard
-Map</a></li>
-<li>Map Array</li>
+<li>Default Standard Map
+</li>
+
+<li>Map Array
+</li>
 </ul>
 </li>
+
 <li>Operations &amp; Functions
+
 <ul>
-<li>Special Products</li>
-<li>BLAS</li>
-</ul>
+<li>Special Products
+</li>
+
+<li>BLAS
+</li>
+</ul></li>
+
 <li>uBLAS Concept definitions
+
 <ul>
 <li>Container Concepts
 <ul>
-<li>Vector</li>
-<li>Matrix</li>
+<li>Vector
+</li>
+
+<li>Matrix
+</li>
 </ul>
+</li>
+
 <li>Expression Concepts
 <ul>
-<li><a href="expression_concept.htm#scalar_expression">Scalar
-Expression</a></li>
-<li><a href="expression_concept.htm#vector_expression">Vector
-Expression</a></li>
-<li><a href="expression_concept.htm#matrix_expression">Matrix
-Expression</a></li>
+<li>Scalar Expression
+</li>
+
+<li>Vector Expression
+</li>
+
+<li>Matrix Expression
+</li>
 </ul>
+</li>
+
 <li>Storage Concept
+</li>
+
 <li>Iterator Concepts
 <ul>
-<li><a href="iterator_concept.htm#indexed_bidirectional_iterator">Indexed
-Bidirectional Iterator</a></li>
-<li><a href="iterator_concept.htm#indexed_random_access_iterator">Indexed
-Random Access Iterator</a></li>
-<li><a href=
-"iterator_concept.htm#indexed_bidirectional_cr_iterator">Indexed
-Bidirectional Column/Row Iterator</a></li>
-<li><a href=
-"iterator_concept.htm#indexed_random_access_cr_iterator">Indexed Random
-Access Column/Row Iterator</a></li>
-</ul>
+<li>Indexed Bidirectional Iterator
+</li>
+
+<li>Indexed Random Access Iterator
+</li>
+
+<li>Indexed Bidirectional Column/Row Iterator
+</li>
+
+<li>Indexed Random Access Column/Row Iterator
 </li>
 </ul>
 </li>
+</ul></li>
 </ul>
+
 <h2>Supported Platforms</h2>
-<p>The current version of uBLAS expects a modern (ISO standard compliant) compiler. Compilers targeted and tested
-with this release are:</p>
+
+<p>The current version of uBLAS expects a modern (ISO standard compliant) compiler. Compilers targeted and tested with
+this release are:</p>
+
 <ul>
 <li>GCC 3.2.3, 3.3.x, 3.4.x, 4.0.x</li>
+
 <li>MSVC 7.1, 8.0</li>
+
 <li>ICC 8.0, 8.1</li>
+
 <li>Visual age 6</li>
+
 <li>Codewarrior 9.4, 9.5</li>
 </ul>
-<p>The version of uBLAS in Boost 1.32.0 (and earlier) support many older compilers. If you are
-using such a compiler please use this version of uBLAS. Compilers known to accept this older library
-are:</p>
+
+<p>The version of uBLAS in Boost 1.32.0 (and earlier) support many older compilers. If you are using such a compiler
+please use this version of uBLAS. Compilers known to accept this older library are:</p>
+
 <ul>
 <li>MSVC 6.0 with STLPort-4.5.3, 7.0, 7.1</li>
+
 <li>GCC 2.95.x, 3.0.x, 3.1.x, 3.2.x, 3.3.x, 3.4.x</li>
+
 <li>ICC 7.0, 7.1 8.0</li>
+
 <li>Comeau 4.2.x</li>
+
 <li>Codewarrior 8.3</li>
 </ul>
-<p>For possible problems please consider to consult the Boost
-regression tests.</p>
-<a name="further_information"></a>
+
+<p>For possible problems please consider to consult the Boost regression tests.</p>
+<a name="further_information" id="further_information"></a>
 <h2>Known limitations:</h2>
-<ul type="Disc">
+
+<ul type="disc">
 <li>The implementation assumes a linear memory address model.</li>
+
 <li>Tuning was focussed on dense matrices.</li>
 </ul>
+
 <h2>Further Information</h2>
+
 <h3>Project Location and Download</h3>
-<p>The latest stable release of uBLAS is part of the <a href=
-"http://www.boost.org">Boost</a> libraries.</p>
+
+<p>The latest stable release of uBLAS is part of the Boost libraries.</p>
+
 <h3>Documentation and Discussion</h3>
-<p>Visit the <a href=
-"http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_UBLAS">
-Effective uBLAS</a> wiki for up to date information and
-contributions.</p>
-<p>There is also an active uBLAS <a href=
-"http://lists.boost.org/">mailing list</a> where uBLAS specific
-user and development questions are answered.</p>
+
+<p>Visit the <a href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_UBLAS">Effective
+uBLAS</a> wiki for up to date information and contributions.</p>
+
+<p>There is also an active uBLAS mailing list where uBLAS specific user and
+development questions are answered.</p>
+
 <h3>uBLAS and Boost Project</h3>
-<p>There is also an active uBLAS <a href=
-"http://lists.boost.org/">mailing list</a> where uBLAS specific
-from the latest uBLAS project code. You can <a href=
-"http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost">view</a> the
-Boost CVS archive directly. You will 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>
+
+<p>There is also an active uBLAS mailing list where uBLAS specific from the
+latest uBLAS project code. You can view the Boost
+CVS archive directly. You will 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 here.</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 and contributed to the
-development of this library: David Abrahams, Ed Brey, Fernando
-Cacciola, Juan Jose Gomez Cadenas, Beman Dawes, Matt Davies, Bob
-Fletcher, Kresimir Fresl, Joachim Kessel, Patrick Kowalzick, Toon
-Knapen, Hendrik Kueck, John Maddock, Jens Maurer, Alexei Novakov,
-Gary Powell, Joachim Pyras, Peter Schmitteckert, Jeremy Siek,
-Markus Steffl, Michael Stevens, Benedikt Weber, Martin Weiser,
-Gunter Winkler, Marc Zimmermann and the members of <a href=
+
+<p>uBLAS initially was written by Joerg Walter and Mathias Koch. We would like to thank all, which supported and
+contributed to the development of this library: David Abrahams, Ed Brey, Fernando Cacciola, Juan Jose Gomez Cadenas,
+Beman Dawes, Matt Davies, Bob Fletcher, Kresimir Fresl, Joachim Kessel, Patrick Kowalzick, Toon Knapen, Hendrik Kueck,
+John Maddock, Jens Maurer, Alexei Novakov, Gary Powell, Joachim Pyras, Peter Schmitteckert, Jeremy Siek, Markus Steffl,
+Michael Stevens, Benedikt Weber, Martin Weiser, Gunter Winkler, 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. You can
-optionally define <code>BOOST_UBLAS_NDEBUG</code> to disable all
-bounds, structure and similar checks of uBLAS.</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&lt;</code><code><em>matrix_type</em></code>
-<code>&gt; (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. You can optionally define <code>BOOST_UBLAS_NDEBUG</code> to disable all bounds, structure
+and similar checks of uBLAS.</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&lt;</code><code><em>matrix_type</em></code> <code>&gt; (B, C))</code>.</p>
+
 <hr />
+
 <p>Copyright (&copy;) 2000-2002 Joerg Walter, Mathias Koch<br />
- Use, modification and distribution are subject to the
- Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt
- or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
- http://www.boost.org/LICENSE_1_0.txt
- </a>).
-</p>
+Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file
+LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
+).</p>
 </body>
 </html>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk