mirror of
https://github.com/boostorg/ublas.git
synced 2026-02-21 15:32:12 +00:00
Fixed various issues in docs (mostly duplicate bookmarks and broken links) found by inspect tool
svn path=/trunk/libs/numeric/ublas/; revision=61437
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Banded Matrix</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="banded_matrix"><a name="banded_matrix" id="banded_matrix"></a>Banded Matrix</h2>
|
||||
<h2><a name="banded_matrix"></a>Banded Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>banded_matrix<T, F, A></code> is
|
||||
the base container adaptor for banded matrices. For a <em>(m x
|
||||
@@ -316,7 +316,7 @@ parameters for the adapted array are
|
||||
<code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="banded_adaptor"><a name="banded_adaptor" id="banded_adaptor"></a>Banded Adaptor</h2>
|
||||
<h2><a name="banded_adaptor"></a>Banded Adaptor</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>banded_adaptor<M></code> is a
|
||||
banded matrix adaptor for other matrices.</p>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Bounded Array Storage</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="bounded_array"><a name="bounded_array" id="bounded_array"></a>Bounded Array</h2>
|
||||
<h2><a name="bounded_array"></a>Bounded Array</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>bounded_array<T, N, ALLOC></code> implements a bounded storage array. The bounded array is similar to a C++ array type in that its maximum size is bounded by N and is allocated on the stack instead of the heap. Similarly a <code>bounded_array</code> requires no secondary storage and ALLOC is only used to specify <code>size_type</code> and <code>difference_type</code>.
|
||||
</p>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Container Concepts</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="vector"><a name="vector" id="vector"></a>Vector</h2>
|
||||
<h2><a name="vector"></a>Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>A Vector describes common aspects of dense, packed and sparse
|
||||
vectors.</p>
|
||||
@@ -211,7 +211,7 @@ The <code>operator[]</code> is added purely for convenience
|
||||
and compatibility with the <code>std::vector</code>. In uBLAS however,
|
||||
generally <code>operator()</code> is used for indexing because this can be
|
||||
used for both vectors and matrices.</p>
|
||||
<h2 id="matrix"><a name="matrix" id="matrix"></a>Matrix</h2>
|
||||
<h2><a name="matrix"></a>Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>A Matrix describes common aspects of dense, packed and sparse
|
||||
matrices.</p>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Expression Concepts</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="scalar_expression"><a name="scalar_expression" id="scalar_expression"></a>Scalar Expression</h2>
|
||||
<h2><a name="scalar_expression"></a>Scalar Expression</h2>
|
||||
<h4>Description</h4>
|
||||
<p>A Scalar Expression is an expression convertible to a scalar
|
||||
type.</p>
|
||||
@@ -92,7 +92,7 @@ evaluated scalar expression.</p>
|
||||
<li><code>vector_scalar_unary</code></li>
|
||||
<li><code>vector_scalar_binary</code></li>
|
||||
</ul>
|
||||
<h2 id="vector_expression"><a name="vector_expression" id="vector_expression"></a>Vector Expression</h2>
|
||||
<h2><a name="vector_expression"></a>Vector Expression</h2>
|
||||
<h4>Description</h4>
|
||||
<p>A Vector Expression is an expression evaluatable to a vector.
|
||||
Vector Expression provides an <a href=
|
||||
@@ -504,7 +504,7 @@ to <code>v.rend ()</code>.</td>
|
||||
<li><code>matrix_vector_binary2</code></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="matrix_expression"><a name="matrix_expression" id="matrix_expression"></a>Matrix Expression</h2>
|
||||
<h2><a name="matrix_expression"></a>Matrix Expression</h2>
|
||||
<h4>Description</h4>
|
||||
<p>A Matrix Expression is an expression evaluatable to a matrix.
|
||||
Matrix Expression provides an <a href=
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Hermitian Matrix</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="hermitian_matrix"><a name="hermitian_matrix" id="hermitian_matrix"></a>Hermitian Matrix</h2>
|
||||
<h2><a name="hermitian_matrix"></a>Hermitian Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>hermitian_matrix<T, F1, F2,
|
||||
A></code> is the base container adaptor for hermitian matrices.
|
||||
@@ -323,7 +323,7 @@ Supported parameters for the adapted array are
|
||||
<code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="hermitian_adaptor"><a name="hermitian_adaptor" id="hermitian_adaptor"></a>Hermitian Adaptor</h2>
|
||||
<h2><a name="hermitian_adaptor"></a>Hermitian Adaptor</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>hermitian_adaptor<M, F></code>
|
||||
is a hermitian matrix adaptor for other matrices.</p>
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<div class="toc" id="toc"></div>
|
||||
<p>An Iterator is a restricted pointer-like object pointing into a
|
||||
vector or matrix container.</p>
|
||||
<h2 id="indexed_bidirectional_iterator"><a name="indexed_bidirectional_iterator" id=
|
||||
"indexed_bidirectional_iterator"></a>Indexed Bidirectional Iterator</h2>
|
||||
<h2><a name="indexed_bidirectional_iterator"
|
||||
></a>Indexed Bidirectional Iterator</h2>
|
||||
<h4>Description</h4>
|
||||
<p>An Indexed Bidirectional Iterator is an iterator of a container
|
||||
that can be dereferenced, incremented, decremented and carries
|
||||
@@ -296,8 +296,8 @@ operator</td>
|
||||
<ul>
|
||||
<li><code>sparse_vector::iterator</code></li>
|
||||
</ul>
|
||||
<h2 id="indexed_random_access_iterator"><a name="indexed_random_access_iterator" id=
|
||||
"indexed_random_access_iterator"></a>Indexed Random Access Iterator</h2>
|
||||
<h2><a name="indexed_random_access_iterator"
|
||||
></a>Indexed Random Access Iterator</h2>
|
||||
<h4>Description</h4>
|
||||
<p>An Indexed Random Access Iterator is an iterator of a container
|
||||
that can be dereferenced, moved forward, moved backward and carries
|
||||
@@ -526,8 +526,8 @@ it2 + (it1 - it2)</code>.</td>
|
||||
<ul>
|
||||
<li><code>vector::iterator</code></li>
|
||||
</ul>
|
||||
<h2 id="indexed_bidirectional_cr_iterator"><a name="indexed_bidirectional_cr_iterator" id=
|
||||
"indexed_bidirectional_cr_iterator"></a>Indexed Bidirectional Column/Row Iterator</h2>
|
||||
<h2><a name="indexed_bidirectional_cr_iterator"
|
||||
></a>Indexed Bidirectional Column/Row Iterator</h2>
|
||||
<h4>Description</h4>
|
||||
<p>An Indexed Bidirectional Column/Row Iterator is an iterator of a
|
||||
container that can be dereferenced, incremented, decremented and
|
||||
@@ -923,8 +923,8 @@ it2t.index1 ()</code> for all <code>it2t</code> with <code>it2t ()
|
||||
<li><code>sparse_matrix::iterator1</code></li>
|
||||
<li><code>sparse_matrix::iterator2</code></li>
|
||||
</ul>
|
||||
<h2 id="indexed_random_access_cr_iterator"><a name="indexed_random_access_cr_iterator" id=
|
||||
"indexed_random_access_cr_iterator"></a>Indexed Random Access Column/Row Iterator</h2>
|
||||
<h2><a name="indexed_random_access_cr_iterator"
|
||||
></a>Indexed Random Access Column/Row Iterator</h2>
|
||||
<h4>Description</h4>
|
||||
<p>An Indexed Random Access Column/Row Iterator is an iterator of a
|
||||
container that can be dereferenced, incremented, decremented and
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Matrix</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="matrix"><a name="matrix" id="matrix"></a>Matrix</h2>
|
||||
<h2><a name="matrix"></a>Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix<T, F, A></code> is the
|
||||
base container adaptor for dense matrices. For a <em>(m x
|
||||
@@ -298,14 +298,14 @@ the reversed <code>matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="matrix_1" id="matrix_1">[1]</a> Supported parameters
|
||||
<p><a name="matrix_1">[1]</a> Supported parameters
|
||||
for the storage organization are <code>row_major</code> and
|
||||
<code>column_major</code>.</p>
|
||||
<p><a name="matrix_2" id="matrix_2">[2]</a> Common parameters
|
||||
<p><a name="matrix_2">[2]</a> Common parameters
|
||||
for the storage array are <code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="identity_matrix"><a name="identity_matrix" id="identity_matrix"></a>Identity Matrix</h2>
|
||||
<h2><a name="identity_matrix"></a>Identity Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>identity_matrix<T, ALLOC></code>
|
||||
represents identity matrices. For a <em>(m x n</em>)-dimensional
|
||||
@@ -455,7 +455,7 @@ end of the reversed <code>identity_matrix</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="zero_matrix"><a name="zero_matrix" id="zero_matrix"></a>Zero Matrix</h2>
|
||||
<h2><a name="zero_matrix"></a>Zero Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>zero_matrix<T, ALLOC></code> represents
|
||||
zero matrices. For a <em>(m x n</em>)-dimensional zero matrix and
|
||||
@@ -601,7 +601,7 @@ end of the reversed <code>zero_matrix</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="scalar_matrix"><a name="scalar_matrix" id="scalar_matrix"></a>Scalar Matrix</h2>
|
||||
<h2><a name="scalar_matrix"></a>Scalar Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>scalar_matrix<T, ALLOC></code>
|
||||
represents scalar matrices. For a <em>(m x n</em>)-dimensional
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Matrix Expressions</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="matrix_expression"><a name="matrix_expression" id="matrix_expression"></a>Matrix Expression</h2>
|
||||
<h2><a name="matrix_expression"></a>Matrix Expression</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_expression<E></code>
|
||||
is required to be a public base of all classes which model the Matrix Expression concept.</p>
|
||||
@@ -63,7 +63,7 @@ const</code></td>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p>The <code>operator[]</code>, <code>row</code>, <code>column</code>, <code>range</code>, <code>slice</code> and <code>project</code> functions have been removed. Use the free functions defined in <a href="matrix_proxy.htm">matrix proxy</a> instead.</p>
|
||||
<h2 id="matrix_container"><a name="matrix_container" id="matrix_container"></a>Matrix Container</h2>
|
||||
<h2><a name="matrix_container"></a>Matrix Container</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_container<C></code>
|
||||
is required to be a public base of all classes which model the Matrix concept.
|
||||
@@ -110,7 +110,7 @@ const</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="matrix_references"><a name="matrix_references" id="matrix_references"></a>Matrix References</h2>
|
||||
<h2><a name="matrix_references"></a>Matrix References</h2>
|
||||
<h3>Reference</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_reference<E></code>
|
||||
@@ -259,7 +259,7 @@ the reversed expression.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="matrix_operations"><a name="matrix_operations" id="matrix_operations"></a>Matrix Operations</h2>
|
||||
<h2><a name="matrix_operations"></a>Matrix Operations</h2>
|
||||
<h3>Unary Operation Description</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated classes <code>matrix_unary1<E, F></code> and
|
||||
@@ -805,7 +805,7 @@ int main () {
|
||||
std::cout << m * 2.0 << std::endl;
|
||||
}
|
||||
</pre>
|
||||
<h2 id="matrix_vector_operations"><a name="matrix_vector_operations" id="matrix_vector_operations"></a>Matrix Vector Operations</h2>
|
||||
<h2><a name="matrix_vector_operations"></a>Matrix Vector Operations</h2>
|
||||
<h3>Binary Operation Description</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated classes <code>matrix_vector_binary1<E1, E2,
|
||||
@@ -1146,7 +1146,7 @@ int main () {
|
||||
std::cout << solve (v, m, lower_tag ()) << std::endl;
|
||||
}
|
||||
</pre>
|
||||
<h2 id="matrix_matrix_operations"><a name="matrix_matrix_operations" id="matrix_matrix_operations"></a>Matrix Matrix Operations</h2>
|
||||
<h2><a name="matrix_matrix_operations"></a>Matrix Matrix Operations</h2>
|
||||
<h3>Binary Operation Description</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_matrix_binary<E1, E2,
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Matrix Proxies</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="matrix_row"><a name="matrix_row" id="matrix_row"></a>Matrix Row</h2>
|
||||
<h2><a name="matrix_row"></a>Matrix Row</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_row<M></code> allows
|
||||
addressing a row of a matrix.</p>
|
||||
@@ -236,7 +236,7 @@ int main () {
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
<h2 id="matrix_column"><a name="matrix_column" id="matrix_column"></a>Matrix Column</h2>
|
||||
<h2><a name="matrix_column"></a>Matrix Column</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_column<M></code> allows
|
||||
addressing a column of a matrix.</p>
|
||||
@@ -458,7 +458,7 @@ int main () {
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
<h2 id="vector_range"><a name="vector_range" id="vector_range"></a>Vector Range</h2>
|
||||
<h2><a name="vector_range"></a>Vector Range</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_vector_range<M></code>
|
||||
allows addressing a sub vector of a matrix.</p>
|
||||
@@ -644,7 +644,7 @@ the reversed <code>matrix_vector_range</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="vector_slice"><a name="vector_slice" id="vector_slice"></a>Vector Slice</h2>
|
||||
<h2><a name="vector_slice"></a>Vector Slice</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_vector_slice<M></code>
|
||||
allows addressing a sliced sub vector of a matrix.</p>
|
||||
@@ -830,7 +830,7 @@ the reversed <code>matrix_vector_slice</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="matrix_range"><a name="matrix_range" id="matrix_range"></a>Matrix Range</h2>
|
||||
<h2><a name="matrix_range"></a>Matrix Range</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_range<M></code> allows
|
||||
addressing a sub matrix of a matrix.</p>
|
||||
@@ -1121,7 +1121,7 @@ int main () {
|
||||
std::cout << project (m, range (0, 3), range (0, 3)) << std::endl;
|
||||
}
|
||||
</pre>
|
||||
<h2 id="matrix_slice"><a name="matrix_slice" id="matrix_slice"></a>Matrix Slice</h2>
|
||||
<h2><a name="matrix_slice"></a>Matrix Slice</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>matrix_slice<M></code> allows
|
||||
addressing a sliced sub matrix of a matrix.</p>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Sparse Matricies</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="mapped_matrix"><a name="mapped_matrix" id="mapped_matrix"></a>Mapped Matrix</h2>
|
||||
<h2><a name="mapped_matrix"></a>Mapped Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>mapped_matrix<T, F, A></code> is
|
||||
the base container adaptor for sparse matricies using element maps.
|
||||
@@ -311,15 +311,15 @@ the reversed <code>mapped_matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="mapped_matrix_1" id="mapped_matrix_1">[1]</a> Supported
|
||||
<p><a name="mapped_matrix_1">[1]</a> Supported
|
||||
parameters for the storage organization are <code>row_major</code>
|
||||
and <code>column_major</code>.</p>
|
||||
<p><a name="mapped_matrix_2" id="mapped_matrix_2">[2]</a> Supported
|
||||
<p><a name="mapped_matrix_2">[2]</a> Supported
|
||||
parameters for the adapted array are
|
||||
<code>map_array<std::size_t, T></code> and
|
||||
<code>map_std<std::size_t, T></code>. The latter is
|
||||
equivalent to <code>std::map<std::size_t, T></code>.</p>
|
||||
<h2 id="compressed_matrix"><a name="compressed_matrix" id="compressed_matrix"></a>Compressed Matrix</h2>
|
||||
<h2><a name="compressed_matrix"></a>Compressed Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>compressed_matrix<T, F, IB, IA,
|
||||
TA></code> is the base container adaptor for compressed
|
||||
@@ -628,18 +628,18 @@ the reversed <code>compressed_matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="compressed_matrix_1" id="compressed_matrix_1">[1]</a>
|
||||
<p><a name="compressed_matrix_1">[1]</a>
|
||||
Supported parameters for the storage organization are
|
||||
<code>row_major</code> and <code>column_major</code>.</p>
|
||||
<p><a name="compressed_matrix_2" id="compressed_matrix_2">[2]</a>
|
||||
<p><a name="compressed_matrix_2">[2]</a>
|
||||
Supported parameters for the index base are <code>0</code> and
|
||||
<code>1</code> at least.</p>
|
||||
<p><a name="compressed_matrix_3" id="compressed_matrix_3">[3]</a>
|
||||
<p><a name="compressed_matrix_3">[3]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<></code> ,
|
||||
<code>bounded_array<></code> and
|
||||
<code>std::vector<></code> .</p>
|
||||
<h2 id="coordinate_matrix"><a name="coordinate_matrix" id="coordinate_matrix"></a>Coordinate Matrix</h2>
|
||||
<h2><a name="coordinate_matrix"></a>Coordinate Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>coordinate_matrix<T, F, IB, IA,
|
||||
TA></code> is the base container adaptor for compressed
|
||||
@@ -954,13 +954,13 @@ the reversed <code>coordinate_matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="coordinate_matrix_1" id="coordinate_matrix_1">[1]</a>
|
||||
<p><a name="coordinate_matrix_1">[1]</a>
|
||||
Supported parameters for the storage organization are
|
||||
<code>row_major</code> and <code>column_major</code>.</p>
|
||||
<p><a name="coordinate_matrix_2" id="coordinate_matrix_2">[2]</a>
|
||||
<p><a name="coordinate_matrix_2">[2]</a>
|
||||
Supported parameters for the index base are <code>0</code> and
|
||||
<code>1</code> at least.</p>
|
||||
<p><a name="coordinate_matrix_3" id="coordinate_matrix_3">[3]</a>
|
||||
<p><a name="coordinate_matrix_3">[3]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<></code> ,
|
||||
<code>bounded_array<></code> and
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<td>are <a href="range.htm#slice">slices</a>, e.g. <code>slice(0, 1, 3)</code></td></tr>
|
||||
</table>
|
||||
|
||||
<h2 id="blas"><a name="blas">Basic Linear Algebra</a></h2>
|
||||
<h2><a name="blas">Basic Linear Algebra</a></h2>
|
||||
|
||||
<h3>standard operations: addition, subtraction, multiplication by a
|
||||
scalar</h3>
|
||||
@@ -81,7 +81,7 @@ w = conj(u); w = real(u); w = imag(u);
|
||||
C = trans(A); C = conj(A); C = herm(A); C = real(A); C = imag(A);
|
||||
</code></pre>
|
||||
|
||||
<h2 id="advanced"><a name="advanced">Advanced functions</a></h2>
|
||||
<h2><a name="advanced">Advanced functions</a></h2>
|
||||
|
||||
<h3>norms</h3>
|
||||
|
||||
@@ -129,7 +129,7 @@ opb_prod(A, B, C, false); // C += A * B
|
||||
may give a speedup if <code>A</code> has less columns than rows,
|
||||
because the product is computed as a sum of outer products.</p>
|
||||
|
||||
<h2 id="sub"><a name="sub">Submatrices, Subvectors</a></h2>
|
||||
<h2><a name="sub">Submatrices, Subvectors</a></h2>
|
||||
<p>Accessing submatrices and subvectors via <b>proxies</b> using <code>project</code> functions:</p>
|
||||
<pre><code>
|
||||
w = project(u, r); // the subvector of u specifed by the index range r
|
||||
@@ -181,7 +181,7 @@ the column with a slice with stride 0 thus:<br />
|
||||
slice(0,0,2));
|
||||
</code></p>
|
||||
|
||||
<h2 id="speed"><a name="speed">Speed improvements</a></h2>
|
||||
<h2><a name="speed">Speed improvements</a></h2>
|
||||
<h3><a name='noalias'>Matrix / Vector assignment</a></h3>
|
||||
<p>If you know for sure that the left hand expression and the right
|
||||
hand expression have no common storage, then assignment has
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" alt="logo"/>uBLAS Overview</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="rationale"><a name="rationale" id="rationale" />Rationale</h2>
|
||||
<h2><a name="rationale">Rationale</h2>
|
||||
<p><cite>It would be nice if every kind of numeric software could
|
||||
be written in C++ without loss of efficiency, but unless something
|
||||
can be found that achieves this without compromising the C++ type
|
||||
@@ -265,7 +265,7 @@ development cycle. Switching from debug mode to release mode is
|
||||
controlled by the <code>NDEBUG</code> preprocessor symbol of
|
||||
<code><cassert></code>.</p>
|
||||
|
||||
<h2 id="functionality"><a name="functionality" id="functionality"/>Functionality</h2>
|
||||
<h2><a name="functionality">Functionality</h2>
|
||||
|
||||
<p>Every C++ library supporting linear algebra will be measured
|
||||
against the long-standing Fortran package BLAS. We now describe how
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Range and Slice Storage</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="range"><a name="range" id="range"></a>Range<SizeType,DistanceType></h2>
|
||||
<h2><a name="range"></a>Range<SizeType,DistanceType></h2>
|
||||
<h4>Description</h4>
|
||||
<p>The class <code>range</code> specifies a range of indicies. The range is a sequence of indices
|
||||
from a start value to stop value. The indices increase by one and exlude the stop value.
|
||||
@@ -104,7 +104,7 @@ end of the reversed <code>range</code>.</td>
|
||||
<li><code>start () <= stop ()</code></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="slice"><a name="slice" id="slice"></a>Slice<SizeType,DistanceType></h2>
|
||||
<h2><a name="slice"></a>Slice<SizeType,DistanceType></h2>
|
||||
<h4>Description</h4>
|
||||
<p>The class <code>slice</code> specifies a 'slice' of indicies. Slices are more general
|
||||
then ranges, the stride allows the sequence of indicies to increase and decrease by the specified amount between element.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Storage concept</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="range"><a name="range" id="range"></a>Storage concept</h2>
|
||||
<h2><a name="range"></a>Storage concept</h2>
|
||||
<h4>Description</h4>
|
||||
<p>Storage is a variable-size container whose elements are arranged in a strict linear order.
|
||||
<p>Storage extends the STL Container concept with some STL Sequence-like functionality. The main difference with
|
||||
@@ -154,4 +154,4 @@ each element value may be a previously assigned value or default construced valu
|
||||
})(jQuery);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Sparse Storage</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="map_std"><a name="map_std" id="map_std"></a>Default Standard Map</h2>
|
||||
<h2><a name="map_std"></a>Default Standard Map</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>map_std<I, T, ALLOC></code> provides a
|
||||
wrapper for the standard library associative container
|
||||
@@ -69,7 +69,7 @@ int main () {
|
||||
Container.</p>
|
||||
<h4>Public base classes</h4>
|
||||
<p>std::map</p>
|
||||
<h2 id="map_array"><a name="map_array" id="map_array"></a>Map Array</h2>
|
||||
<h2><a name="map_array"></a>Map Array</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>map_array<I, T, ALLOC></code> implements a <code>std::map</code> like associative container as a sorted array. It therefore some of the Associative Container interface without having the same semantics as an std::map.
|
||||
<p>At any time the <code>map_array</code> has a capacity up to which new element can be inserted.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Symmetric Matrix</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="symmetric_matrix"><a name="symmetric_matrix" id="symmetric_matrix"></a>Symmetric Matrix</h2>
|
||||
<h2><a name="symmetric_matrix"></a>Symmetric Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>symmetric_matrix<T, F1, F2,
|
||||
A></code> is the base container adaptor for symmetric matrices.
|
||||
@@ -60,19 +60,19 @@ int main () {
|
||||
<tr>
|
||||
<td><code>F1</code></td>
|
||||
<td>Functor describing the type of the symmetric matrix. <a name=
|
||||
"#symmetric_matrix_1" id="#symmetric_matrix_1">[1]</a></td>
|
||||
"#symmetric_matrix_1">[1]</a></td>
|
||||
<td><code>lower</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>F2</code></td>
|
||||
<td>Functor describing the storage organization. <a name=
|
||||
"#symmetric_matrix_2" id="#symmetric_matrix_2">[2]</a></td>
|
||||
"#symmetric_matrix_2">[2]</a></td>
|
||||
<td><code>row_major</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>A</code></td>
|
||||
<td>The type of the adapted array. <a name="#symmetric_matrix_3"
|
||||
id="#symmetric_matrix_3">[3]</a></td>
|
||||
>[3]</a></td>
|
||||
<td><code>unbounded_array<T></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -302,18 +302,18 @@ the reversed <code>symmetric_matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="symmetric_matrix_1" id="symmetric_matrix_1">[1]</a>
|
||||
<p><a name="symmetric_matrix_1">[1]</a>
|
||||
Supported parameters for the type of the symmetric matrix are
|
||||
<code>lower</code> and <code>upper</code>.</p>
|
||||
<p><a name="symmetric_matrix_2" id="symmetric_matrix_2">[2]</a>
|
||||
<p><a name="symmetric_matrix_2">[2]</a>
|
||||
Supported parameters for the storage organization are
|
||||
<code>row_major</code> and <code>column_major</code>.</p>
|
||||
<p><a name="symmetric_matrix_3" id="symmetric_matrix_3">[3]</a>
|
||||
<p><a name="symmetric_matrix_3">[3]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="symmetric_adaptor"><a name="symmetric_adaptor" id="symmetric_adaptor"></a>Symmetric Adaptor</h2>
|
||||
<h2><a name="symmetric_adaptor"></a>Symmetric Adaptor</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>symmetric_adaptor<M, F></code>
|
||||
is a symmetric matrix adaptor for other matrices.</p>
|
||||
@@ -567,7 +567,7 @@ the reversed <code>symmetric_adaptor</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="symmetric_adaptor_1" id="symmetric_adaptor_1">[1]</a>
|
||||
<p><a name="symmetric_adaptor_1">[1]</a>
|
||||
Supported parameters for the type of the symmetric adaptor are
|
||||
<code>lower</code> and <code>upper</code>.</p>
|
||||
<hr />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Triangular Matrix</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="triangular_matrix"><a name="triangular_matrix" id="triangular_matrix"></a>Triangular Matrix</h2>
|
||||
<h2><a name="triangular_matrix"></a>Triangular Matrix</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>triangular_matrix<T, F1, F2,
|
||||
A></code> is the base container adaptor for triangular matrices.
|
||||
@@ -317,19 +317,19 @@ the reversed <code>triangular_matrix</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="triangular_matrix_1" id="triangular_matrix_1">[1]</a>
|
||||
<p><a name="triangular_matrix_1">[1]</a>
|
||||
Supported parameters for the type of the triangular matrix are
|
||||
<code>lower</code> , <code>unit_lower</code>, <code>upper</code>
|
||||
and <code>unit_upper</code> .</p>
|
||||
<p><a name="triangular_matrix_2" id="triangular_matrix_2">[2]</a>
|
||||
<p><a name="triangular_matrix_2">[2]</a>
|
||||
Supported parameters for the storage organization are
|
||||
<code>row_major</code> and <code>column_major</code>.</p>
|
||||
<p><a name="triangular_matrix_3" id="triangular_matrix_3">[3]</a>
|
||||
<p><a name="triangular_matrix_3">[3]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="triangular_adaptor"><a name="triangular_adaptor" id="triangular_adaptor"></a>Triangular Adaptor</h2>
|
||||
<h2><a name="triangular_adaptor"></a>Triangular Adaptor</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>triangular_adaptor<M, F></code>
|
||||
is a triangular matrix adaptor for other matrices.</p>
|
||||
@@ -580,7 +580,7 @@ the reversed <code>triangular_adaptor</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="triangular_adaptor_1" id="triangular_adaptor_1">[1]</a>
|
||||
<p><a name="triangular_adaptor_1">[1]</a>
|
||||
Supported parameters for the type of the triangular adaptor are
|
||||
<code>lower</code> , <code>unit_lower</code>, <code>upper</code>
|
||||
and <code>unit_upper</code> .</p>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Unbounded Array Storage</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="unbounded_array"><a name="unbounded_array" id="unbounded_array"></a>Unbounded Array</h2>
|
||||
<h2><a name="unbounded_array"></a>Unbounded Array</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>unbounded_array<T, ALLOC></code> implements a unbounded storage array using an allocator.
|
||||
The unbounded array is similar to a <code>std::vector</code> in that in can grow in size beyond any fixed bound.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Vector</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="vector"><a name="vector" id="vector"></a>Vector</h2>
|
||||
<h2><a name="vector"></a>Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector<T, A></code> is the base
|
||||
container adaptor for dense vectors. For a <em>n</em>-dimensional
|
||||
@@ -347,11 +347,11 @@ the reversed <code>vector</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="vector_1" id="vector_1">[1]</a> Common parameters
|
||||
<p><a name="vector_1">[1]</a> Common parameters
|
||||
for the Storage array are <code>unbounded_array<T></code> ,
|
||||
<code>bounded_array<T></code> and
|
||||
<code>std::vector<T></code> .</p>
|
||||
<h2 id="unit_vector"><a name="unit_vector" id="unit_vector"></a>Unit Vector</h2>
|
||||
<h2><a name="unit_vector"></a>Unit Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>unit_vector<T, ALLOC></code> represents
|
||||
canonical unit vectors. For the <em>k</em>-th
|
||||
@@ -485,7 +485,7 @@ end of the reversed <code>unit_vector</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="zero_vector"><a name="zero_vector" id="zero_vector"></a>Zero Vector</h2>
|
||||
<h2><a name="zero_vector"></a>Zero Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>zero_vector<T, ALLOC></code> represents
|
||||
zero vectors. For a <em>n</em>-dimensional zero vector and <em>0
|
||||
@@ -610,7 +610,7 @@ end of the reversed <code>zero_vector</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="scalar_vector"><a name="scalar_vector" id="scalar_vector"></a>Scalar Vector</h2>
|
||||
<h2><a name="scalar_vector"></a>Scalar Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>scalar_vector<T, ALLOC></code>
|
||||
represents scalar vectors. For a <em>n</em>-dimensional scalar
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Vector Expressions</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="vector_expression"><a name="vector_expression" id="vector_expression"></a>Vector Expression</h2>
|
||||
<h2><a name="vector_expression"></a>Vector Expression</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_expression<E></code>
|
||||
is required to be a public base of all classes which model the Vector Expression concept.</p>
|
||||
@@ -64,7 +64,7 @@ const</code></td>
|
||||
<h4>Notes</h4>
|
||||
<p>The <code>range</code>, <code>slice</code> and <code>project</code> functions have been removed. Use the free functions defined in <a href="vector_proxy.htm">vector proxy</a> instead.</p>
|
||||
|
||||
<h2 id="vector_container"><a name="vector_container" id="vector_container"></a>Vector Container</h2>
|
||||
<h2><a name="vector_container"></a>Vector Container</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_container<C></code>
|
||||
is required to be a public base of all classes which model the Vector concept.
|
||||
@@ -112,7 +112,7 @@ const</code></td>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="vector_references"><a name="vector_references" id="vector_references"></a>Vector References</h2>
|
||||
<h2><a name="vector_references"></a>Vector References</h2>
|
||||
<h3>Reference</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_reference<E></code>
|
||||
@@ -214,7 +214,7 @@ the reversed expression.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="vector_operations"><a name="vector_operations" id="vector_operations"></a>Vector Operations</h2>
|
||||
<h2><a name="vector_operations"></a>Vector Operations</h2>
|
||||
<h3>Unary Operation Description</h3>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_unary<E, F></code>
|
||||
@@ -823,7 +823,7 @@ int main () {
|
||||
std::cout << v * 2.0 << std::endl;
|
||||
}
|
||||
</pre>
|
||||
<h2 id="vector_reductions"><a name="vector_reductions" id="vector_reductions"></a>Vector Reductions</h2>
|
||||
<h2><a name="vector_reductions"></a>Vector Reductions</h2>
|
||||
<h3>Unary Reductions</h3>
|
||||
<h4>Prototypes</h4>
|
||||
<pre>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Vector Proxies</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="vector_range"><a name="vector_range" id="vector_range"></a>Vector Range</h2>
|
||||
<h2><a name="vector_range"></a>Vector Range</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_range<V></code> allows
|
||||
addressing a sub-range of a vector's element.</p>
|
||||
@@ -262,7 +262,7 @@ int main () {
|
||||
std::cout << project (v, range (0, 3)) << std::endl;
|
||||
}
|
||||
</pre>
|
||||
<h2 id="vector_slice"><a name="vector_slice" id="vector_slice"></a>Vector Slice</h2>
|
||||
<h2><a name="vector_slice"></a>Vector Slice</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>vector_slice<V></code> allows
|
||||
addressing a slice of a vector.</p>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<body>
|
||||
<h1><img src="../../../../boost.png" align="middle" />Sparse Vector</h1>
|
||||
<div class="toc" id="toc"></div>
|
||||
<h2 id="mapped_vector"><a name="mapped_vector" id="mapped_vector"></a>Mapped Vector</h2>
|
||||
<h2><a name="mapped_vector"></a>Mapped Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>mapped_vector<T, A></code> is
|
||||
the base container adaptor for sparse vectors using element maps. For a
|
||||
@@ -253,12 +253,12 @@ the reversed <code>mapped_vector</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="mapped_vector_1" id="mapped_vector_1">[1]</a> Supported
|
||||
<p><a name="mapped_vector_1">[1]</a> Supported
|
||||
parameters for the adapted array are
|
||||
<code>map_array<std::size_t, T></code> and
|
||||
<code>map_std<std::size_t, T></code>. The latter is
|
||||
equivalent to <code>std::map<std::size_t, T></code>.</p>
|
||||
<h2 id="compressed_vector"><a name="compressed_vector" id="compressed_vector"></a>Compressed Vector</h2>
|
||||
<h2><a name="compressed_vector"></a>Compressed Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>compressed_vector<T, IB, IA,
|
||||
TA></code> is the base container adaptor for compressed vectors.
|
||||
@@ -509,15 +509,15 @@ the reversed <code>compressed_vector</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="compressed_vector_1" id="compressed_vector_1">[1]</a>
|
||||
<p><a name="compressed_vector_1">[1]</a>
|
||||
Supported parameters for the index base are <code>0</code> and
|
||||
<code>1</code> at least.</p>
|
||||
<p><a name="compressed_vector_2" id="compressed_vector_2">[2]</a>
|
||||
<p><a name="compressed_vector_2">[2]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<></code> ,
|
||||
<code>bounded_array<></code> and
|
||||
<code>std::vector<></code> .</p>
|
||||
<h2 id="coordinate_vector"><a name="coordinate_vector" id="coordinate_vector"></a>Coordinate Vector</h2>
|
||||
<h2><a name="coordinate_vector"></a>Coordinate Vector</h2>
|
||||
<h4>Description</h4>
|
||||
<p>The templated class <code>coordinate_vector<T, IB, IA,
|
||||
TA></code> is the base container adaptor for compressed vectors.
|
||||
@@ -774,10 +774,10 @@ the reversed <code>coordinate_vector</code>.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Notes</h4>
|
||||
<p><a name="coordinate_vector_1" id="coordinate_vector_1">[1]</a>
|
||||
<p><a name="coordinate_vector_1">[1]</a>
|
||||
Supported parameters for the index base are <code>0</code> and
|
||||
<code>1</code> at least.</p>
|
||||
<p><a name="coordinate_vector_2" id="coordinate_vector_2">[2]</a>
|
||||
<p><a name="coordinate_vector_2">[2]</a>
|
||||
Supported parameters for the adapted array are
|
||||
<code>unbounded_array<></code> ,
|
||||
<code>bounded_array<></code> and
|
||||
|
||||
Reference in New Issue
Block a user