Template Class Operator

Inheritance Relationships

Base Types

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

  • public sequant::Expr (Class Expr)

Class Documentation

template<Statistics S = Statistics::FermiDirac>
class Operator : public container::svector<Op<Statistics::FermiDirac>>, public sequant::Expr

Operator is a sequence of Op objects.

Template Parameters:

S – specifies the particle statistics

Public Types

using base_type = container::svector<Op<S>>
using iterator = typename base_type::iterator
using const_iterator = typename base_type::const_iterator

Public Functions

Operator() = default
inline explicit Operator(std::initializer_list<Op<S>> ops)
inline explicit Operator(base_type &&ops)
template<typename I>
inline Operator(Action action, std::initializer_list<I> indices)
inline operator base_type&() const &
inline operator base_type&&() &&
inline virtual void adjoint() override

adjoint of an Operator is a reversed string of the adjoints of its ops

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

the string representation of this in LaTeX format

inline virtual 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

inline virtual ExprPtr clone() const override

Note

- must be overridden in the derived class.

  • the default implementation throws an exception

Returns:

a clone of this object, i.e. an object that is equal to this

Public Static Attributes

static constexpr Statistics statistics = S