SpECTRE  v2024.05.11
ComplexDiagonalModalOperator Class Reference

A class for an element-wise complex multiplier of modal coefficients. More...

#include <ComplexDiagonalModalOperator.hpp>

Public Types

using BaseType = VectorImpl< std::complex< double >, ComplexDiagonalModalOperator >

Public Member Functions

 ComplexDiagonalModalOperator (const ComplexDiagonalModalOperator &)=default
 ComplexDiagonalModalOperator (ComplexDiagonalModalOperator &&)=default
ComplexDiagonalModalOperatoroperator= (const ComplexDiagonalModalOperator &)=default
ComplexDiagonalModalOperatoroperator= (ComplexDiagonalModalOperator &&)=default

Detailed Description

A class for an element-wise complex multiplier of modal coefficients.


A ComplexDiagonalModalOperator holds an array of factors to multiply by spectral coefficients, and can be either owning (the array is deleted when the ComplexDiagonalModalOperator goes out of scope) or non-owning, meaning it just has a pointer to an array.

ComplexDiagonalModalOperators are intended to represent a diagonal matrix that can operate (via the * operator) on spectral coefficients represented by ComplexModalVectors easily. Only basic mathematical operations are supported with ComplexDiagonalModalOperators. ComplexDiagonalModalOperators may be added, subtracted, multiplied, or divided, and all arithmetic operations are similarly supported between ComplexDiagonalModalOperators and DiagonalModalOperators. In addition, the following operations with modal data structures are supported:

The following unary operations are supported with ComplexDiagonalModalOperators:

Also, addition, subtraction, multiplication and division of DiagonalModalOperators with std::complex<double>s or doubles is supported.

The documentation for this class was generated from the following file: