Representation of an element within a sparse upper unitriangular matrix.
More...
#include <UniUpperElement.h>
Inherits blaze::SparseElement.
|
using | ValueType = UniUpperValue< MT > |
| The value type of the value-index-pair.
|
|
using | IndexType = size_t |
| The index type of the value-index-pair.
|
|
using | Reference = UniUpperValue< MT > |
| Reference return type.
|
|
using | ConstReference = const UniUpperValue< MT > |
| Reference-to-const return type.
|
|
using | Pointer = UniUpperElement * |
| Pointer return type.
|
|
|
using | ElementType = ElementType_t< MT > |
| Type of the represented matrix element.
|
|
using | IteratorType = Iterator_t< MT > |
| Type of the underlying sparse matrix iterators.
|
|
|
IteratorType | pos_ |
| Iterator to the current upper unitriangular matrix element.
|
|
bool | diagonal_ |
| true in case the element is on the diagonal, false if not.
|
|
Reference | value () const |
| Access to the current value of the uniupper element. More...
|
|
IndexType | index () const |
| Access to the current index of the uniupper element. More...
|
|
template<typename MT>
class blaze::UniUpperElement< MT >
Representation of an element within a sparse upper unitriangular matrix.
The UniUpperElement class represents an element (i.e. value/index pair) within a sparse upper unitriangular matrix. It guarantees that the uniupper matrix invariant is not violated, i.e. that elements in the lower part of the matrix remain 0 and the diagonal elements remain 1. The following example illustrates this by means of a
sparse upper unitriangular matrix:
UniUpper A( 3UL );
A(0,1) = -2;
A(0,2) = 3;
A(1,2) = 5;
UniUpper::Iterator it = A.begin( 1UL );
*it = 9;
++it;
*it = 4;
Matrix adapter for upper unitriangular matrices.
Definition: BaseTemplate.h:581
◆ UniUpperElement()
Constructor for the UniUpperElement class.
- Parameters
-
pos | Iterator to the current position with the sparse upper unitriangular matrix. |
diagonal | true in case the element is on the diagonal, false if not. |
◆ index()
Access to the current index of the uniupper element.
- Returns
- The current index of the uniupper element.
◆ operator*=()
template<typename MT >
template<typename T >
Multiplication assignment to the uniupper element.
- Parameters
-
v | The right-hand side value for the multiplication. |
- Returns
- Reference to the assigned uniupper element.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator+=()
template<typename MT >
template<typename T >
Addition assignment to the uniupper element.
- Parameters
-
v | The right-hand side value for the addition. |
- Returns
- Reference to the assigned uniupper element.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator-=()
template<typename MT >
template<typename T >
Subtraction assignment to the uniupper element.
- Parameters
-
v | The right-hand side value for the subtraction. |
- Returns
- Reference to the assigned uniupper element.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator->()
Direct access to the uniupper element.
- Returns
- Reference to the value of the uniupper element.
◆ operator/=()
template<typename MT >
template<typename T >
Division assignment to the uniupper element.
- Parameters
-
v | The right-hand side value for the division. |
- Returns
- Reference to the assigned uniupper element.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator=()
template<typename MT >
template<typename T >
Assignment to the uniupper element.
- Parameters
-
v | The new value of the uniupper element. |
- Returns
- Reference to the assigned uniupper element.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ value()
Access to the current value of the uniupper element.
- Returns
- The current value of the uniupper element.
The documentation for this class was generated from the following file: