QBdt

Defined in QBdt.hpp and qbinary_decision_node.hpp.

The API is provided by Qrack::QInterface. Qrack::QBdt is an attempt at an alternative representation of quantum pure states, in terms of quantum binary decision trees, inspired by other open source work.

inline Qrack::QBdt::QBdt(bitLenInt qBitCount, const bitCapInt &initState = ZERO_BCI, qrack_rand_gen_ptr rgp = nullptr, const complex &phaseFac = CMPLX_DEFAULT_ARG, bool doNorm = false, bool randomGlobalPhase = true, bool useHostMem = false, int64_t deviceId = -1, bool useHardwareRNG = true, bool useSparseStateVec = false, real1_f norm_thresh = REAL1_EPSILON, std::vector<int64_t> devList = {}, bitLenInt qubitThreshold = 0U, real1_f separation_thresh = _qrack_qunit_sep_thresh)
Qrack::QBdt::QBdt(std::vector<QInterfaceEngine> eng, bitLenInt qBitCount, const bitCapInt &initState = ZERO_BCI, qrack_rand_gen_ptr rgp = nullptr, const complex &phaseFac = CMPLX_DEFAULT_ARG, bool doNorm = false, bool randomGlobalPhase = true, bool useHostMem = false, int64_t deviceId = -1, bool useHardwareRNG = true, bool useSparseStateVec = false, real1_f norm_thresh = REAL1_EPSILON, std::vector<int64_t> ignored = {}, bitLenInt qubitThreshold = 0, real1_f separation_thresh = _qrack_qunit_sep_thresh)