class QPanda::Variational::VariationalQuantumGate_iSWAP

Overview

#include <var.h>

class VariationalQuantumGate_iSWAP: public QPanda::Variational::VariationalQuantumGate
{
public:
    // construction

    VariationalQuantumGate_iSWAP(
        Qubit* q1,
        Qubit* q2
        );

    VariationalQuantumGate_iSWAP(const VariationalQuantumGate_iSWAP& gate);

    // methods

    virtual QGate feed();
    virtual std::shared_ptr<VariationalQuantumGate> copy();
    VariationalQuantumGate_iSWAP dagger();
    VariationalQuantumGate_iSWAP control(QVec qv);
};

Inherited Members

public:
    // methods

    size_t n_var();
    const std::vector<var>& get_vars();
    const std::vector<double>& get_constants();
    int var_pos(var _var);
    virtual QGate feed() = 0;
    virtual QGate feed(std::map<size_t, double> offset);
    virtual std::shared_ptr<VariationalQuantumGate> copy() = 0;
    virtual bool set_dagger(bool dagger);
    virtual bool set_control(QVec control_qubit);
    virtual bool is_dagger();
    virtual QVec get_control_qubit();
    virtual void copy_dagger_and_control_qubit(QGate& gate);
    virtual void copy_dagger_and_control_qubit(std::shared_ptr<VariationalQuantumGate> gate);

Detailed Documentation

Methods

virtual QGate feed()

Interface to instantialize the QGate with VQG.

Returns:

QGate Instantiation

virtual std::shared_ptr<VariationalQuantumGate> copy()

Interface to copy the instance, and return a shared_ptr for the object.

Returns:

std::shared_ptr<VariationalQuantumGate>