class QPanda::ExGridDevice

Overview

#include <GridDevice.h>

class ExGridDevice: public QPanda::BasicGridDevice
{
public:
    // construction

    ExGridDevice(int m, int n, std::vector<std::pair<int, int>>& qpairs);
};

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

Construction

ExGridDevice(int m, int n, std::vector<std::pair<int, int>>& qpairs)

constructor constructor

whose elements are like <q1, q2>

Parameters:

m

the grid side length

n

the grid side length

qpairs

set of adjacent qubit pairs