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:
More...
#include <HermitianProxy.h>
Inherits blaze::Proxy< HermitianProxy< MT > >.
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;
◆ HermitianProxy() [1/2]
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. |
◆ HermitianProxy() [2/2]
The copy constructor for HermitianProxy.
- Parameters
-
hp | Numeric proxy to be copied. |
◆ clear()
Clearing the represented element.
- Returns
- void
This function clears the element represented by the proxy to its default initial state.
◆ 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 | Numeric 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.
◆ reset()
Reset the represented element to its default initial value.
- Returns
- void
This function resets the element represented by the proxy to its default initial value.
◆ 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: