Template Class NormalOperatorSequence

Inheritance Relationships

Base Types

  • public container::svector< NormalOperator< Statistics::FermiDirac > >

  • public sequant::Expr (Class Expr)

Class Documentation

template<Statistics S = Statistics::FermiDirac>
class NormalOperatorSequence : public container::svector<NormalOperator<Statistics::FermiDirac>>, public sequant::Expr

NormalOperatorSequence is a sequence NormalOperator objects, all ordered with respect to same vacuum.

Template Parameters:

S – specifies the particle statistics

Public Types

using base_type = container::svector<NormalOperator<S>>

Public Functions

inline NormalOperatorSequence()

constructs an empty sequence

template<typename ...NOps, typename = std::enable_if_t<(std::is_convertible_v<NOps, NormalOperator<S>> && ...)>>
inline NormalOperatorSequence(NOps&&... operators)

constructs from a parameter pack

inline NormalOperatorSequence(std::initializer_list<NormalOperator<S>> operators)

constructs from an initializer list

inline Vacuum vacuum() const
inline operator const base_type&() const &
inline operator base_type&&() &&
inline auto opsize() const

Warning

not to be confused with NormalOperatorSequence<S>::size() that returns the number of NormalOperator<S> objects

Returns:

the total number of Op<S> objects in this

inline virtual void adjoint() override

adjoint of a NormalOperatorSequence is a reversed sequence of adjoints

inline virtual std::wstring to_latex() const override
Returns:

the string representation of this in the LaTeX format

inline virtual Expr::type_id_type type_id() const override

Computes and returns the derived type identifier

Note

this function must be overridden in the derived class

Returns:

the hash value for this Expr

Public Static Attributes

static constexpr Statistics statistics = S