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:
More...
#include <UniUpperValue.h>
Inherits blaze::Proxy< UniUpperValue< MT > >.
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;
◆ 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. |
◆ clear()
Clearing the uniupper value.
- Returns
- void
This function clears the uniupper value to its default initial state.
◆ 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 *=()
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 RepresentedType()
Conversion to the represented value.
- Returns
- Copy of the represented value.
◆ 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]
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. |
◆ operator=() [2/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. |
◆ 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.
◆ reset()
Reset the uniupper value to its default initial value.
- Returns
- void
This function resets the uniupper value to its default initial value.
The documentation for this class was generated from the following file: