2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-22 03:42:19 +00:00

merged doc in uBLAS CVS to boost CVS

This commit is contained in:
Toon Knapen
2005-01-06 10:03:41 +00:00
parent 1b258327f6
commit c0692ce161
19 changed files with 326 additions and 375 deletions

View File

@@ -10,7 +10,7 @@
<title>Banded Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Banded Matrix</h1>
<h2><a name="banded_matrix" id="banded_matrix"></a> Banded
Matrix</h2>
@@ -352,11 +352,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;banded_adaptor&lt;M&gt;
&gt;</code></p>

View File

@@ -10,7 +10,7 @@
<title>Hermitian Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Hermitian Matrix</h1>
<h2><a name="hermitian_matrix" id="hermitian_matrix"></a> Hermitian
Matrix</h2>
@@ -374,11 +374,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;hermitian_adaptor&lt;M, F&gt;
&gt;</code></p>

View File

@@ -10,7 +10,7 @@
<title>Boost Basic Linear Algebra</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" 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
@@ -46,51 +46,38 @@ suite.</p>
<li><a href="operations_overview.htm">Overview of Matrix and Vector Operations</a></li>
</ul>
</li>
<li><a href="expression.htm">Expression Concepts</a>
<li>uBLAS Concept definitions
<ul>
<li><a href="expression.htm#scalar_expression">Scalar
<li><a href="container_concept.htm">Container Concepts</a>
<ul>
<li><a href="container_concept.htm#vector">Vector</a></li>
<li><a href="container_concept.htm#matrix">Matrix</a></li>
</ul>
<li><a href="expression_concept.htm">Expression Concepts</a>
<ul>
<li><a href="expression_concept.htm#scalar_expression">Scalar
Expression</a></li>
<li><a href="expression.htm#vector_expression">Vector
<li><a href="expression_concept.htm#vector_expression">Vector
Expression</a></li>
<li><a href="expression.htm#matrix_expression">Matrix
<li><a href="expression_concept.htm#matrix_expression">Matrix
Expression</a></li>
</ul>
</li>
<li><a href="container.htm">Container Concepts</a>
<li><a href="storage_concept.htm">Storage Concept</a>
<li><a href="iterator_concept.htm">Iterator Concepts</a>
<ul>
<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>
<ul>
<li><a href="iterator.htm#indexed_bidirectional_iterator">Indexed
<li><a href="iterator_concept.htm#indexed_bidirectional_iterator">Indexed
Bidirectional Iterator</a></li>
<li><a href="iterator.htm#indexed_random_access_iterator">Indexed
<li><a href="iterator_concept.htm#indexed_random_access_iterator">Indexed
Random Access Iterator</a></li>
<li><a href=
"iterator.htm#indexed_bidirectional_cr_iterator">Indexed
"iterator_concept.htm#indexed_bidirectional_cr_iterator">Indexed
Bidirectional Column/Row Iterator</a></li>
<li><a href=
"iterator.htm#indexed_random_access_cr_iterator">Indexed Random
"iterator_concept.htm#indexed_random_access_cr_iterator">Indexed Random
Access Column/Row Iterator</a></li>
</ul>
</li>
<li><a href="storage.htm">Storage</a>
<ul>
<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>
<li><a href="storage_sparse.htm#map_std">Default Standard
Map</a></li>
<li><a href="storage_sparse.htm#map_array">Map Array</a></li>
</ul>
</li>
<li><a href="vector.htm">Vector</a>
<ul>
<li><a href="vector.htm#vector">Vector</a></li>
@@ -115,15 +102,15 @@ Vector</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><a href="vector_expression_concept.htm">Vector Expressions</a>
<ul>
<li><a href="vector_expression.htm#vector_expression">Vector
<li><a href="vector_expression_concept.htm#vector_expression">Vector
Expression</a></li>
<li><a href="vector_expression.htm#vector_references">Vector
<li><a href="vector_expression_concept.htm#vector_references">Vector
References</a></li>
<li><a href="vector_expression.htm#vector_operations">Vector
<li><a href="vector_expression_concept.htm#vector_operations">Vector
Operations</a></li>
<li><a href="vector_expression.htm#vector_reductions">Vector
<li><a href="vector_expression_concept.htm#vector_reductions">Vector
Reductions</a></li>
</ul>
</li>
@@ -185,20 +172,35 @@ Matrix</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><a href="matrix_expression_concept.htm">Matrix Expressions</a>
<ul>
<li><a href="matrix_expression.htm#matrix_expression">Matrix
<li><a href="matrix_expression_concept.htm#matrix_expression">Matrix
Expression</a></li>
<li><a href="matrix_expression.htm#matrix_references">Matrix
<li><a href="matrix_expression_concept.htm#matrix_references">Matrix
References</a></li>
<li><a href="matrix_expression.htm#matrix_operations">Matrix
<li><a href="matrix_expression_concept.htm#matrix_operations">Matrix
Operations</a></li>
<li><a href="matrix_expression.htm#matrix_vector_operations">Matrix
<li><a href="matrix_expression_concept.htm#matrix_vector_operations">Matrix
Vector Operations</a></li>
<li><a href="matrix_expression.htm#matrix_matrix_operations">Matrix
<li><a href="matrix_expression_concept.htm#matrix_matrix_operations">Matrix
Matrix Operations</a></li>
</ul>
</li>
<li>Storage
<ul>
<li><a href="unbounded_array.htm">Unbounded Array</a></li>
<li><a href="bounded_array.htm">Bounded Array</a></li>
<li><a href="range.htm#range">Range</a></li>
<li><a href="range.htm#slice">Slice</a></li>
</ul>
</li>
<li><a href="storage_sparse.htm">Sparse Storage</a>
<ul>
<li><a href="storage_sparse.htm#map_std">Default Standard
Map</a></li>
<li><a href="storage_sparse.htm#map_array">Map Array</a></li>
</ul>
</li>
<li>Operations &amp; Functions
<ul>
<li><a href="products.htm">Special Products</a></li>
@@ -208,14 +210,14 @@ Matrix Operations</a></li>
</ul>
<h2>Supported Platforms</h2>
<p>The original development platform for uBLAS we used MSVC 6.0
with Dinkumware STL. Other compilers known to accept the library
are</p>
with Dinkumware STL. Compilers known to accept the 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>ICC 7.0, 7.1, 8.0, 8.1</li>
<li>Comeau 4.2.x</li>
<li>MWCW</li>
<li>MWCW 8.3, 9.3</li>
</ul>
<p>For possible problems please consider to consult the Boost
regression tests.</p>
@@ -228,8 +230,8 @@ regression tests.</p>
"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
<p>There is also an active uBLAS development <a href=
"http://groups.yahoo.com/group/ublas-dev">mailing list</a> where
user and development questions are answered.</p>
<h3>uBLAS and Boost Project</h3>
<p>uBLAS development takes place via a two tier structure. Active

View File

@@ -10,7 +10,7 @@
<title>Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Matrix</h1>
<h2><a name="matrix" id="matrix"></a> Matrix</h2>
<h4>Description</h4>
@@ -332,11 +332,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;identity_matrix&lt;T&gt;
&gt;</code></p>
@@ -476,11 +476,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;zero_matrix&lt;T&gt; &gt;</code></p>
<h4>Members</h4>
@@ -619,11 +619,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;scalar_matrix&lt;T&gt;
&gt;</code></p>

View File

@@ -10,7 +10,7 @@
<title>Matrix Expressions</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Matrix Expressions</h1>
<h2><a name="matrix_expression" id="matrix_expression"></a> Matrix
Expression</h2>
@@ -36,7 +36,8 @@ including class <code>matrix</code> itself.</p>
</tbody>
</table>
<h4>Model of</h4>
<p>None.</p>
<p>None. <u>Not a Matrix Expression</u>!
</p>
<h4>Type requirements</h4>
<p>None.</p>
<h4>Public base classes</h4>
@@ -61,104 +62,6 @@ const</code></td>
</table>
<h2><a name="matrix_references" id="matrix_references"></a> Matrix
References</h2>
<h3>Constant Reference</h3>
<h4>Description</h4>
<p>The templated class <code>matrix_const_reference&lt;E&gt;</code>
contains a constant reference to a matrix expression.</p>
<h4>Definition</h4>
<p>Defined in the header matrix_expression.hpp.</p>
<h4>Template parameters</h4>
<table border="1" summary="parameters">
<tbody>
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><code>E</code></td>
<td>The type of the matrix expression.</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_const_reference&lt;E&gt;
&gt;</code></p>
<h4>Members</h4>
<table border="1" summary="members">
<tbody>
<tr>
<th>Member</th>
<th>Description</th>
</tr>
<tr>
<td><code>matrix_const_reference (const expression_type
&amp;e)</code></td>
<td>Constructs a constant reference of the expression.</td>
</tr>
<tr>
<td><code>size_type size1 () const</code></td>
<td>Returns the number of rows.</td>
</tr>
<tr>
<td><code>size_type size2 () const</code></td>
<td>Returns the number of columns.</td>
</tr>
<tr>
<td><code>const_reference operator () (size_type i, size_type j)
const</code></td>
<td>Returns the value of the <code>j</code>-th element in the
<code>i</code>-th row.</td>
</tr>
<tr>
<td><code>const_iterator1 begin1 () const</code></td>
<td>Returns a <code>const_iterator1</code> pointing to the
beginning of the expression.</td>
</tr>
<tr>
<td><code>const_iterator1 end1 () const</code></td>
<td>Returns a <code>const_iterator1</code> pointing to the end of
the expression.</td>
</tr>
<tr>
<td><code>const_iterator2 begin2 () const</code></td>
<td>Returns a <code>const_iterator2</code> pointing to the
beginning of the expression.</td>
</tr>
<tr>
<td><code>const_iterator2 end2 () const</code></td>
<td>Returns a <code>const_iterator2</code> pointing to the end of
the expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator1 rbegin1 () const</code></td>
<td>Returns a <code>const_reverse_iterator1</code> pointing to the
beginning of the reversed expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator1 rend1 () const</code></td>
<td>Returns a <code>const_reverse_iterator1</code> pointing to the
end of the reversed expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator2 rbegin2 () const</code></td>
<td>Returns a <code>const_reverse_iterator2</code> pointing to the
beginning of the reversed expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator2 rend2 () const</code></td>
<td>Returns a <code>const_reverse_iterator2</code> pointing to the
end of the reversed expression.</td>
</tr>
</tbody>
</table>
<h3>Reference</h3>
<h4>Description</h4>
<p>The templated class <code>matrix_reference&lt;E&gt;</code>
@@ -181,11 +84,11 @@ contains a reference to a matrix expression.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_reference&lt;E&gt;
&gt;</code></p>
@@ -337,11 +240,11 @@ operations.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_unary1&lt;E, F&gt; &gt;</code>
and <code>matrix_expression&lt;matrix_unary2&lt;E, F&gt;
@@ -475,7 +378,7 @@ conjugate of the transpose of a matrix expression.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<p>None.</p>
@@ -533,11 +436,11 @@ describes a binary matrix operation.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_binary&lt;E1, E2, F&gt;
&gt;</code>.</p>
@@ -642,9 +545,9 @@ matrix expressions.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<ul>
@@ -703,11 +606,11 @@ matrix.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_binary_scalar1&lt;E1, E2,
F&gt; &gt;</code> and
@@ -830,9 +733,9 @@ with the reciprocal of the scalar.</p>
<h4>Type requirements</h4>
<ul>
<li><code>T1/T2</code> is a model of <a href=
"expression.htm#scalar_expression">Scalar Expression</a> .</li>
"expression_concept.htm#scalar_expression">Scalar Expression</a> .</li>
<li><code>E2/E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<p>None.</p>
@@ -889,11 +792,11 @@ F&gt;</code> describe binary matrix vector operations.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;matrix_vector_binary1&lt;E1, E2,
F&gt; &gt;</code> and
@@ -1055,12 +958,12 @@ precision product of the matrix and the vector expression.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> or
<a href="expression.htm#vector_expression">Vector Expression</a>
"expression_concept.htm#matrix_expression">Matrix Expression</a> or
<a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> or
<a href="expression.htm#matrix_expression">Matrix Expression</a>
"expression_concept.htm#vector_expression">Vector Expression</a> or
<a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</li>
</ul>
<h4>Preconditions</h4>
@@ -1160,12 +1063,12 @@ int main () {
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> or
<a href="expression.htm#vector_expression">Vector Expression</a>
"expression_concept.htm#matrix_expression">Matrix Expression</a> or
<a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> or
<a href="expression.htm#matrix_expression">Matrix Expression</a>
"expression_concept.htm#vector_expression">Vector Expression</a> or
<a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</li>
</ul>
<h4>Preconditions</h4>
@@ -1230,11 +1133,11 @@ F&gt;</code> describes a binary matrix operation.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_matrix_binary&lt;E1, E2, F&gt;
&gt;</code> .</p>
@@ -1366,9 +1269,9 @@ product of the matrix expressions.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<ul>
@@ -1435,9 +1338,9 @@ int main () {
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<ul>

View File

@@ -10,7 +10,7 @@
<title>Matrix Proxies</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Matrix Proxies</h1>
<h2><a name="matrix_row" id="matrix_row"></a> Matrix Row</h2>
<h4>Description</h4>
@@ -19,6 +19,7 @@ addressing a row of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -50,7 +51,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<p>If the specified row falls outside that of the row index range
of the matrix, then the <code>matrix_row</code> is not a well
@@ -58,7 +59,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;matrix_row&lt;M&gt; &gt;</code></p>
<h4>Members</h4>
@@ -197,28 +198,29 @@ the reversed <code>matrix_row</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class M&gt;
matrix_row&lt;M&gt; row (M &amp;data, std::size_t i);
template&lt;class M&gt;
const matrix_row&lt;const M&gt; row (const M &amp;data, std::size_t i);</code>
</pre>
<h4>Description</h4>
<p>The free <code>row</code> functions support the construction of
matrix rows.</p>
<h4>Prototypes</h4>
<pre><code>
template&lt;class M&gt;
matrix_row&lt;M&gt; row (M &amp;data, std::size_t i);
template&lt;class M&gt;
const matrix_row&lt;const M&gt; row (const M &amp;data, std::size_t i);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header matrix_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>M</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Linear depending from the size of the row.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -239,6 +241,7 @@ addressing a column of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -270,7 +273,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<p>If the specified row falls outside that of the column index
range of the matrix, then the <code>matrix_column</code> is not a
@@ -278,7 +281,7 @@ well formed Vector Expression. That is, access to an element which
is outside of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;matrix_column&lt;M&gt;
&gt;</code></p>
@@ -418,28 +421,29 @@ the reversed <code>matrix_column</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class M&gt;
matrix_column&lt;M&gt; column (M &amp;data, std::size_t j);
template&lt;class M&gt;
const matrix_column&lt;const M&gt; column (const M &amp;data, std::size_t j);</code>
</pre>
<h4>Description</h4>
<p>The free <code>column</code> functions support the construction
of matrix columns.</p>
<h4>Prototypes</h4>
<pre><code>
template&lt;class M&gt;
matrix_column&lt;M&gt; column (M &amp;data, std::size_t j);
template&lt;class M&gt;
const matrix_column&lt;const M&gt; column (const M &amp;data, std::size_t j);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header matrix_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>M</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Linear depending from the size of the column.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -459,6 +463,7 @@ allows addressing a sub vector of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -490,7 +495,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<p>If the specified ranges fall outside that of the index range of
the matrix, then the <code>matrix_vector_range</code> is not a well
@@ -498,7 +503,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;matrix_vector_range&lt;M&gt;
&gt;</code></p>
@@ -644,6 +649,7 @@ allows addressing a sliced sub vector of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -675,7 +681,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<p>If the specified slices fall outside that of the index range of
the matrix, then the <code>matrix_vector_slice</code> is not a well
@@ -683,7 +689,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;matrix_vector_slice&lt;M&gt;
&gt;</code></p>
@@ -829,6 +835,7 @@ addressing a sub matrix of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -859,7 +866,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<p>If the specified ranges fall outside that of the index range of
the matrix, then the <code>matrix_range</code> is not a well formed
@@ -867,7 +874,7 @@ Matrix Expression. That is, access to an element which is outside
of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_range&lt;M&gt; &gt;</code></p>
<h4>Members</h4>
@@ -1061,30 +1068,33 @@ reversed the <code>matrix_range</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of matrix ranges. Existing <code>matrix_range</code>'s can be composed with further ranges. The resulting ranges are computed using this existing ranges' <code>compose</code> function.</p>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class M&gt;
<pre><code>
template&lt;class M&gt;
matrix_range&lt;M&gt; project (M &amp;data, const range &amp;r1, const range &amp;r2);
template&lt;class M&gt;
const matrix_range&lt;const M&gt; project (const M &amp;data, const range &amp;r1, const range &amp;r2);
template&lt;class M&gt;
matrix_range&lt;M&gt; project (const matrix_range&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);</code>
</pre>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of matrix ranges.</p>
matrix_range&lt;M&gt; project (matrix_range&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);
template&lt;class M&gt;
const matrix_range&lt;M&gt; project (const matrix_range&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header matrix_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>M</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Quadratic depending from the size of the ranges.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -1103,6 +1113,7 @@ addressing a sliced sub matrix of a matrix.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -1133,7 +1144,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<p>If the specified slices fall outside that of the index range of
the matrix, then the <code>matrix_slice</code> is not a well formed
@@ -1141,7 +1152,7 @@ Matrix Expression. That is, access to an element which is outside
of the matrix is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;matrix_slice&lt;M&gt; &gt;</code></p>
<h4>Members</h4>
@@ -1327,32 +1338,37 @@ the reversed <code>matrix_slice</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of matrix slices. Existing <code>matrix_slice</code>'s can be composed with further ranges or slices. The resulting slices are computed using this existing slices' <code>compose</code> function.</p>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class M&gt;
matrix_slice&lt;M&gt; project (const matrix_slice&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);
<pre><code>
template&lt;class M&gt;
matrix_slice&lt;M&gt; project (M &amp;data, const slice &amp;s1, const slice &amp;s2);
template&lt;class M&gt;
const matrix_slice&lt;const M&gt; project (const M &amp;data, const slice &amp;s1, const slice &amp;s2);
template&lt;class M&gt;
matrix_slice&lt;M&gt; project (const matrix_slice&lt;M&gt; &amp;data, const slice &amp;s1, const slice &amp;s2);</code>
</pre>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of matrix slices.</p>
matrix_slice&lt;M&gt; project (matrix_slice&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);
template&lt;class M&gt;
const matrix_slice&lt;M&gt; project (const matrix_slice&lt;M&gt; &amp;data, const range &amp;r1, const range &amp;r2);
template&lt;class M&gt;
matrix_slice&lt;M&gt; project (matrix_slice&lt;M&gt; &amp;data, const slice &amp;s1, const slice &amp;s2);
template&lt;class M&gt;
const matrix_slice&lt;M&gt; project (const matrix_slice&lt;M&gt; &amp;data, const slice &amp;s1, const slice &amp;s2);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header matrix_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>M</code> is a model of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</li>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Quadratic depending from the size of the slices.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/matrix.hpp&gt;
#include &lt;boost/numeric/ublas/matrix_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {

View File

@@ -10,7 +10,7 @@
<title>Sparse Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Sparse Matrix</h1>
<h2><a name="sparse_matrix" id="sparse_matrix"></a> Sparse
Matrix</h2>

View File

@@ -11,7 +11,7 @@
<title>uBLAS functions overview</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Overview of Matrix and Vector Operations</h1>
<dl>
@@ -34,9 +34,9 @@ Overview of Matrix and Vector Operations</h1>
<tr><td><code>t, t1, t2</code></td>
<td>are scalar values</td></tr>
<tr><td><code>r, r1, r2</code></td>
<td>are <a href="storage.htm#range">ranges</a>, e.g. <code>range(0, 3)</code></td></tr>
<td>are <a href="range.htm">ranges</a>, e.g. <code>range(0, 3)</code></td></tr>
<tr><td><code>s, s1, s2</code></td>
<td>are <a href="storage.htm#slice">slices</a>, e.g. <code>slice(0, 1, 3)</code></td></tr>
<td>are <a href="range.htm#slice">slices</a>, e.g. <code>slice(0, 1, 3)</code></td></tr>
</table>
<h2><a name="blas">Basic Linear Algebra</a></h2>

View File

@@ -10,7 +10,7 @@
<title>uBLAS Overview</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
uBLAS Overview</h1>
<h2>Rationale</h2>
<p><cite>It would be nice if every kind of numeric software could

View File

@@ -11,7 +11,7 @@
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Special Products </h1>
<h2>Functions</h2>

View File

@@ -18,7 +18,7 @@
int main () {
using namespace boost::numeric::ublas;
map_array<int, double> a;
map_array<int, double> a (3);
for (unsigned i = 0; i < a.size (); ++ i) {
a [i] = i;
std::cout << a [i] << std::endl;

View File

@@ -10,7 +10,7 @@
<title>Sparse Storage</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Sparse Storage</h1>
<h2><a name="map_std" id="map_std"></a> Default Standard Map</h2>
<h4>Description</h4>

View File

@@ -10,7 +10,7 @@
<title>Symmetric Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Symmetric Matrix</h1>
<h2><a name="symmetric_matrix" id="symmetric_matrix"></a> Symmetric
Matrix</h2>
@@ -365,11 +365,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;symmetric_adaptor&lt;M, F&gt;
&gt;</code></p>

View File

@@ -10,7 +10,7 @@
<title>Triangular Matrix</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Triangular Matrix</h1>
<h2><a name="triangular_matrix" id="triangular_matrix"></a>
Triangular Matrix</h2>
@@ -374,11 +374,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;triangular_adaptor&lt;M, F&gt;
&gt;</code></p>

View File

@@ -9,7 +9,7 @@
<title>Types Overview</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Overview of Matrix- and Vector-Types </h1>
<dl>

View File

@@ -10,7 +10,7 @@
<title>Vector</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Vector</h1>
<h2><a name="vector" id="vector"></a> Vector</h2>
<h4>Description</h4>
@@ -66,76 +66,150 @@ int main () {
<tbody>
<tr>
<th>Member</th>
<th>Where defined</th>
<th>Description</th>
</tr>
<tr>
<td><code>value_type</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>reference</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>const_reference</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>size_type</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>difference_type</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>const_iterator</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>iterator</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>const_reverse_iterator</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>reverse_iterator</code>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td></td>
</tr>
<tr>
<td><code>array_type</code>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td></td>
</tr>
<tr>
<td><code>vector ()</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Allocates an uninitialized <code>vector</code> that holds zero
elements.</td>
</tr>
<tr>
<td><code>vector (size_type size)</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Allocates an uninitialized <code>vector</code> that holds
<code>size</code> elements.</td>
</tr>
<tr>
<td><code>vector (const vector &amp;v)</code></td>
<td></td>
<td>The copy constructor.</td>
</tr>
<tr>
<td><code>template&lt;class AE&gt;<br />
vector (const vector_expression&lt;AE&gt; &amp;ae)</code></td>
<td></td>
<td>The extended copy constructor.</td>
</tr>
<tr>
<td><code>void resize (size_type size, bool preserve =
true)</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Reallocates a <code>vector</code> to hold <code>size</code>
elements. The existing elements of the <code>vector</code> are
preseved when specified.</td>
</tr>
<tr>
<td><code>size_type size () const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns the size of the <code>vector</code>.</td>
</tr>
<tr>
<td><code>const array_type& data () const</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td></td>
</tr>
<tr>
<td><code>array_type& data ()</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td></td>
</tr>
<tr>
<td><code>const_reference operator () (size_type i)
const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>const</code> reference of the <code>i</code>
-th element.</td>
</tr>
<tr>
<td><code>reference operator () (size_type i)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a reference of the <code>i</code>-th element.</td>
</tr>
<tr>
<td><code>const_reference operator [] (size_type i)
const</code></td>
<td><code>const_reference operator [] (size_type i) const</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Returns a <code>const</code> reference of the <code>i</code>
-th element.</td>
</tr>
<tr>
<td><code>reference operator [] (size_type i)</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Returns a reference of the <code>i</code>-th element.</td>
</tr>
<tr>
<td><code>vector &amp;operator = (const vector &amp;v)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>The assignment operator.</td>
</tr>
<tr>
<td><code>vector &amp;assign_temporary (vector &amp;v)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Assigns a temporary. May change the vector <code>v</code>.</td>
</tr>
<tr>
<td><code>template&lt;class AE&gt;<br />
vector &amp;operator = (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>The extended assignment operator.</td>
</tr>
<tr>
<td><code>template&lt;class AE&gt;<br />
vector &amp;assign (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Assigns a vector expression to the vector. Left and right hand
side of the assignment should be independent.</td>
</tr>
@@ -143,6 +217,7 @@ side of the assignment should be independent.</td>
<td><code>template&lt;class AE&gt;<br />
vector &amp;operator += (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>A computed assignment operator. Adds the vector expression to
the vector.</td>
</tr>
@@ -150,6 +225,7 @@ the vector.</td>
<td><code>template&lt;class AE&gt;<br />
vector &amp;plus_assign (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Adds a vector expression to the vector. Left and right hand
side of the assignment should be independent.</td>
</tr>
@@ -157,6 +233,7 @@ side of the assignment should be independent.</td>
<td><code>template&lt;class AE&gt;<br />
vector &amp;operator -= (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>A computed assignment operator. Subtracts the vector expression
from the vector.</td>
</tr>
@@ -164,75 +241,90 @@ from the vector.</td>
<td><code>template&lt;class AE&gt;<br />
vector &amp;minus_assign (const vector_expression&lt;AE&gt;
&amp;ae)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Subtracts a vector expression from the vector. Left and right
hand side of the assignment should be independent.</td>
</tr>
<tr>
<td><code>template&lt;class AT&gt;<br />
vector &amp;operator *= (const AT &amp;at)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>A computed assignment operator. Multiplies the vector with a
scalar.</td>
</tr>
<tr>
<td><code>template&lt;class AT&gt;<br />
vector &amp;operator /= (const AT &amp;at)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>A computed assignment operator. Divides the vector through a
scalar.</td>
</tr>
<tr>
<td><code>void swap (vector &amp;v)</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Swaps the contents of the vectors.</td>
</tr>
<tr>
<td><code>void insert (size_type i, const_reference t)</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Inserts the value <code>t</code> at the <code>i</code>-th
element.</td>
</tr>
<tr>
<td><code>void erase (size_type i)</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Erases the value at the <code>i</code>-th element.</td>
</tr>
<tr>
<td><code>void clear ()</code></td>
<td><a href="container_concept.htm#vector">Vector</a></td>
<td>Clears the vector.</td>
</tr>
<tr>
<td><code>const_iterator begin () const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>const_iterator</code> pointing to the beginning
of the <code>vector</code>.</td>
</tr>
<tr>
<td><code>const_iterator end () const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>const_iterator</code> pointing to the end of
the <code>vector</code>.</td>
</tr>
<tr>
<td><code>iterator begin ()</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>iterator</code> pointing to the beginning of
the <code>vector</code>.</td>
</tr>
<tr>
<td><code>iterator end ()</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>iterator</code> pointing to the end of the
<code>vector</code>.</td>
</tr>
<tr>
<td><code>const_reverse_iterator rbegin () const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>const_reverse_iterator</code> pointing to the
beginning of the reversed <code>vector</code>.</td>
</tr>
<tr>
<td><code>const_reverse_iterator rend () const</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>const_reverse_iterator</code> pointing to the
end of the reversed <code>vector</code>.</td>
</tr>
<tr>
<td><code>reverse_iterator rbegin ()</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>reverse_iterator</code> pointing to the
beginning of the reversed <code>vector</code>.</td>
</tr>
<tr>
<td><code>reverse_iterator rend ()</code></td>
<td><a href="expression_concept.htm#vector_expression">VectorExpression</a></td>
<td>Returns a <code>reverse_iterator</code> pointing to the end of
the reversed <code>vector</code>.</td>
</tr>
@@ -283,11 +375,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;unit_vector&lt;T&gt; &gt;</code></p>
<h4>Members</h4>
@@ -408,11 +500,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;zero_vector&lt;T&gt; &gt;</code></p>
<h4>Members</h4>
@@ -530,11 +622,11 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;scalar_vector&lt;T&gt;
&gt;</code></p>

View File

@@ -10,7 +10,7 @@
<title>Vector Expressions</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Vector Expressions</h1>
<h2><a name="vector_expression" id="vector_expression"></a> Vector
Expression</h2>
@@ -36,7 +36,8 @@ including class <code>vector</code> itself.</p>
</tbody>
</table>
<h4>Model of</h4>
<p>None.</p>
<p>None. <u>Not a Vector Expression</u>!
</p>
<h4>Type requirements</h4>
<p>None.</p>
<h4>Public base classes</h4>
@@ -61,79 +62,6 @@ const</code></td>
</table>
<h2><a name="vector_references" id="vector_references"></a> Vector
References</h2>
<h3>Constant Reference</h3>
<h4>Description</h4>
<p>The templated class <code>vector_const_reference&lt;E&gt;</code>
contains a constant reference to a vector expression.</p>
<h4>Definition</h4>
<p>Defined in the header vector_expression.hpp.</p>
<h4>Template parameters</h4>
<table border="1" summary="parameters">
<tbody>
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><code>E</code></td>
<td>The type of the vector expression.</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_const_reference&lt;E&gt;
&gt;</code></p>
<h4>Members</h4>
<table border="1" summary="members">
<tbody>
<tr>
<th>Member</th>
<th>Description</th>
</tr>
<tr>
<td><code>vector_const_reference (const expression_type
&amp;e)</code></td>
<td>Constructs a constant reference of the expression.</td>
</tr>
<tr>
<td><code>size_type size () const</code></td>
<td>Returns the size of the expression.</td>
</tr>
<tr>
<td><code>const_reference operator () (size_type i)
const</code></td>
<td>Returns the value of the <code>i</code>-th element.</td>
</tr>
<tr>
<td><code>const_iterator begin () const</code></td>
<td>Returns a <code>const_iterator</code> pointing to the beginning
of the expression.</td>
</tr>
<tr>
<td><code>const_iterator end () const</code></td>
<td>Returns a <code>const_iterator</code> pointing to the end of
the expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator rbegin () const</code></td>
<td>Returns a <code>const_reverse_iterator</code> pointing to the
beginning of the reversed expression.</td>
</tr>
<tr>
<td><code>const_reverse_iterator rend () const</code></td>
<td>Returns a <code>const_reverse_iterator</code> pointing to the
end of the reversed expression.</td>
</tr>
</tbody>
</table>
<h3>Reference</h3>
<h4>Description</h4>
<p>The templated class <code>vector_reference&lt;E&gt;</code>
@@ -156,11 +84,11 @@ contains a reference to a vector expression.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_reference&lt;E&gt;
&gt;</code></p>
@@ -264,11 +192,11 @@ describes a unary vector operation.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_unary&lt;E, F&gt;
&gt;</code></p>
@@ -366,7 +294,7 @@ conjugate of the transpose of a vector expression.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<p>None.</p>
@@ -423,11 +351,11 @@ describes a binary vector operation.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_binary&lt;E1, E2, F&gt;
&gt;</code></p>
@@ -507,9 +435,9 @@ vector expressions.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<ul>
@@ -564,11 +492,11 @@ F&gt;</code> describes a binary outer vector operation.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#matrix_expression">Matrix Expression</a>
<p><a href="expression_concept.htm#matrix_expression">Matrix Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#matrix_expression">Matrix Expression</a> .</p>
"expression_concept.htm#matrix_expression">Matrix Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>matrix_expression&lt;vector_matrix_binary&lt;E1, E2, F&gt;
&gt;</code></p>
@@ -664,9 +592,9 @@ expressions.</p>
<h4>Type requirements</h4>
<ul>
<li><code>E1</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
<li><code>E2</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<p>None.</p>
@@ -720,11 +648,11 @@ vector.</p>
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_binary_scalar1&lt;E1, E2,
F&gt; &gt;</code> and
@@ -822,9 +750,9 @@ with the reciprocal of the scalar.</p>
<h4>Type requirements</h4>
<ul>
<li><code>T1/T2</code> is a model of <a href=
"expression.htm#scalar_expression">Scalar Expression</a> .</li>
"expression_concept.htm#scalar_expression">Scalar Expression</a> .</li>
<li><code>E2/E1</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Preconditions</h4>
<p>None.</p>

View File

@@ -10,7 +10,7 @@
<title>Vector Proxies</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Vector Proxies</h1>
<h2><a name="vector_range" id="vector_range"></a> Vector Range</h2>
<h4>Description</h4>
@@ -19,6 +19,7 @@ addressing a sub-range of a vector's element.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/vector.hpp&gt;
#include &lt;boost/numeric/ublas/vector_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -48,7 +49,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expressio">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expressio">Vector Expression</a>
.</p>
<p>If the specified range falls outside that of the index range of
the vector, then the <code>vector_range</code> is not a well formed
@@ -56,7 +57,7 @@ Vector Expression. That is, access to an element which is outside
of index range of the vector is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_range&lt;V&gt; &gt;</code></p>
<h4>Members</h4>
@@ -208,30 +209,33 @@ the reversed <code>vector_range</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of vector ranges. Existing <code>matrix_rang</code>'s can be composed with a further range. The resulting range is computed using this existing range's <code>compose</code> function.</p>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class V&gt;
<pre><code>
template&lt;class V&gt;
vector_range&lt;V&gt; project (V &amp;data, const range &amp;r);
template&lt;class V&gt;
const vector_range&lt;const V&gt; project (const V &amp;data, const range &amp;r);
template&lt;class V&gt;
vector_range&lt;V&gt; project (const vector_range&lt;V&gt; &amp;data, const range &amp;r);</code>
</pre>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of vector ranges.</p>
vector_range&lt;V&gt; project (vector_range&lt;V&gt; &amp;data, const range &amp;r);
template&lt;class V&gt;
const vector_range&lt;V&gt; project (const vector_range&lt;V&gt; &amp;data, const range &amp;r);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header vector_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>V</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Linear depending from the size of the range.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/vector.hpp&gt;
#include &lt;boost/numeric/ublas/vector_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -249,6 +253,7 @@ addressing a slice of a vector.</p>
<h4>Example</h4>
<pre>
#include &lt;boost/numeric/ublas/vector.hpp&gt;
#include &lt;boost/numeric/ublas/vector_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {
@@ -278,7 +283,7 @@ int main () {
</tbody>
</table>
<h4>Model of</h4>
<p><a href="expression.htm#vector_expression">Vector Expression</a>
<p><a href="expression_concept.htm#vector_expression">Vector Expression</a>
.</p>
<p>If the specified slice falls outside that of the index range of
the vector, then the <code>vector_slice</code> is not a well formed
@@ -286,7 +291,7 @@ Vector Expression. That is, access to an element which is outside
of index range of the vector is <i>undefined</i>.</p>
<h4>Type requirements</h4>
<p>None, except for those imposed by the requirements of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</p>
"expression_concept.htm#vector_expression">Vector Expression</a> .</p>
<h4>Public base classes</h4>
<p><code>vector_expression&lt;vector_slice&lt;V&gt; &gt;</code></p>
<h4>Members</h4>
@@ -434,32 +439,37 @@ the reversed <code>vector_slice</code>.</td>
</tbody>
</table>
<h3>Projections</h3>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of vector slices. Existing <code>vector_slice</code>'s can be composed with a further range or slices. The resulting slice is computed using this existing slices's <code>compose</code> function.</p>
<h4>Prototypes</h4>
<pre>
<code>template&lt;class V&gt;
vector_slice&lt;V&gt; project (const vector_slice&lt;V&gt; &amp;data, const range &amp;r);
<pre><code>
template&lt;class V&gt;
vector_slice&lt;V&gt; project (V &amp;data, const slice &amp;s);
template&lt;class V&gt;
const vector_slice&lt;const V&gt; project (const V &amp;data, const slice &amp;s);
template&lt;class V&gt;
vector_slice&lt;V&gt; project (const vector_slice&lt;V&gt; &amp;data, const slice &amp;s);</code>
</pre>
<h4>Description</h4>
<p>The free <code>project</code> functions support the construction
of vector slices.</p>
vector_slice&lt;V&gt; project (vector_slice&lt;V&gt; &amp;data, const range &amp;r);
template&lt;class V&gt;
const vector_slice&lt;V&gt; project (const vector_slice&lt;V&gt; &amp;data, const range &amp;r);
template&lt;class V&gt;
vector_slice&lt;V&gt; project (vector_slice&lt;V&gt; &amp;data, const slice &amp;s);</code>
template&lt;class V&gt;
const vector_slice&lt;V&gt; project (const vector_slice&lt;V&gt; &amp;data, const slice &amp;s);
</code></pre>
<h4>Definition</h4>
<p>Defined in the header vector_proxy.hpp.</p>
<h4>Type requirements</h4>
<ul>
<li><code>V</code> is a model of <a href=
"expression.htm#vector_expression">Vector Expression</a> .</li>
"expression_concept.htm#vector_expression">Vector Expression</a> .</li>
</ul>
<h4>Complexity</h4>
<p>Linear depending from the size of the slice.</p>
<h4>Examples</h4>
<pre>
#include &lt;boost/numeric/ublas/vector.hpp&gt;
#include &lt;boost/numeric/ublas/vector_proxy.hpp&gt;
#include &lt;boost/numeric/ublas/io.hpp&gt;
int main () {

View File

@@ -10,7 +10,7 @@
<title>Sparse Vector</title>
</head>
<body>
<h1><img src="../../../../boost.png" alt="boost.png" align="middle" />
<h1><img src="c++boost.gif" alt="c++boost.gif" align="middle" />
Sparse Vector</h1>
<h2><a name="sparse_vector" id="sparse_vector"></a> Sparse
Vector</h2>