Access proxy for Hermitian matrices.
More...
#include <HermitianProxy.h>
Inherits blaze::Proxy< HermitianProxy< MT > >.
|
using | RepresentedType = ElementType_t< MT > |
| Type of the represented matrix element.
|
|
using | Reference = Reference_t< MT > |
| Reference to the represented element.
|
|
using | ConstReference = ConstReference_t< MT > |
| Reference-to-const to the represented element.
|
|
using | Pointer = HermitianProxy * |
| Pointer to the represented element.
|
|
using | ConstPointer = const HermitianProxy * |
| Pointer-to-const to the represented element.
|
|
using | ValueType = UnderlyingBuiltin_t< RepresentedType > |
| Value type of the represented complex element.
|
|
using | value_type = ValueType |
| Value type of the represented complex element.
|
|
|
|
Reference | value1_ |
| Reference to the first accessed matrix element.
|
|
Reference | value2_ |
| Reference to the second accessed matrix element.
|
|
const bool | diagonal_ |
| Flag for the accessed matrix element. More...
|
|
template<typename MT>
class blaze::HermitianProxy< MT >
Access proxy for Hermitian matrices.
The HermitianProxy provides controlled access to the elements of a non-const Hermitian matrix. It guarantees that a modification of element
of the accessed matrix is also applied to element
. The following example illustrates this by means of a
dense Hermitian matrix:
A(0,2) = -2;
A(1,1) = 3;
A(1,2) = 5;
Matrix adapter for Hermitian matrices.
Definition: BaseTemplate.h:616
◆ HermitianProxy()
Initialization constructor for a HermitianProxy.
- Parameters
-
matrix | Reference to the adapted matrix. |
row | The row-index of the accessed matrix element. |
column | The column-index of the accessed matrix element. |
◆ get()
Returning the value of the accessed matrix element.
- Returns
- Direct/raw reference to the accessed matrix element.
◆ 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 represented element.
- Returns
- void
◆ operator ConstReference()
Conversion to the accessed matrix element.
- Returns
- Direct/raw reference to the accessed matrix element.
◆ operator%=()
template<typename MT >
template<typename T >
Modulo assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the modulo operation. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator*=()
template<typename MT >
template<typename T >
Multiplication assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the multiplication. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator+=()
template<typename MT >
template<typename T >
Addition assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value to be added to the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator-=()
template<typename MT >
template<typename T >
Subtraction assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value to be subtracted from the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator->() [1/2]
Direct access to the represented matrix element.
- Returns
- Pointer to the represented matrix element.
◆ operator->() [2/2]
Direct access to the represented matrix element.
- Returns
- Pointer to the represented matrix element.
◆ operator/=()
template<typename MT >
template<typename T >
Division assignment to the accessed matrix element.
- Parameters
-
value | The right-hand side value for the division. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator=() [1/2]
Copy assignment operator for HermitianProxy.
- Parameters
-
hp | Hermitian proxy to be copied. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ operator=() [2/2]
template<typename MT >
template<typename T >
Assignment to the accessed matrix element.
- Parameters
-
value | The new value of the matrix element. |
- Returns
- Reference to the assigned proxy.
- Exceptions
-
std::invalid_argument | Invalid assignment to diagonal matrix element. |
In case the proxy represents a diagonal element and the assigned value does not represent a real number, a std::invalid_argument exception is thrown.
◆ 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
In case the proxy represents a complex number, this function sets a new value to its real part.
◆ diagonal_
Flag for the accessed matrix element.
The flag indicates if the accessed element is a diagonal element. It is true in case the proxy represents an element on the diagonal.
The documentation for this class was generated from the following file: