diff --git a/doc/container_concept.htm b/doc/container_concept.htm index b1640fa6..6cb2a7bb 100644 --- a/doc/container_concept.htm +++ b/doc/container_concept.htm @@ -12,22 +12,21 @@
Container ConceptsA Vector describes common aspects of dense, packed and sparse vectors.
DefaultConstructible, +RandomAccessContainer and +Vector Expression +[1].
-In addition to the types defined int - Vector Expression -
-| Storage | +StorageArray | array_type | The type of underlying storage used to store the elements |
In addition to the expressions defined in Vector Expression the -following expressions must be valid.
+In addition to the expressions defined in DefaultConstructible, +RandomAccessContainer and +Vector Expression the following expressions must be valid.
V |
|||||
| Element access [1] | -v[n] |
-n is convertible to size_type |
-reference if v is mutable, const_reference otherwise |
-||
| Insert | v.insert_element (i, t) |
@@ -110,15 +104,9 @@ following expressions must be valid.
||||
| Storage | -data() const |
-- | const array_type& |
-||
| Storage | data() |
-v is mutable |
-array_type& |
++ | array_type& if a is mutable, const array_type& otherwise |
v.size () == n.
v[n]0<n>v.size()p == false then existing elements are not preserved and elemen
v.data()v is constvv.data()v is mutablemapped_vector<T> , compressed_vector , coordinate_vectoroperator[] is added purely for convenience
+[1] +As a user you need not care about Vector being a refinement of the VectorExpression. Being a refinement of the VectorExpression is only important for the template-expression engine but not the user.
+[2]
+The operator[] is added purely for convenience
and compatibility with the std::vector. In uBLAS however,
generally operator() is used for indexing because this can be
-used for both vectors and matrices.
-
A Matrix describes common aspects of dense, packed and sparse matrices.
DefaultConstructible, +Matrix Expression +[1] .
-See Matrix Expression -
+In addition to the types defined by RandomAccessContainer and Matrix Expression
+| StorageArray | +array_type | +The type of underlying storage used to store the elements | +
m is mutable. |
void |
+||
| Storage | +data() |
++ | array_type& if a is mutable, const array_type& otherwise |
+
p == false then existing elements are not preserved and elements will not appended as normal. Instead the matrix is in the same state as that after an equivalent sizing constructor.
m.size1 () == n1 and m.size2 () == n2.v.data()vtriangular_matrix<T> , symmetric_matrix<T> , banded_matrix<T>mapped_matrix<T> , compressed_matrix , coordinate_matrix[1] +As a user you need not care about Matrix being a refinement of the MatrixExpression. Being a refinement of the MatrixExpression is only important for the template-expression engine but not the user.
Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission to copy, use, modify, sell and distribute this document
diff --git a/doc/dense_matrix_concept.htm b/doc/dense_matrix_concept.htm
deleted file mode 100644
index b1640fa6..00000000
--- a/doc/dense_matrix_concept.htm
+++ /dev/null
@@ -1,397 +0,0 @@
-
-
-
-Container ConceptsA Vector describes common aspects of dense, packed and sparse -vectors.
--In addition to the types defined int - Vector Expression -
-| Storage | -array_type | -The type of underlying storage used to store the elements | -
V |
-A type that is a model of Vector | -
v |
-Objects of type V |
-
n, i |
-Objects of a type convertible to size_type |
-
t |
-Object of a type convertible to value_type |
-
p |
-Object of a type convertible to bool |
-
In addition to the expressions defined in Vector Expression the -following expressions must be valid.
-| Name | -Expression | -Type requirements | -Return type | -
|---|---|---|---|
| Sizing constructor | -V v (n) |
-- | V |
-
| Element access [1] | -v[n] |
-n is convertible to size_type |
-reference if v is mutable, const_reference otherwise |
-
| Insert | -v.insert_element (i, t) |
-v is mutable. |
-void |
-
| Erase | -v.erase_element (i) |
-v is mutable. |
-void |
-
| Clear | -v.clear () |
-v is mutable. |
-void |
-
| Resize | -v.resize (n)- v.resize (n, p) |
-v is mutable. |
-void |
-
| Storage | -data() const |
-- | const array_type& |
-
| Storage | -data() |
-v is mutable |
-array_type& |
-
Semantics of an expression is defined only where it differs -from, or is not defined in Vector Expression .
-| Name | -Expression | -Precondition | -Semantics | -Postcondition | -
|---|---|---|---|---|
| Sizing constructor | -V v (n) |
-n >= 0 |
-Allocates a vector ofn elements. |
-v.size () == n. |
-
| Element access [1] | -v[n] |
-0<n>v.size() |
-returns the n-th element in v | -- |
| Insert | -v.insert_element (i, t) |
-0 <= i < v.size () and- v (i) is equal to value_type (0). |
-A copy of t is inserted in v. |
-v (i) is a copy of t. |
-
| Erase | -v.erase_element (i) |
-0 <= i < v.size () |
-Destroys the element v (i) and replaces it with
-value_type (). |
-v (i) is a copy of value_type
-(). |
-
| Clear | -v.clear () |
-- | Equivalent to - for (i = 0; i < v.size (); ++ i)- v.erase (i); |
-- |
| Resize | -v.resize (n)
- |
-- | Reallocates the vector so that it can hold n
-elements.-Erases or appends elements in order to bring the vector to the prescribed size. Appended elements copies of value_type().
--When p == false then existing elements are not preserved and elements will not appended as normal. Instead the vector is in the same state as that after an equivalent sizing constructor. |
-v.size () == n. |
-
| Storage | -v.data() |
-v is const |
-Returns a reference to the underlying storage | -- |
| Storage | -v.data() |
-v is mutable |
-Returns a reference to the underlying storage | -- |
The run-time complexity of the sizing constructor is linear in -the vector's size.
-The run-time complexity of insert_element and erase_element is specific for the -vector.
-The run-time complexity of resize is linear in the vector's -size.
-vector<T> , bounded_vector<T, N>unit_vector<T> , zero_vector<T> , scalar_vector<T>mapped_vector<T> , compressed_vector , coordinate_vectoroperator[] is added purely for convenience
-and compatibility with the std::vector. In uBLAS however,
-generally operator() is used for indexing because this can be
-used for both vectors and matrices.
-A Matrix describes common aspects of dense, packed and sparse -matrices.
--See Matrix Expression -
-M |
-A type that is a model of Matrix | -
m |
-Objects of type M |
-
n1, n2, i, j |
-Objects of a type convertible to size_type |
-
t |
-Object of a type convertible to value_type |
-
p |
-Object of a type convertible to bool |
-
In addition to the expressions defined in Matrix Expression the -following expressions must be valid.
-| Name | -Expression | -Type requirements | -Return type | -
|---|---|---|---|
| Sizing constructor | -M m (n1, n2) |
-- | M |
-
| Insert | -m.insert_element (i, j, t) |
-m is mutable. |
-void |
-
| Erase | -m.erase_element (i, j) |
-m is mutable. |
-void |
-
| Clear | -m.clear () |
-m is mutable. |
-void |
-
| Resize | -m.resize (n1, n2)- m.resize (n1, n2, p) |
-m is mutable. |
-void |
-
Semantics of an expression is defined only where it differs -from, or is not defined in Matrix Expression .
-| Name | -Expression | -Precondition | -Semantics | -Postcondition | -
|---|---|---|---|---|
| Sizing constructor | -M m (n1, n2) |
-n1 >= 0 and n2 >= 0 |
-Allocates a matrix of n1 rows and n2
-columns. |
-m.size1 () == n1 and m.size2 () ==
-n2. |
-
| Insert | -m.insert_element (i, j, t) |
-0 <= i < m.size1 (),- 0 <= j < m.size2 ()and is equal to value_type (0). |
-A copy of t is inserted in m. |
-m (i, j) is a copy of t. |
-
| Erase | -m.erase (i, j) |
-0 <= i < m.size1 ()and |
-Destroys the element m (i, j) and replaces it with
-value_type (). |
-m (i, j) is a copy of value_type
-(). |
-
| Clear | -m.clear () |
-- | Equivalent to - for (i = 0; i < m.size1 (); ++ i)- for (j = 0; j < m.size2 (); ++ j)- m.erase (i, j); |
-- |
| Resize | -m.resize (n1, n2)
- |
-- | Reallocate the matrix so that it can hold n1 rows
-and n2 columns.-Erases or appends elements in order to bring the matrix to the -prescribed size. Appended elements are value_type()
-copies.-When p == false then existing elements are not preserved and elements will not appended as normal. Instead the matrix is in the same state as that after an equivalent sizing constructor. |
-m.size1 () == n1 and m.size2 () == n2. |
-
The run-time complexity of the sizing constructor is quadratic -in the matrix's size.
-The run-time complexity of insert_element and erase_element is specific for the -matrix.
-The run-time complexity of resize is quadratic in the matrix's -size.
-matrix<T> , bounded_matrix<T, M, N>identity_matrix<T> , zero_matrix<T> , scalar_matrix<T>triangular_matrix<T> , symmetric_matrix<T> , banded_matrix<T>mapped_matrix<T> , compressed_matrix , coordinate_matrixCopyright (©) 2000-2002 Joerg Walter, Mathias Koch
-Permission to copy, use, modify, sell and distribute this document
-is granted provided this copyright notice appears in all copies.
-This document is provided ``as is'' without express or implied
-warranty, and with no claim as to its suitability for any
-purpose.
Last revised: 24/06/2004
- - diff --git a/doc/dense_vector_concept.htm b/doc/dense_vector_concept.htm deleted file mode 100644 index 5ce23ae2..00000000 --- a/doc/dense_vector_concept.htm +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - -
-DenseVector ConceptA dense-vector is a, exactly as the name says, a dense vector that is intended to behave well for linear algebra operations
-DefaultConstructible, RandomAccessContainer and Vector Expression[1].
-In addition to the types defined by RandomAccessContainer and Vector Expression
-| StorageArray | -array_type | -The type of underlying storage used to store the elements | -
V |
-A type that is a model of Vector | -
T |
-The value_type of elements of V | -
v |
-Objects of type V |
-
n, i |
-Objects of a type convertible to size_type |
-
t |
-Object of a type convertible to T |
-
p |
-Object of a type convertible to bool |
-
In addition to the expressions defined in DefaultConstructible and Vector Expression the following expressions must be valid.
-| Name | -Expression | -Type requirements | -Return type | -
|---|---|---|---|
| Size-constructor | -V v(n) |
-T is DefaultConstructible | -V |
-
| Insert | -v.insert_element (i, t) |
-v is mutable. |
-void |
-
| Erase | -v.erase_element (i) |
-v is mutable. |
-void |
-
| Clear | -v.clear () |
-v is mutable. |
-void |
-
| Resize | -v.resize (n)- v.resize (n, p) |
-v is mutable. |
-void |
-
| Storage | -data() const |
-- | const array_type& |
-
| Storage | -data() |
-v is mutable |
-array_type& |
-
Semantics of an expression is defined only where it differs -from, or is not defined in Vector Expression .
-| Name | -Expression | -Precondition | -Semantics | -Postcondition | -
|---|---|---|---|---|
| Sizing constructor | -V v (n) |
-n >= 0 |
-Allocates a vector ofn elements. |
-v.size () == n. |
-
| Element access [1] | -v[n] |
-0<n>v.size() |
-returns the n-th element in v | -- |
| Insert | -v.insert_element (i, t) |
-0 <= i < v.size () and- v (i) is equal to value_type (0). |
-A copy of t is inserted in v. |
-v (i) is a copy of t. |
-
| Erase | -v.erase_element (i) |
-0 <= i < v.size () |
-Destroys the element v (i) and replaces it with
-value_type (). |
-v (i) is a copy of value_type
-(). |
-
| Clear | -v.clear () |
-- | Equivalent to - for (i = 0; i < v.size (); ++ i)- v.erase (i); |
-- |
| Resize | -v.resize (n)
- |
-- | Reallocates the vector so that it can hold n
-elements.-Erases or appends elements in order to bring the vector to the prescribed size. Appended elements copies of value_type().
--When p == false then existing elements are not preserved and elements will not appended as normal. Instead the vector is in the same state as that after an equivalent sizing constructor. |
-v.size () == n. |
-
| Storage | -v.data() |
-v is const |
-Returns a reference to the underlying storage | -- |
| Storage | -v.data() |
-v is mutable |
-Returns a reference to the underlying storage | -- |
The run-time complexity of the sizing constructor is linear in -the vector's size.
-The run-time complexity of insert_element and erase_element is specific for the -vector.
-The run-time complexity of resize is linear in the vector's -size.
-vector<T> , bounded_vector<T, N>unit_vector<T> , zero_vector<T> , scalar_vector<T>mapped_vector<T> , compressed_vector , coordinate_vector[1]
-As a user you should not care about DenseVector being a refinement of the VectorExpression. Being a refinement of the VectorExpression is only important for the template-expression engine but not the user.
-[1]The operator[] is added purely for convenience
-and compatibility with the std::vector. In uBLAS however,
-generally operator() is used for indexing because this can be
-used for both vectors and matrices.
-
-