Template Class NonZeroRandomTransitionKernel

Inheritance Relationships

Base Type

Class Documentation

template<typename fp_t>
class NonZeroRandomTransitionKernel : public Pennylane::LightningQubit::Measures::TransitionKernel<fp_t>

Transition Kernel for a random transition between non-zero states.

This class randomly transitions between states that have nonzero probability. To determine the states with non-zero probability we have O(2^num_qubits) overhead. Despite this, this method is still fast. This transition kernel can sample even GHZ states.

Public Functions

inline NonZeroRandomTransitionKernel(const std::complex<fp_t> *sv, std::size_t sv_length, fp_t min_error)
inline std::pair<std::size_t, fp_t> operator()([[maybe_unused]] std::size_t init_idx) final