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 Concepts

-

Vector

+

Vector

Description

A Vector describes common aspects of dense, packed and sparse vectors.

Refinement of

-

Vector Expression -.

+

DefaultConstructible, +RandomAccessContainer and +Vector Expression +[1].

Associated types

-

-In addition to the types defined int - Vector Expression -

- +

In addition to the types defined by RandomAccessContainer and Vector Expression

+
- + @@ -60,9 +59,9 @@ In addition to the types defined int
StorageStorageArray array_type The type of underlying storage used to store the elements

Definitions

Valid expressions

-

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.

@@ -78,11 +77,6 @@ following expressions must be valid.

- - - - - @@ -110,15 +104,9 @@ following expressions must be valid.

- - - - - - - - + +
V
Element access [1]v[n]n is convertible to size_typereference if v is mutable, const_reference otherwise
Insert v.insert_element (i, t)
Storagedata() constconst array_type&
Storage data()v is mutablearray_type& array_type& if a is mutable, const array_type& otherwise
@@ -142,11 +130,11 @@ from, or is not defined in v.size () == n. -Element access [1] +Element access [2] v[n] 0<n>v.size() returns the n-th element in v - +  Insert @@ -189,16 +177,9 @@ When p == false then existing elements are not preserved and elemen Storage v.data() -v is const +v Returns a reference to the underlying storage - - - -Storage -v.data() -v is mutable -Returns a reference to the underlying storage - + 

Complexity guarantees

