Representation of a value within a sparse upper unitriangular matrix.
More...
#include <UniUpperValue.h>
Inherits blaze::Proxy< UniUpperValue< MT > >.
|
RepresentedType * | value_ |
| The represented value.
|
|
bool | diagonal_ |
| true in case the element is on the diagonal, false if not.
|
|
ValueType | real () const |
| Returns the real part of the represented complex number. More...
|
|
void | real (ValueType value) const |
| Setting the real part of the represented complex number. More...
|
|
ValueType | imag () const |
| Returns the imaginary part of the represented complex number. More...
|
|
void | imag (ValueType value) const |
| Setting the imaginary part of the represented complex number. More...
|
|
template<typename MT>
class blaze::UniUpperValue< MT >
Representation of a value within a sparse upper unitriangular matrix.
The UniUpperValue class represents a single value within a sparse upper unitriangular matrix. It guarantees that the uniupper matrix invariant is not violated, i.e. that elements in the upper 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->value() = 9;
++it;
it->value() = 4;
Matrix adapter for upper unitriangular matrices.
Definition: BaseTemplate.h:581
◆ UniUpperValue()
Constructor for the UniUpperValue class.
- Parameters
-
value | Reference to the represented value. |
diagonal | true in case the element is on the diagonal, false if not. |
◆ get()
Access to the represented value.
- Returns
- Copy of the represented value.
◆ imag() [1/2]
Returns the imaginary part of the represented complex number.
- Returns
- The current imaginary part of the represented complex number.
In case the proxy represents a complex number, this function returns the current value of its imaginary part.
◆ imag() [2/2]
Setting the imaginary part of the represented complex number.
- Parameters
-
value | The new value for the imaginary part. |
- Returns
- void
- Exceptions
-
std::invalid_argument | Invalid setting for diagonal matrix element. |
In case the proxy represents a complex number, this function sets a new value to its imaginary part. In case the proxy represents a diagonal element and the given value is not zero, a std::invalid_argument exception is thrown.
◆ invert()
In-place inversion of the uniupper value.
- Returns
- void
◆ isRestricted()
Returns whether the value represents a restricted matrix element..
- Returns
- true in case access to the matrix element is restricted, false if not.
◆ operator RepresentedType()
Conversion to the represented value.
- Returns
- Copy of the represented value.
◆ operator*=()
template<typename MT >
template<typename T >
Multiplication assignment to the uniupper value.
- Parameters
-
value | The right-hand side value for the multiplication. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator+=()
template<typename MT >
template<typename T >
Addition assignment to the uniupper value.
- Parameters
-
value | The right-hand side value to be added to the uniupper value. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator-=()
template<typename MT >
template<typename T >
Subtraction assignment to the uniupper value.
- Parameters
-
value | The right-hand side value to be subtracted from the uniupper value. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator/=()
template<typename MT >
template<typename T >
Division assignment to the uniupper value.
- Parameters
-
value | The right-hand side value for the division. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator=() [1/2]
template<typename MT >
template<typename T >
Assignment to the uniupper value.
- Parameters
-
value | The new value of the uniupper value. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator=() [2/2]
Copy assignment operator for UniUpperValue.
- Parameters
-
uuv | The uniupper value to be copied. |
- Returns
- Reference to the assigned uniupper value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ real() [1/2]
Returns the real part of the represented complex number.
- Returns
- The current real part of the represented complex number.
In case the proxy represents a complex number, this function returns the current value of its real part.
◆ real() [2/2]
Setting the real part of the represented complex number.
- Parameters
-
value | The new value for the real part. |
- Returns
- void
- Exceptions
-
std::invalid_argument | Invalid setting for diagonal matrix element. |
In case the proxy represents a complex number, this function sets a new value to its real part.
The documentation for this class was generated from the following file: