Qrack  9.13
General classical-emulating-quantum development framework
Public Member Functions | Protected Member Functions | List of all members
Qrack::QBdtNode Class Reference

#include <qbdt_node.hpp>

Inheritance diagram for Qrack::QBdtNode:
Inheritance graph
[legend]
Collaboration diagram for Qrack::QBdtNode:
Collaboration graph
[legend]

Public Member Functions

 QBdtNode ()
 
 QBdtNode (const complex &scl)
 
 QBdtNode (const complex &scl, QBdtNodeInterfacePtr *b)
 
virtual ~QBdtNode ()
 
virtual QBdtNodeInterfacePtr ShallowClone ()
 
virtual void InsertAtDepth (QBdtNodeInterfacePtr b, bitLenInt depth, const bitLenInt &size)
 
virtual void PopStateVector (bitLenInt depth=1U)
 
virtual void Branch (bitLenInt depth=1U)
 
virtual void Prune (bitLenInt depth=1U)
 
virtual void Normalize (bitLenInt depth=1U)
 
virtual void Apply2x2 (const complex *mtrx, bitLenInt depth)
 
- Public Member Functions inherited from Qrack::QBdtNodeInterface
 QBdtNodeInterface ()
 
 QBdtNodeInterface (const complex &scl)
 
 QBdtNodeInterface (const complex &scl, QBdtNodeInterfacePtr *b)
 
virtual ~QBdtNodeInterface ()
 
virtual QBdtNodeInterfacePtr RemoveSeparableAtDepth (bitLenInt depth, const bitLenInt &size)
 
virtual void SetZero ()
 
virtual bool isEqual (QBdtNodeInterfacePtr r)
 
virtual bool isEqualUnder (QBdtNodeInterfacePtr r)
 
virtual bool isEqualBranch (QBdtNodeInterfacePtr r, const bool &b)
 
virtual void PushSpecial (const complex *mtrx, QBdtNodeInterfacePtr &b1)
 

Protected Member Functions

virtual void PushStateVector (const complex *mtrx, QBdtNodeInterfacePtr &b0, QBdtNodeInterfacePtr &b1, bitLenInt depth)
 

Additional Inherited Members

- Public Attributes inherited from Qrack::QBdtNodeInterface
complex scale
 
QBdtNodeInterfacePtr branches [2U]
 
- Static Protected Member Functions inherited from Qrack::QBdtNodeInterface
static size_t SelectBit (bitCapInt perm, bitLenInt bit)
 
static void _par_for_qbdt (const bitCapInt &end, BdtFunc fn)
 

Constructor & Destructor Documentation

◆ QBdtNode() [1/3]

Qrack::QBdtNode::QBdtNode ( )
inline

◆ QBdtNode() [2/3]

Qrack::QBdtNode::QBdtNode ( const complex scl)
inline

◆ QBdtNode() [3/3]

Qrack::QBdtNode::QBdtNode ( const complex scl,
QBdtNodeInterfacePtr b 
)
inline

◆ ~QBdtNode()

virtual Qrack::QBdtNode::~QBdtNode ( )
inlinevirtual

Member Function Documentation

◆ Apply2x2()

void Qrack::QBdtNode::Apply2x2 ( const complex mtrx,
bitLenInt  depth 
)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ Branch()

void Qrack::QBdtNode::Branch ( bitLenInt  depth = 1U)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ InsertAtDepth()

void Qrack::QBdtNode::InsertAtDepth ( QBdtNodeInterfacePtr  b,
bitLenInt  depth,
const bitLenInt size 
)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ Normalize()

void Qrack::QBdtNode::Normalize ( bitLenInt  depth = 1U)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ PopStateVector()

void Qrack::QBdtNode::PopStateVector ( bitLenInt  depth = 1U)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ Prune()

void Qrack::QBdtNode::Prune ( bitLenInt  depth = 1U)
virtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ PushStateVector()

void Qrack::QBdtNode::PushStateVector ( const complex mtrx,
QBdtNodeInterfacePtr b0,
QBdtNodeInterfacePtr b1,
bitLenInt  depth 
)
protectedvirtual

Reimplemented from Qrack::QBdtNodeInterface.

◆ ShallowClone()

virtual QBdtNodeInterfacePtr Qrack::QBdtNode::ShallowClone ( )
inlinevirtual

Reimplemented from Qrack::QBdtNodeInterface.


The documentation for this class was generated from the following files: