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)