Representation of a value within a sparse lower unitriangular matrix.The UniLowerValue class represents a single value within a sparse lower unitriangular matrix. It guarantees that the unilower 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 lower unitriangular matrix:
More...
#include <UniLowerValue.h>
Inherits blaze::Proxy< UniLowerValue< MT > >.
template<typename MT>
class blaze::UniLowerValue< MT >
Representation of a value within a sparse lower unitriangular matrix.
The UniLowerValue class represents a single value within a sparse lower unitriangular matrix. It guarantees that the unilower 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 lower unitriangular matrix:
UniLower A( 3UL );
A(1,0) = -2;
A(2,0) = 3;
A(2,1) = 5;
UniLower::Iterator it = A.begin( 1UL );
it->value() = 4;
++it;
it->value() = 9;
◆ UniLowerValue()
Constructor for the UniLowerValue class.
- Parameters
-
value | Reference to the represented value. |
diagonal | true in case the element is on the diagonal, false if not. |
◆ clear()
Clearing the unilower value.
- Returns
- void
This function clears the unilower 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 unilower 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 unilower value.
- Parameters
-
value | The right-hand side value for the multiplication. |
- Returns
- Reference to the assigned unilower 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 unilower value.
- Parameters
-
value | The right-hand side value to be added to the unilower value. |
- Returns
- Reference to the assigned unilower value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator-=()
template<typename MT>
template<typename T >
Subtraction assignment to the unilower value.
- Parameters
-
value | The right-hand side value to be subtracted from the unilower value. |
- Returns
- Reference to the assigned unilower value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator/=()
template<typename MT>
template<typename T >
Division assignment to the unilower value.
- Parameters
-
value | The right-hand side value for the division. |
- Returns
- Reference to the assigned unilower value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator=() [1/2]
Copy assignment operator for UniLowerValue.
- Parameters
-
ulv | The unilower value to be copied. |
- Returns
- Reference to the assigned unilower value.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
◆ operator=() [2/2]
template<typename MT>
template<typename T >
Assignment to the unilower value.
- Parameters
-
value | The new value of the unilower value. |
- Returns
- Reference to the assigned unilower 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 unilower value to its default initial value.
- Returns
- void
This function resets the unilower value to its default initial value.
The documentation for this class was generated from the following file: