diff --git a/doc/banded.htm b/doc/banded.htm index 47de8ae9..743e2435 100644 --- a/doc/banded.htm +++ b/doc/banded.htm @@ -10,7 +10,7 @@
+
Banded MatrixNone, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<banded_adaptor<M>
>
+
Hermitian MatrixNone, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<hermitian_adaptor<M, F>
>
+
Basic Linear AlgebrauBLAS is a C++ template class library that provides BLAS level 1, 2, 3 functionality @@ -46,51 +46,38 @@ suite.
The original development platform for uBLAS we used MSVC 6.0 -with Dinkumware STL. Other compilers known to accept the library -are
+with Dinkumware STL. Compilers known to accept the library +are:For possible problems please consider to consult the Boost regression tests.
@@ -228,8 +230,8 @@ regression tests. "http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_UBLAS"> Effective uBLAS wiki for up to date information and contributions. -There is also an active uBLAS mailing list where uBLAS specific +
There is also an active uBLAS development mailing list where user and development questions are answered.
uBLAS development takes place via a two tier structure. Active diff --git a/doc/matrix.htm b/doc/matrix.htm index dbecef7f..a9f5c0e5 100644 --- a/doc/matrix.htm +++ b/doc/matrix.htm @@ -10,7 +10,7 @@
+
MatrixNone, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<identity_matrix<T>
>
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<zero_matrix<T> >
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<scalar_matrix<T>
>
+
Matrix Expressionsmatrix itself.
None.
+None. Not a Matrix Expression! +
None.
The templated class matrix_const_reference<E>
-contains a constant reference to a matrix expression.
Defined in the header matrix_expression.hpp.
-| Parameter | -Description | -Default | -
|---|---|---|
E |
-The type of the matrix expression. | -- |
None, except for those imposed by the requirements of Matrix Expression .
-matrix_expression<matrix_const_reference<E>
->
| Member | -Description | -
|---|---|
matrix_const_reference (const expression_type
-&e) |
-Constructs a constant reference of the expression. | -
size_type size1 () const |
-Returns the number of rows. | -
size_type size2 () const |
-Returns the number of columns. | -
const_reference operator () (size_type i, size_type j)
-const |
-Returns the value of the j-th element in the
-i-th row. |
-
const_iterator1 begin1 () const |
-Returns a const_iterator1 pointing to the
-beginning of the expression. |
-
const_iterator1 end1 () const |
-Returns a const_iterator1 pointing to the end of
-the expression. |
-
const_iterator2 begin2 () const |
-Returns a const_iterator2 pointing to the
-beginning of the expression. |
-
const_iterator2 end2 () const |
-Returns a const_iterator2 pointing to the end of
-the expression. |
-
const_reverse_iterator1 rbegin1 () const |
-Returns a const_reverse_iterator1 pointing to the
-beginning of the reversed expression. |
-
const_reverse_iterator1 rend1 () const |
-Returns a const_reverse_iterator1 pointing to the
-end of the reversed expression. |
-
const_reverse_iterator2 rbegin2 () const |
-Returns a const_reverse_iterator2 pointing to the
-beginning of the reversed expression. |
-
const_reverse_iterator2 rend2 () const |
-Returns a const_reverse_iterator2 pointing to the
-end of the reversed expression. |
-
The templated class matrix_reference<E>
@@ -181,11 +84,11 @@ contains a reference to a matrix expression.
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<matrix_reference<E>
>
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<matrix_unary1<E, F> >
and matrix_expression<matrix_unary2<E, F>
@@ -475,7 +378,7 @@ conjugate of the transpose of a matrix expression.
E is a model of Matrix Expression .None.
@@ -533,11 +436,11 @@ describes a binary matrix operation.None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<matrix_binary<E1, E2, F>
>.
E1 is a model of Matrix Expression .E2 is a model of Matrix Expression .None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<matrix_binary_scalar1<E1, E2,
F> > and
@@ -830,9 +733,9 @@ with the reciprocal of the scalar.
T1/T2 is a model of Scalar Expression .E2/E1 is a model of Matrix Expression .None.
@@ -889,11 +792,11 @@ F> describe binary matrix vector operations.None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .vector_expression<matrix_vector_binary1<E1, E2,
F> > and
@@ -1055,12 +958,12 @@ precision product of the matrix and the vector expression.
E1 is a model of Matrix Expression or
-Vector Expression
+"expression_concept.htm#matrix_expression">Matrix Expression or
+Vector Expression
.E2 is a model of Vector Expression or
-Matrix Expression
+"expression_concept.htm#vector_expression">Vector Expression or
+Matrix Expression
.E1 is a model of Matrix Expression or
-Vector Expression
+"expression_concept.htm#matrix_expression">Matrix Expression or
+Vector Expression
.E2 is a model of Vector Expression or
-Matrix Expression
+"expression_concept.htm#vector_expression">Vector Expression or
+Matrix Expression
.None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .matrix_expression<matrix_matrix_binary<E1, E2, F>
> .
E1 is a model of Matrix Expression .E2 is a model of Matrix Expression .E1 is a model of Matrix Expression .E2 is a model of Matrix Expression .
+
Matrix Proxies
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -50,7 +51,7 @@ int main () {
Model of
-
If the specified row falls outside that of the row index range
of the matrix, then the matrix_row is not a well
@@ -58,7 +59,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<matrix_row<M> >
Members
@@ -197,28 +198,29 @@ the reversed matrix_row.
Projections
-Prototypes
-
-template<class M>
- matrix_row<M> row (M &data, std::size_t i);
- template<class M>
- const matrix_row<const M> row (const M &data, std::size_t i);
-
Description
The free row functions support the construction of
matrix rows.
+Prototypes
+
+ template<class M>
+ matrix_row<M> row (M &data, std::size_t i);
+ template<class M>
+ const matrix_row<const M> row (const M &data, std::size_t i);
+
Definition
Defined in the header matrix_proxy.hpp.
Type requirements
M is a model of Matrix Expression .Linear depending from the size of the row.
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -239,6 +241,7 @@ addressing a column of a matrix.
Example
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -270,7 +273,7 @@ int main () {
Model of
-
If the specified row falls outside that of the column index
range of the matrix, then the matrix_column is not a
@@ -278,7 +281,7 @@ well formed Vector Expression. That is, access to an element which
is outside of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<matrix_column<M>
>
@@ -418,28 +421,29 @@ the reversed matrix_column.
Projections
-Prototypes
-
-template<class M>
- matrix_column<M> column (M &data, std::size_t j);
- template<class M>
- const matrix_column<const M> column (const M &data, std::size_t j);
-
Description
The free column functions support the construction
of matrix columns.
+Prototypes
+
+ template<class M>
+ matrix_column<M> column (M &data, std::size_t j);
+ template<class M>
+ const matrix_column<const M> column (const M &data, std::size_t j);
+
Definition
Defined in the header matrix_proxy.hpp.
Type requirements
M is a model of Matrix Expression .Linear depending from the size of the column.
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -459,6 +463,7 @@ allows addressing a sub vector of a matrix.
Example
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -490,7 +495,7 @@ int main () {
Model of
-
If the specified ranges fall outside that of the index range of
the matrix, then the matrix_vector_range is not a well
@@ -498,7 +503,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<matrix_vector_range<M>
>
@@ -644,6 +649,7 @@ allows addressing a sliced sub vector of a matrix.
Example
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -675,7 +681,7 @@ int main () {
Model of
-
If the specified slices fall outside that of the index range of
the matrix, then the matrix_vector_slice is not a well
@@ -683,7 +689,7 @@ formed Vector Expression. That is, access to an element which is
outside of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<matrix_vector_slice<M>
>
@@ -829,6 +835,7 @@ addressing a sub matrix of a matrix.
Example
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -859,7 +866,7 @@ int main () {
Model of
-
If the specified ranges fall outside that of the index range of
the matrix, then the matrix_range is not a well formed
@@ -867,7 +874,7 @@ Matrix Expression. That is, access to an element which is outside
of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .
Public base classes
matrix_expression<matrix_range<M> >
Members
@@ -1061,30 +1068,33 @@ reversed the matrix_range.
Projections
+Description
+The free project functions support the construction
+of matrix ranges. Existing matrix_range's can be composed with further ranges. The resulting ranges are computed using this existing ranges' compose function.
Prototypes
-
-template<class M>
+
+ template<class M>
matrix_range<M> project (M &data, const range &r1, const range &r2);
template<class M>
const matrix_range<const M> project (const M &data, const range &r1, const range &r2);
template<class M>
- matrix_range<M> project (const matrix_range<M> &data, const range &r1, const range &r2);
-
-Description
-The free project functions support the construction
-of matrix ranges.
+ matrix_range<M> project (matrix_range<M> &data, const range &r1, const range &r2);
+ template<class M>
+ const matrix_range<M> project (const matrix_range<M> &data, const range &r1, const range &r2);
+
Definition
Defined in the header matrix_proxy.hpp.
Type requirements
M is a model of Matrix Expression .Quadratic depending from the size of the ranges.
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -1103,6 +1113,7 @@ addressing a sliced sub matrix of a matrix.
Example
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -1133,7 +1144,7 @@ int main () {
Model of
-
If the specified slices fall outside that of the index range of
the matrix, then the matrix_slice is not a well formed
@@ -1141,7 +1152,7 @@ Matrix Expression. That is, access to an element which is outside
of the matrix is undefined.
Type requirements
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .
Public base classes
matrix_expression<matrix_slice<M> >
Members
@@ -1327,32 +1338,37 @@ the reversed matrix_slice.
Projections
+Description
+The free project functions support the construction
+of matrix slices. Existing matrix_slice's can be composed with further ranges or slices. The resulting slices are computed using this existing slices' compose function.
Prototypes
-
-template<class M>
- matrix_slice<M> project (const matrix_slice<M> &data, const range &r1, const range &r2);
+
template<class M>
matrix_slice<M> project (M &data, const slice &s1, const slice &s2);
template<class M>
const matrix_slice<const M> project (const M &data, const slice &s1, const slice &s2);
template<class M>
- matrix_slice<M> project (const matrix_slice<M> &data, const slice &s1, const slice &s2);
-
-Description
-The free project functions support the construction
-of matrix slices.
+ matrix_slice<M> project (matrix_slice<M> &data, const range &r1, const range &r2);
+ template<class M>
+ const matrix_slice<M> project (const matrix_slice<M> &data, const range &r1, const range &r2);
+ template<class M>
+ matrix_slice<M> project (matrix_slice<M> &data, const slice &s1, const slice &s2);
+ template<class M>
+ const matrix_slice<M> project (const matrix_slice<M> &data, const slice &s1, const slice &s2);
+
Definition
Defined in the header matrix_proxy.hpp.
Type requirements
M is a model of Matrix Expression .Quadratic depending from the size of the slices.
#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
diff --git a/doc/matrix_sparse.htm b/doc/matrix_sparse.htm
index 5c17fee0..24722296 100644
--- a/doc/matrix_sparse.htm
+++ b/doc/matrix_sparse.htm
@@ -10,7 +10,7 @@
Sparse Matrix
-
+
Sparse Matrix
Sparse
Matrix
diff --git a/doc/operations_overview.htm b/doc/operations_overview.htm
index b7236e45..8d01a46d 100644
--- a/doc/operations_overview.htm
+++ b/doc/operations_overview.htm
@@ -11,7 +11,7 @@
uBLAS functions overview
-
+
Overview of Matrix and Vector Operations
@@ -34,9 +34,9 @@ Overview of Matrix and Vector Operations
t, t1, t2
are scalar values
r, r1, r2
-are ranges, e.g. range(0, 3)
+are ranges, e.g. range(0, 3)
s, s1, s2
-are slices, e.g. slice(0, 1, 3)
+are slices, e.g. slice(0, 1, 3)
Basic Linear Algebra
diff --git a/doc/overview.htm b/doc/overview.htm
index e6fd4518..2b162424 100644
--- a/doc/overview.htm
+++ b/doc/overview.htm
@@ -10,7 +10,7 @@
uBLAS Overview
-
+
uBLAS Overview
Rationale
It would be nice if every kind of numeric software could
diff --git a/doc/products.htm b/doc/products.htm
index a4eee988..31ab565a 100644
--- a/doc/products.htm
+++ b/doc/products.htm
@@ -11,7 +11,7 @@
-
+
Special Products
Functions
diff --git a/doc/samples/map_array.cpp b/doc/samples/map_array.cpp
index e126e557..5cdc37a4 100644
--- a/doc/samples/map_array.cpp
+++ b/doc/samples/map_array.cpp
@@ -18,7 +18,7 @@
int main () {
using namespace boost::numeric::ublas;
- map_array a;
+ map_array a (3);
for (unsigned i = 0; i < a.size (); ++ i) {
a [i] = i;
std::cout << a [i] << std::endl;
diff --git a/doc/storage_sparse.htm b/doc/storage_sparse.htm
index 3eab424b..0954cd24 100644
--- a/doc/storage_sparse.htm
+++ b/doc/storage_sparse.htm
@@ -10,7 +10,7 @@
Sparse Storage
-
+
Sparse Storage
Default Standard Map
Description
diff --git a/doc/symmetric.htm b/doc/symmetric.htm
index 0fdcb4c7..d74a6f53 100644
--- a/doc/symmetric.htm
+++ b/doc/symmetric.htm
@@ -10,7 +10,7 @@
Symmetric Matrix
-
+
Symmetric Matrix
Symmetric
Matrix
@@ -365,11 +365,11 @@ int main () {
Model of
-
Type requirements
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .
Public base classes
matrix_expression<symmetric_adaptor<M, F>
>
diff --git a/doc/triangular.htm b/doc/triangular.htm
index d8542d81..5ea641e2 100644
--- a/doc/triangular.htm
+++ b/doc/triangular.htm
@@ -10,7 +10,7 @@
Triangular Matrix
-
+
Triangular Matrix
Triangular Matrix
@@ -374,11 +374,11 @@ int main () {
Model of
-
Type requirements
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .
Public base classes
matrix_expression<triangular_adaptor<M, F>
>
diff --git a/doc/types_overview.htm b/doc/types_overview.htm
index 4ffa9861..2ad64866 100644
--- a/doc/types_overview.htm
+++ b/doc/types_overview.htm
@@ -9,7 +9,7 @@
Types Overview
-
+
Overview of Matrix- and Vector-Types
diff --git a/doc/vector.htm b/doc/vector.htm
index e70f1fd9..92612498 100644
--- a/doc/vector.htm
+++ b/doc/vector.htm
@@ -10,7 +10,7 @@
Vector
-
+
Vector
Vector
Description
@@ -66,76 +66,150 @@ int main () {
Member
+Where defined
Description
+value_type
+VectorExpression
+
+
+
+reference
+VectorExpression
+
+
+
+const_reference
+VectorExpression
+
+
+
+size_type
+VectorExpression
+
+
+
+difference_type
+VectorExpression
+
+
+
+const_iterator
+VectorExpression
+
+
+
+iterator
+VectorExpression
+
+
+
+const_reverse_iterator
+VectorExpression
+
+
+
+reverse_iterator
+VectorExpression
+
+
+
+array_type
+Vector
+
+
+
vector ()
+VectorExpression
Allocates an uninitialized vector that holds zero
elements.
vector (size_type size)
+Vector
Allocates an uninitialized vector that holds
size elements.
vector (const vector &v)
+
The copy constructor.
template<class AE>
vector (const vector_expression<AE> &ae)
+
The extended copy constructor.
void resize (size_type size, bool preserve =
true)
+Vector
Reallocates a vector to hold size
elements. The existing elements of the vector are
preseved when specified.
size_type size () const
+VectorExpression
Returns the size of the vector.
+const array_type& data () const
+Vector
+
+
+
+array_type& data ()
+Vector
+
+
+
const_reference operator () (size_type i)
const
+VectorExpression
Returns a const reference of the i
-th element.
reference operator () (size_type i)
+VectorExpression
Returns a reference of the i-th element.
-const_reference operator [] (size_type i)
-const
+const_reference operator [] (size_type i) const
+Vector
Returns a const reference of the i
-th element.
reference operator [] (size_type i)
+Vector
Returns a reference of the i-th element.
vector &operator = (const vector &v)
+VectorExpression
The assignment operator.
vector &assign_temporary (vector &v)
+VectorExpression
Assigns a temporary. May change the vector v.
template<class AE>
vector &operator = (const vector_expression<AE>
&ae)
+VectorExpression
The extended assignment operator.
template<class AE>
vector &assign (const vector_expression<AE>
&ae)
+VectorExpression
Assigns a vector expression to the vector. Left and right hand
side of the assignment should be independent.
@@ -143,6 +217,7 @@ side of the assignment should be independent.
template<class AE>
vector &operator += (const vector_expression<AE>
&ae)
+VectorExpression
A computed assignment operator. Adds the vector expression to
the vector.
@@ -150,6 +225,7 @@ the vector.
template<class AE>
vector &plus_assign (const vector_expression<AE>
&ae)
+VectorExpression
Adds a vector expression to the vector. Left and right hand
side of the assignment should be independent.
@@ -157,6 +233,7 @@ side of the assignment should be independent.
template<class AE>
vector &operator -= (const vector_expression<AE>
&ae)
+VectorExpression
A computed assignment operator. Subtracts the vector expression
from the vector.
@@ -164,75 +241,90 @@ from the vector.
template<class AE>
vector &minus_assign (const vector_expression<AE>
&ae)
+VectorExpression
Subtracts a vector expression from the vector. Left and right
hand side of the assignment should be independent.
template<class AT>
vector &operator *= (const AT &at)
+VectorExpression
A computed assignment operator. Multiplies the vector with a
scalar.
template<class AT>
vector &operator /= (const AT &at)
+VectorExpression
A computed assignment operator. Divides the vector through a
scalar.
void swap (vector &v)
+VectorExpression
Swaps the contents of the vectors.
void insert (size_type i, const_reference t)
+Vector
Inserts the value t at the i-th
element.
void erase (size_type i)
+Vector
Erases the value at the i-th element.
void clear ()
+Vector
Clears the vector.
const_iterator begin () const
+VectorExpression
Returns a const_iterator pointing to the beginning
of the vector.
const_iterator end () const
+VectorExpression
Returns a const_iterator pointing to the end of
the vector.
iterator begin ()
+VectorExpression
Returns a iterator pointing to the beginning of
the vector.
iterator end ()
+VectorExpression
Returns a iterator pointing to the end of the
vector.
const_reverse_iterator rbegin () const
+VectorExpression
Returns a const_reverse_iterator pointing to the
beginning of the reversed vector.
const_reverse_iterator rend () const
+VectorExpression
Returns a const_reverse_iterator pointing to the
end of the reversed vector.
reverse_iterator rbegin ()
+VectorExpression
Returns a reverse_iterator pointing to the
beginning of the reversed vector.
reverse_iterator rend ()
+VectorExpression
Returns a reverse_iterator pointing to the end of
the reversed vector.
@@ -283,11 +375,11 @@ int main () {
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<unit_vector<T> >
Members
@@ -408,11 +500,11 @@ int main () {
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<zero_vector<T> >
Members
@@ -530,11 +622,11 @@ int main () {
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<scalar_vector<T>
>
diff --git a/doc/vector_expression.htm b/doc/vector_expression.htm
index 4a076c54..e5120152 100644
--- a/doc/vector_expression.htm
+++ b/doc/vector_expression.htm
@@ -10,7 +10,7 @@
Vector Expressions
-
+
Vector Expressions
Vector
Expression
@@ -36,7 +36,8 @@ including class vector itself.
Model of
-
None.
+None. Not a Vector Expression!
+
Type requirements
None.
Public base classes
@@ -61,79 +62,6 @@ const
Vector
References
-Constant Reference
-Description
-The templated class vector_const_reference<E>
-contains a constant reference to a vector expression.
-Definition
-Defined in the header vector_expression.hpp.
-Template parameters
-
-
-
-Parameter
-Description
-Default
-
-
-E
-The type of the vector expression.
-
-
-
-
-Model of
-
-Type requirements
-None, except for those imposed by the requirements of Vector Expression .
-Public base classes
-vector_expression<vector_const_reference<E>
->
-Members
-
-
-
-Member
-Description
-
-
-vector_const_reference (const expression_type
-&e)
-Constructs a constant reference of the expression.
-
-
-size_type size () const
-Returns the size of the expression.
-
-
-const_reference operator () (size_type i)
-const
-Returns the value of the i-th element.
-
-
-const_iterator begin () const
-Returns a const_iterator pointing to the beginning
-of the expression.
-
-
-const_iterator end () const
-Returns a const_iterator pointing to the end of
-the expression.
-
-
-const_reverse_iterator rbegin () const
-Returns a const_reverse_iterator pointing to the
-beginning of the reversed expression.
-
-
-const_reverse_iterator rend () const
-Returns a const_reverse_iterator pointing to the
-end of the reversed expression.
-
-
-
Reference
Description
The templated class vector_reference<E>
@@ -156,11 +84,11 @@ contains a reference to a vector expression.
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_reference<E>
>
@@ -264,11 +192,11 @@ describes a unary vector operation.
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_unary<E, F>
>
@@ -366,7 +294,7 @@ conjugate of the transpose of a vector expression.
Type requirements
E is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Preconditions
None.
@@ -423,11 +351,11 @@ describes a binary vector operation.
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_binary<E1, E2, F>
>
@@ -507,9 +435,9 @@ vector expressions.
Type requirements
E1 is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
E2 is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Preconditions
@@ -564,11 +492,11 @@ F> describes a binary outer vector operation.
Model of
-
Type requirements
None, except for those imposed by the requirements of Matrix Expression .
+"expression_concept.htm#matrix_expression">Matrix Expression .
Public base classes
matrix_expression<vector_matrix_binary<E1, E2, F>
>
@@ -664,9 +592,9 @@ expressions.
Type requirements
E1 is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
E2 is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Preconditions
None.
@@ -720,11 +648,11 @@ vector.
Model of
-
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_binary_scalar1<E1, E2,
F> > and
@@ -822,9 +750,9 @@ with the reciprocal of the scalar.
Type requirements
T1/T2 is a model of Scalar Expression .
+"expression_concept.htm#scalar_expression">Scalar Expression .
E2/E1 is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Preconditions
None.
diff --git a/doc/vector_proxy.htm b/doc/vector_proxy.htm
index 73fec31e..bc9ca0b9 100644
--- a/doc/vector_proxy.htm
+++ b/doc/vector_proxy.htm
@@ -10,7 +10,7 @@
Vector Proxies
-
+
Vector Proxies
Vector Range
Description
@@ -19,6 +19,7 @@ addressing a sub-range of a vector's element.
Example
#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -48,7 +49,7 @@ int main () {
Model of
-
If the specified range falls outside that of the index range of
the vector, then the vector_range 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 undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_range<V> >
Members
@@ -208,30 +209,33 @@ the reversed vector_range.
Projections
+Description
+The free project functions support the construction
+of vector ranges. Existing matrix_rang's can be composed with a further range. The resulting range is computed using this existing range's compose function.
Prototypes
-
-template<class V>
+
+ template<class V>
vector_range<V> project (V &data, const range &r);
template<class V>
const vector_range<const V> project (const V &data, const range &r);
template<class V>
- vector_range<V> project (const vector_range<V> &data, const range &r);
-
-Description
-The free project functions support the construction
-of vector ranges.
+ vector_range<V> project (vector_range<V> &data, const range &r);
+ template<class V>
+ const vector_range<V> project (const vector_range<V> &data, const range &r);
+
Definition
Defined in the header vector_proxy.hpp.
Type requirements
V is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Complexity
Linear depending from the size of the range.
Examples
#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -249,6 +253,7 @@ addressing a slice of a vector.
Example
#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
@@ -278,7 +283,7 @@ int main () {
Model of
-
If the specified slice falls outside that of the index range of
the vector, then the vector_slice 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 undefined.
Type requirements
None, except for those imposed by the requirements of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Public base classes
vector_expression<vector_slice<V> >
Members
@@ -434,32 +439,37 @@ the reversed vector_slice.
Projections
+Description
+The free project functions support the construction
+of vector slices. Existing vector_slice's can be composed with a further range or slices. The resulting slice is computed using this existing slices's compose function.
Prototypes
-
-template<class V>
- vector_slice<V> project (const vector_slice<V> &data, const range &r);
+
template<class V>
vector_slice<V> project (V &data, const slice &s);
template<class V>
const vector_slice<const V> project (const V &data, const slice &s);
template<class V>
- vector_slice<V> project (const vector_slice<V> &data, const slice &s);
-
-Description
-The free project functions support the construction
-of vector slices.
+ vector_slice<V> project (vector_slice<V> &data, const range &r);
+ template<class V>
+ const vector_slice<V> project (const vector_slice<V> &data, const range &r);
+ template<class V>
+ vector_slice<V> project (vector_slice<V> &data, const slice &s);
+ template<class V>
+ const vector_slice<V> project (const vector_slice<V> &data, const slice &s);
+
Definition
Defined in the header vector_proxy.hpp.
Type requirements
V is a model of Vector Expression .
+"expression_concept.htm#vector_expression">Vector Expression .
Complexity
Linear depending from the size of the slice.
Examples
#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
diff --git a/doc/vector_sparse.htm b/doc/vector_sparse.htm
index 9edb87ea..ac1b4167 100644
--- a/doc/vector_sparse.htm
+++ b/doc/vector_sparse.htm
@@ -10,7 +10,7 @@
Sparse Vector
-
+
Sparse Vector
Sparse
Vector