Template Class TensorProdObsMPI

Inheritance Relationships

Base Type

  • public TensorProdObsBase< StateVectorT >

Class Documentation

template<class StateVectorT>
class TensorProdObsMPI : public TensorProdObsBase<StateVectorT>

Class models Tensor product observables.

Public Types

using PrecisionT = typename StateVectorT::PrecisionT

Public Functions

template<typename ...Ts>
inline explicit TensorProdObsMPI(Ts&&... arg)

Create a tensor product of observables.

Parameters

arg – Arguments perfect forwarded to vector of observables.

Public Static Functions

static inline auto create(std::initializer_list<std::shared_ptr<Observable<StateVectorT>>> obs) -> std::shared_ptr<TensorProdObsMPI<StateVectorT>>

Convenient wrapper for the constructor as the constructor does not convert the std::shared_ptr with a derived class correctly.

This function is useful as std::make_shared does not handle brace-enclosed initializer list correctly.

Parameters

obs – List of observables

static inline auto create(std::vector<std::shared_ptr<Observable<StateVectorT>>> obs) -> std::shared_ptr<TensorProdObsMPI<StateVectorT>>