class QPanda::QITE

Overview

Variational Quantum Imagine Time Evolution Algorithem Class. More…

#include <QITE.h>

class QITE
{
public:
    // enums

    enum UpdateMode;

    // methods

    void setHamiltonian(const PauliOperator& h);
    void setAnsatzGate(const std::vector<AnsatzGate>& ansatz_gate);
    void setDeltaTau(double delta_tau);
    void setIterNum(size_t num);
    void setParaUpdateMode(UpdateMode mode);
    void setUpthrowNum(size_t num);
    void setConvergenceFactorQ(double value);
    void setQuantumMachineType(QMachineType type);
    void setLogFile(const std::string& filename);
    void setArbitaryCofficient(double arbitary_cofficient);
    int exec();
    prob_tuple getResult();
};

Detailed Documentation

Variational Quantum Imagine Time Evolution Algorithem Class.

Methods

void setHamiltonian(const PauliOperator& h)

Set problem hamitonian.

Parameters:

const

PauliOperator& problem hamiltoinan

See also:

PauliOperator

void setAnsatzGate(const std::vector<AnsatzGate>& ansatz_gate)

Set ansatz gate.

Parameters:

const

std::vector<AnsatzGate>& ansatz gate vector

See also:

AnsatzGate

void setDeltaTau(double delta_tau)

Set delta tau value.

Parameters:

double

delta tau value

void setIterNum(size_t num)

Set iteration number.

Parameters:

size_t

iteration number

void setParaUpdateMode(UpdateMode mode)

Set parameters update mode.

Parameters:

UpdateMode

parameters update mode

See also:

UpdateMode

void setUpthrowNum(size_t num)

Set upthrow number.

Parameters:

size_t

upthrow number

void setConvergenceFactorQ(double value)

Set convergence factor Q.

Parameters:

size_t

convergence factor Q

void setQuantumMachineType(QMachineType type)

Set the quantum machine type.

Parameters:

QMachineType

quantum machine type

See also:

QMachineType

void setLogFile(const std::string& filename)

Set log file.

Parameters:

const

std::string& log file name

void setArbitaryCofficient(double arbitary_cofficient)

Set arbitary cofficient.

Parameters:

double

arbitary cofficient

int exec()

Execute algorithem.

Returns:

int success flag, 0: success, -1: fail

prob_tuple getResult()

Get calculation result of the algorithem.

Returns:

prob_tuple calculation result