class QPanda::SimpleGridDevice¶
Overview¶
A derived class of BasicGridDevice The two qubits are adjacent when their Manhattan distance is 1. More…
#include <GridDevice.h> class SimpleGridDevice: public QPanda::BasicGridDevice { public: // construction SimpleGridDevice( int m, int n ); // methods virtual bool isNearBy(int i1, int j1, int i2, int j2); virtual int getDistance(int i1, int j1, int i2, int j2); }; // direct descendants class UncompletedGridDevice;
Inherited Members¶
public: // structs struct PhysicalQubit; // methods void clear(); int getM(); int getN(); auto& getQubit(int i, int j); bool canApplyGate(int i1, int j1, int i2, int j2, int); bool canApplyGate(int i, int j, int); bool canSwap(int i1, int j1, int i2, int j2); void applySingleGate(int i, int j); void applyGate(int i1, int j1, int i2, int j2, int time); void applyDoubleGate(int i1, int j1, int i2, int j2); void applySwap(int i1, int j1, int i2, int j2); virtual bool isNearBy(int i1, int j1, int i2, int j2) = 0; virtual int getDistance(int i1, int j1, int i2, int j2) = 0; void map(int dest, int i, int j); void resetTime(); void nextCycle(); int maxTime(); int getTime(); bool isQubitFree(int i, int j); bool isAllQubitFree(); bool isSimpleGridDevice(); bool isSupportSwapGate();
Detailed Documentation¶
A derived class of BasicGridDevice The two qubits are adjacent when their Manhattan distance is 1.
Methods¶
virtual bool isNearBy(int i1, int j1, int i2, int j2)
Check if two qubits are adjacent, location of qubits are (i1, j1) and (i2, j2)
virtual int getDistance(int i1, int j1, int i2, int j2)
get distance+1 of two qubits