class QPanda::Variational::VariationalQuantumGate_H

Overview

#include <var.h>

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

    VariationalQuantumGate_H(Qubit* q);

    VariationalQuantumGate_H(
        Qubit* q,
        bool is_dagger
        );

    VariationalQuantumGate_H(
        Qubit* q,
        bool is_dagger,
        QVec control_qubit
        );

    VariationalQuantumGate_H(const VariationalQuantumGate_H& gate);

    // methods

    virtual QGate feed();
    virtual std::shared_ptr<VariationalQuantumGate> copy();
    VariationalQuantumGate_H dagger();
    VariationalQuantumGate_H 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>