@@ -216,21 +197,33 @@ size.

  • mapped_vector<T> , compressed_vector , coordinate_vector
  • Notes

    -[1]The operator[] 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. -

    Matrix

    +used for both vectors and matrices.

    +

    Matrix

    Description

    A Matrix describes common aspects of dense, packed and sparse matrices.

    Refinement of

    -

    Matrix Expression +

    DefaultConstructible, +Matrix Expression +[1] .

    Associated types

    -

    -See Matrix Expression -

    +

    In addition to the types defined by RandomAccessContainer and Matrix Expression

    + + + + + + + + +
    StorageArrayarray_typeThe type of underlying storage used to store the elements

    Notation

    @@ -300,6 +293,12 @@ following expressions must be valid.

    + + + + + +
    m is mutable. void
    Storagedata() array_type& if a is mutable, const array_type& otherwise

    Expression semantics

    @@ -368,6 +367,12 @@ 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. + +Storage +v.data() +v +Returns a reference to the underlying storage + 

    Complexity guarantees

    @@ -385,6 +390,9 @@ size.

  • triangular_matrix<T> , symmetric_matrix<T> , banded_matrix<T>
  • mapped_matrix<T> , compressed_matrix , coordinate_matrix
  • +

    Notes

    +

    [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 Concepts - - -

    -Container Concepts

    -

    Vector

    -

    Description

    -

    A Vector describes common aspects of dense, packed and sparse -vectors.

    -

    Refinement of

    -

    Vector Expression -.

    -

    Associated types

    -

    -In addition to the types defined int - Vector Expression -

    - - - - - - - - -
    Storagearray_typeThe type of underlying storage used to store the elements
    -

    Notation

    - - - - - - - - - - - - - - - - - - - - - - - -
    VA type that is a model of Vector
    vObjects of type V
    n, iObjects of a type convertible to size_type
    tObject of a type convertible to value_type
    pObject of a type convertible to bool
    -

    Definitions

    -

    Valid expressions

    -

    In addition to the expressions defined in Vector Expression the -following expressions must be valid.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionType requirementsReturn type
    Sizing constructorV v (n) V
    Element access [1]v[n]n is convertible to size_typereference if v is mutable, const_reference otherwise
    Insertv.insert_element (i, t)v is mutable.void
    Erasev.erase_element (i)v is mutable.void
    Clearv.clear ()v is mutable.void
    Resizev.resize (n)
    -v.resize (n, p)
    v is mutable.void
    Storagedata() constconst array_type&
    Storagedata()v is mutablearray_type&
    -

    Expression semantics

    -

    Semantics of an expression is defined only where it differs -from, or is not defined in Vector Expression .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionPreconditionSemanticsPostcondition
    Sizing constructorV v (n)n >= 0Allocates a vector ofn elements.v.size () == n.
    Element access [1]v[n]0<n>v.size()returns the n-th element in v
    Insertv.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.
    Erasev.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 -().
    Clearv.clear () Equivalent to
    -for (i = 0; i < v.size (); ++ i)
    v.erase (i);
     
    Resizev.resize (n) -
    v.resize (n, p)
     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.
    Storagev.data()v is constReturns a reference to the underlying storage
    Storagev.data()v is mutableReturns a reference to the underlying storage
    -

    Complexity guarantees

    -

    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.

    -

    Invariants

    -

    Models

    - -

    Notes

    -[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. -

    Matrix

    -

    Description

    -

    A Matrix describes common aspects of dense, packed and sparse -matrices.

    -

    Refinement of

    -

    Matrix Expression -.

    -

    Associated types

    -

    -See Matrix Expression -

    -

    Notation

    - - - - - - - - - - - - - - - - - - - - - - - -
    MA type that is a model of Matrix
    mObjects of type M
    n1, n2, i, jObjects of a type convertible to size_type
    tObject of a type convertible to value_type
    pObject of a type convertible to bool
    -

    Definitions

    -

    Valid expressions

    -

    In addition to the expressions defined in Matrix Expression the -following expressions must be valid.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionType requirementsReturn type
    Sizing constructorM m (n1, n2) M
    Insertm.insert_element (i, j, t)m is mutable.void
    Erasem.erase_element (i, j)m is mutable.void
    Clearm.clear ()m is mutable.void
    Resizem.resize (n1, n2)
    -m.resize (n1, n2, p)
    m is mutable.void
    -

    Expression semantics

    -

    Semantics of an expression is defined only where it differs -from, or is not defined in Matrix Expression .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionPreconditionSemanticsPostcondition
    Sizing constructorM m (n1, n2)n1 >= 0 and n2 >= 0Allocates a matrix of n1 rows and n2 -columns.m.size1 () == n1 and m.size2 () == -n2.
    Insertm.insert_element (i, j, t)0 <= i < m.size1 (),
    -0 <= j < m.size2 ()and
    -m (i, j)
    is equal to value_type (0).
    A copy of t is inserted in m.m (i, j) is a copy of t.
    Erasem.erase (i, j)0 <= i < m.size1 ()and
    -0 <= j < m.size2
    Destroys the element m (i, j) and replaces it with -value_type ().m (i, j) is a copy of value_type -().
    Clearm.clear () Equivalent to
    -for (i = 0; i < m.size1 (); ++ i)
    for (j = 0; j < m.size2 (); ++ j)
    -    m.erase (i, j);
     
    Resizem.resize (n1, n2) -
    -m.resize (n1, n2, p) -
     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.
    -

    Complexity guarantees

    -

    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.

    -

    Invariants

    -

    Models

    - -
    -

    Copyright (©) 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 Concept - - -

    -DenseVector Concept

    -

    DenseVector

    -

    Description

    -

    A dense-vector is a, exactly as the name says, a dense vector that is intended to behave well for linear algebra operations

    -

    Refinement of

    -

    DefaultConstructible, RandomAccessContainer and Vector Expression[1].

    -

    Associated types

    -

    In addition to the types defined by RandomAccessContainer and Vector Expression

    - - - - - - - - -
    StorageArrayarray_typeThe type of underlying storage used to store the elements
    -

    Notation

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    VA type that is a model of Vector
    TThe value_type of elements of V
    vObjects of type V
    n, iObjects of a type convertible to size_type
    tObject of a type convertible to T
    pObject of a type convertible to bool
    -

    Definitions

    -

    Valid expressions

    -

    In addition to the expressions defined in DefaultConstructible and Vector Expression the following expressions must be valid.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionType requirementsReturn type
    Size-constructorV v(n)T is DefaultConstructibleV
    Insertv.insert_element (i, t)v is mutable.void
    Erasev.erase_element (i)v is mutable.void
    Clearv.clear ()v is mutable.void
    Resizev.resize (n)
    -v.resize (n, p)
    v is mutable.void
    Storagedata() constconst array_type&
    Storagedata()v is mutablearray_type&
    -

    Expression semantics

    -

    Semantics of an expression is defined only where it differs -from, or is not defined in Vector Expression .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameExpressionPreconditionSemanticsPostcondition
    Sizing constructorV v (n)n >= 0Allocates a vector ofn elements.v.size () == n.
    Element access [1]v[n]0<n>v.size()returns the n-th element in v
    Insertv.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.
    Erasev.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 -().
    Clearv.clear () Equivalent to
    -for (i = 0; i < v.size (); ++ i)
    v.erase (i);
     
    Resizev.resize (n) -
    v.resize (n, p)
     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.
    Storagev.data()v is constReturns a reference to the underlying storage
    Storagev.data()v is mutableReturns a reference to the underlying storage
    -

    Complexity guarantees

    -

    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.

    -

    Invariants

    -

    Models

    - -

    Notes

    -

    [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. - -