35#ifndef _BLAZE_MATH_ADAPTORS_HERMITIANMATRIX_HERMITIANELEMENT_H_
36#define _BLAZE_MATH_ADAPTORS_HERMITIANMATRIX_HERMITIANELEMENT_H_
111template<
typename MT >
214template< typename MT >
240template<
typename MT >
241template<
typename T >
263template<
typename MT >
264template<
typename T >
285template<
typename MT >
286template<
typename T >
307template<
typename MT >
308template<
typename T >
329template<
typename MT >
330template<
typename T >
357template<
typename MT >
378template<
typename MT >
391template<
typename MT >
394 return pos_->index();
404template<
typename MT >
410 const size_t row ( ( IsRowMajorMatrix_v<MT> )?(
pos_->index() ):(
index_ ) );
411 const size_t column( ( IsRowMajorMatrix_v<MT> )?(
index_ ):(
pos_->index() ) );
423template<
typename MT >
426 const size_t row ( ( IsRowMajorMatrix_v<MT> )?(
pos_->index() ):(
index_ ) );
427 const size_t column( ( IsRowMajorMatrix_v<MT> )?(
index_ ):(
pos_->index() ) );
433 ( pos2 !=
end &&
pos_->value() ==
conj( pos2->value() ) );
Header file for auxiliary alias declarations.
typename T::ElementType ElementType_t
Alias declaration for nested ElementType type definitions.
Definition: Aliases.h:190
typename T::Iterator Iterator_t
Alias declaration for nested Iterator type definitions.
Definition: Aliases.h:210
Header file for run time assertion macros.
Header file for the conjugate shim.
Constraint on the data type.
Header file for the HermitianValue class.
Constraint on the data type.
Header file for the IsComplex type trait.
Header file for the isDefault shim.
Header file for the isReal shim.
Header file for the IsRowMajorMatrix type trait.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
Representation of two synchronized elements within the sparse Hermitian matrix.
Definition: HermitianElement.h:114
Pointer operator->() noexcept
Direct access to the Hermitian element.
Definition: HermitianElement.h:358
MT * matrix_
The sparse matrix containing the iterator.
Definition: HermitianElement.h:174
size_t index_
The row/column index of the iterator.
Definition: HermitianElement.h:175
size_t IndexType
The index type of the value-index-pair.
Definition: HermitianElement.h:124
bool isSynced() const
Checking if the current sparse element is in sync.
Definition: HermitianElement.h:424
Iterator_t< MT > IteratorType
Type of the underlying sparse matrix iterators.
Definition: HermitianElement.h:118
void sync()
Synchronization of the current sparse element to the according paired element.
Definition: HermitianElement.h:405
IndexType index() const
Access to the current index of the Hermitian element.
Definition: HermitianElement.h:392
ElementType_t< MT > ElementType
Type of the represented matrix element.
Definition: HermitianElement.h:117
Reference value() const
Access to the current value of the Hermitian element.
Definition: HermitianElement.h:379
HermitianValue< MT > Reference
Reference return type.
Definition: HermitianElement.h:125
HermitianElement(IteratorType pos, MT *matrix, size_t idx)
Constructor for the HermitianElement class.
Definition: HermitianElement.h:215
IteratorType pos_
Iterator to the current sparse Hermitian matrix element.
Definition: HermitianElement.h:173
Representation of two synchronized values within a sparse Hermitian matrix.
Definition: HermitianValue.h:120
Constraint on the data type.
Constraint on the data type.
Constraint on the data type.
decltype(auto) column(Matrix< MT, SO > &matrix, RCAs... args)
Creating a view on a specific column of the given matrix.
Definition: Column.h:137
#define BLAZE_CONSTRAINT_MUST_NOT_BE_VOLATILE(T)
Constraint on the data type.
Definition: Volatile.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_POINTER_TYPE(T)
Constraint on the data type.
Definition: Pointer.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_CONST(T)
Constraint on the data type.
Definition: Const.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_REFERENCE_TYPE(T)
Constraint on the data type.
Definition: Reference.h:79
decltype(auto) conj(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the complex conjugate of each single element of dm.
Definition: DMatMapExpr.h:1464
bool isDefault(const DiagonalMatrix< MT, SO, DF > &m)
Returns whether the given diagonal matrix is in default state.
Definition: DiagonalMatrix.h:169
#define BLAZE_CONSTRAINT_MUST_NOT_BE_SYMMETRIC_MATRIX_TYPE(T)
Constraint on the data type.
Definition: Symmetric.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_VIEW_TYPE(T)
Constraint on the data type.
Definition: View.h:81
#define BLAZE_CONSTRAINT_MUST_NOT_BE_HERMITIAN_MATRIX_TYPE(T)
Constraint on the data type.
Definition: Hermitian.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_UPPER_MATRIX_TYPE(T)
Constraint on the data type.
Definition: Upper.h:81
#define BLAZE_CONSTRAINT_MUST_NOT_BE_COMPUTATION_TYPE(T)
Constraint on the data type.
Definition: Computation.h:81
#define BLAZE_CONSTRAINT_MUST_BE_SPARSE_MATRIX_TYPE(T)
Constraint on the data type.
Definition: SparseMatrix.h:61
#define BLAZE_CONSTRAINT_MUST_NOT_BE_LOWER_MATRIX_TYPE(T)
Constraint on the data type.
Definition: Lower.h:81
#define BLAZE_CONSTRAINT_MUST_BE_SCALAR_TYPE(T)
Constraint on the data type.
Definition: Scalar.h:61
#define BLAZE_CONSTRAINT_MUST_NOT_BE_TRANSFORMATION_TYPE(T)
Constraint on the data type.
Definition: Transformation.h:81
bool isReal(const Proxy< PT, RT > &proxy)
Returns whether the element represents a real number.
Definition: Proxy.h:2297
MT::Iterator end(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:584
decltype(auto) row(Matrix< MT, SO > &, RRAs...)
Creating a view on a specific row of the given matrix.
Definition: Row.h:137
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.
Definition: Assert.h:101
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.
Definition: Exception.h:235
Header file for the exception macros of the math module.
Header file for the SparseElement base class.
Base class for all sparse element types.
Definition: SparseElement.h:58
Header file for basic type definitions.