next up previous contents
Next: Shor's Algorithm for Quantum Up: The Quantum Class Library Previous: Simulation of Quantum Computers   Contents

Subsections

Class Hierarchy

The following list contains all QULIB classes grouped by their header files. Virtual base classes are signed with an asterix ( *).

File bitvec.h

bitvec $\textstyle \parbox{10cm}{basevectors of ${\cal H}$\ (bit strings)}$

File terms.h

term $\textstyle \parbox{10cm}{a basevector multiplied with a complex amplitude}$
termlist $\textstyle \parbox{10cm}{hashtable of terms representing a quantum state}$
probtree $\textstyle \parbox{10cm}{binary tree of vectors with a real amplitude
to represent the spectrum of a state}$

File qustates.h

quState * $\textstyle \parbox{10cm}{base class for all quantum states}$
  quBaseState $\textstyle \parbox{10cm}{base state containing the actual state information}$
  quSubState * $\textstyle \parbox{10cm}{substate referring to another base or substate}$
    quVar $\textstyle \parbox{10cm}{container class for the assigning of substates}$
    quCombState $\textstyle \parbox{10cm}{concatenation of 2 substates}$
    quSubString $\textstyle \parbox{10cm}{coherent substring of qubits}$
      quWord $\textstyle \parbox{10cm}{substring interpreted as word}$
      quBit $\textstyle \parbox{10cm}{substring of length 1 i.e. a single qubit}$

File operator.h

opOperator * $\textstyle \parbox{10cm}{base class of all operators}$
  opElementary * $\textstyle \parbox{10cm}{elementary (i.e. not composed) operator}$
    opMatrix $\textstyle \parbox{10cm}{operator stored as array of nonzero matrix elements}$
      opU2 $\textstyle \parbox{10cm}{general 1 bit unitary operator}$
    opIdentity $\textstyle \parbox{10cm}{identity operator}$
    opSwap $\textstyle \parbox{10cm}{operator for swapping to substrings}$
    opPermutation $\textstyle \parbox{10cm}{operator stored in a linear list of
replacing terms}$
    opFunction * $\textstyle \parbox{10cm}{operator of the form ${\vert x,0 \rangle} \to {\vert x,f(x) \rangle}$}$
      opEXPN % latex2html id marker 3037
$\textstyle \parbox{10cm}{modular exponentiation (${...
...0 \rangle} \to {\vert a,x^a \,{\rm mod}\,N \rangle}$,
see section \ref{expn})}$
    opGate * $\textstyle \parbox{10cm}{operator implemented as C++ function}$
      opCk $\textstyle \parbox{10cm}{$(k+1)$-dimensional controlled-NOT gate}$
        opC0 $\textstyle \parbox{10cm}{inverts one arbitrary bit of state}$
          opNot $\textstyle \parbox{10cm}{1 bit NOT-gate}$
        opC1 $\textstyle \parbox{10cm}{controlled-NOT with 1 arbitrary input}$
          opXor $\textstyle \parbox{10cm}{2 bit XOR-gate (controlled-NOT with 1 fixed input)}$
        opC2 $\textstyle \parbox{10cm}{controlled-NOT with 2 arbitrary inputs}$
          opToffoli $\textstyle \parbox{10cm}{3 bit Toffoli-gate (controlled-NOT with 2 fixed
inputs)}$
      opCondPhase $\textstyle \parbox{10cm}{conditional phase gate with $k$\ arbitrary inputs}$
        opX $\textstyle \parbox{10cm}{cond. phase gate with 2 inputs and
$\phi=\frac{2 \pi}{2^n}$}$
  opComposition $\textstyle \parbox{10cm}{composition of 2 operators}$
  opEmbedded $\textstyle \parbox{10cm}{container class for operators working on substates}$
  opVar $\textstyle \parbox{10cm}{container class for assigning and composing of operators}$

For a description of constructors and member functions please refer to appendix A.1 and A.2.


next up previous contents
Next: Shor's Algorithm for Quantum Up: The Quantum Class Library Previous: Simulation of Quantum Computers   Contents

(c) Bernhard Ömer - oemer@tph.tuwien.ac.at - http://tph.tuwien.ac.at/~oemer/