next up previous contents
Next: shor.cxx Up: QULIB Quick Reference Previous: Constructors   Contents


Member Functions


This list contains only functions declared in the base classes and no
constructors or destructors. Virtual functions are signed with an asterix.

QUANTUM STATES

  int mapbits();                                no. of referenced bits
  bitvec measure();                             destructive measurement
  void opterm(const term& t);                   add term to base (op.interface)
  void printvect(ostream& s,const bitvec& v);   print vector to stream s
  quState* newclone();                          generate a copy of the object
  bitvec select();                              non-destructive measurement
  void reduce(const bitvec& v);                 project state on (sub)vector v
  void normalize(double epsilon=EPSILON);       scale state to norm==1
  probtree* newspectrum();                      generate the spectrum of state
* void reset(const bitvec& v=bitvec(0));        reset state to (sub)vector v
* baseid base();                                object ID
* int basebits();                               no. of bits of base state
* quState* newsubstring(int bits,int offs);     generate ref. object to substr.
* int isbasestate();                            test if state is a basestate
* bitvec mapmask();                             bitmask of referenced base bits
* complex ampl(const bitvec& v);                complex amplitude of vector v
* int baseterms();                              no. of corresponding base terms
* term& baseterm(int i);                        get baseterm (stating with 0)
* void opbegin();                               open operator interface
* void opadd(const bitvec& v,const complex& z); add term (v,z) to base
* void opend();                                 close operator interface
* bitvec map(const bitvec& v);                  get ref. bits from base vector
* bitvec unmap(const bitvec& v);                expand ref. bits to base vect.
* void _printvect(ostream& s,const bitvec& v);  print vector w/o parentheses

ostream& operator << (ostream& s,const quState& qs);
        output operator: prints spectrum of qs to stream s
ostream& printbase(ostream& s,quState& qs,char* prefix=0,char* postfix=0);
        output function: prints base state with complex amplitudes
quCombState operator / (quState& head,quState& tail);
        concats the states head and tail 

OPERATORS

  int bits() { return _bits; };                 no. of qubits (dim = 2^bits)
  quState& operator () (quState& qs);           apply op. on qs (shorthand)
* void apply(quState& qs);                      apply op. on state qs
* opOperator *newclone();                       generate a copy of the object

opComposition operator * (const opOperator& out,const opOperator& in);
        produces a composition out*in of the operators out and in
        (out*in)(qs) --> out(in(qs))
opComposition operator / (const opOperator& low,const opOperator& high);
        produces the cross product of the ops. low and high
        (low/high)(qs1/qs2) --> low(qs1)/high(qs2)




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