.. index:: pair: namespace; QPanda::Variational .. _doxid-namespace_q_panda_1_1_variational: namespace QPanda::Variational ============================= .. toctree:: :hidden: enum_QPanda_Variational_OptimizerMode.rst enum_QPanda_Variational_back_flags.rst enum_QPanda_Variational_op_type.rst struct_QPanda_Variational_impl.rst struct_QPanda_Variational_impl_qop_pmeasure.rst struct_QPanda_Variational_impl_qop_pmeasure_real_chip.rst struct_QPanda_Variational_impl_stack.rst struct_QPanda_Variational_impl_subscript.rst struct_QPanda_Variational_impl_vqp.rst struct_QPanda_Variational_impl_vqp_real_chip.rst class_QPanda_Variational_AdaGradOptimizer.rst class_QPanda_Variational_AdamOptimizer.rst class_QPanda_Variational_MomentumOptimizer.rst class_QPanda_Variational_RMSPropOptimizer.rst class_QPanda_Variational_VanillaGradientDescentOptimizer.rst class_QPanda_Variational_VariationalQuantumCircuit.rst class_QPanda_Variational_VariationalQuantumGate.rst class_QPanda_Variational_VariationalQuantumGate_CNOT.rst class_QPanda_Variational_VariationalQuantumGate_CR.rst class_QPanda_Variational_VariationalQuantumGate_CRX.rst class_QPanda_Variational_VariationalQuantumGate_CRY.rst class_QPanda_Variational_VariationalQuantumGate_CRZ.rst class_QPanda_Variational_VariationalQuantumGate_CU.rst class_QPanda_Variational_VariationalQuantumGate_CZ.rst class_QPanda_Variational_VariationalQuantumGate_H.rst class_QPanda_Variational_VariationalQuantumGate_RPhi.rst class_QPanda_Variational_VariationalQuantumGate_RX.rst class_QPanda_Variational_VariationalQuantumGate_RY.rst class_QPanda_Variational_VariationalQuantumGate_RZ.rst class_QPanda_Variational_VariationalQuantumGate_S.rst class_QPanda_Variational_VariationalQuantumGate_SWAP.rst class_QPanda_Variational_VariationalQuantumGate_SqiSWAP.rst class_QPanda_Variational_VariationalQuantumGate_T.rst class_QPanda_Variational_VariationalQuantumGate_U1.rst class_QPanda_Variational_VariationalQuantumGate_U2.rst class_QPanda_Variational_VariationalQuantumGate_U3.rst class_QPanda_Variational_VariationalQuantumGate_U4.rst class_QPanda_Variational_VariationalQuantumGate_X.rst class_QPanda_Variational_VariationalQuantumGate_X1.rst class_QPanda_Variational_VariationalQuantumGate_Y.rst class_QPanda_Variational_VariationalQuantumGate_Y1.rst class_QPanda_Variational_VariationalQuantumGate_Z.rst class_QPanda_Variational_VariationalQuantumGate_Z1.rst class_QPanda_Variational_VariationalQuantumGate_iSWAP.rst class_QPanda_Variational_var.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block namespace Variational { // typedefs typedef :ref:`VariationalQuantumGate_H` :target:`VQG_H`; typedef :ref:`VariationalQuantumGate_X` :target:`VQG_X`; typedef :ref:`VariationalQuantumGate_X1` :target:`VQG_X1`; typedef :ref:`VariationalQuantumGate_Y` :target:`VQG_Y`; typedef :ref:`VariationalQuantumGate_Y1` :target:`VQG_Y1`; typedef :ref:`VariationalQuantumGate_Z` :target:`VQG_Z`; typedef :ref:`VariationalQuantumGate_Z1` :target:`VQG_Z1`; typedef :ref:`VariationalQuantumGate_S` :target:`VQG_S`; typedef :ref:`VariationalQuantumGate_T` :target:`VQG_T`; typedef :ref:`VariationalQuantumGate_U1` :target:`VQG_U1`; typedef :ref:`VariationalQuantumGate_RX` :target:`VQG_RX`; typedef :ref:`VariationalQuantumGate_RY` :target:`VQG_RY`; typedef :ref:`VariationalQuantumGate_RZ` :target:`VQG_RZ`; typedef :ref:`VariationalQuantumGate_U2` :target:`VQG_U2`; typedef :ref:`VariationalQuantumGate_RPhi` :target:`VQG_RPhi`; typedef :ref:`VariationalQuantumGate_U3` :target:`VQG_U3`; typedef :ref:`VariationalQuantumGate_U4` :target:`VQG_U4`; typedef :ref:`VariationalQuantumGate_CNOT` :target:`VQG_CNOT`; typedef :ref:`VariationalQuantumGate_CZ` :target:`VQG_CZ`; typedef :ref:`VariationalQuantumGate_SWAP` :target:`VQG_SWAP`; typedef :ref:`VariationalQuantumGate_iSWAP` :target:`VQG_iSWAP`; typedef :ref:`VariationalQuantumGate_SqiSWAP` :target:`VQG_SqiSWAP`; typedef :ref:`VariationalQuantumGate_CR` :target:`VQG_CR`; typedef :ref:`VariationalQuantumGate_CU` :target:`VQG_CU`; typedef :ref:`VariationalQuantumGate_CRX` :target:`VQG_CRX`; typedef :ref:`VariationalQuantumGate_CRY` :target:`VQG_CRY`; typedef :ref:`VariationalQuantumGate_CRZ` :target:`VQG_CRZ`; typedef :ref:`VariationalQuantumGate` :target:`VQG`; typedef :ref:`VariationalQuantumCircuit` :target:`VQC`; // enums enum :ref:`OptimizerMode`; enum :ref:`back_flags`; enum :ref:`op_type`; // structs struct :ref:`impl`; struct :ref:`impl_qop_pmeasure`; struct :ref:`impl_qop_pmeasure_real_chip`; struct :ref:`impl_stack`; struct :ref:`impl_subscript`; struct :ref:`impl_vqp`; struct :ref:`impl_vqp_real_chip`; // classes class :ref:`AdaGradOptimizer`; class :ref:`AdamOptimizer`; class :ref:`Double`; class :ref:`MomentumOptimizer`; class :ref:`Optimizer`; class :ref:`RMSPropOptimizer`; class :ref:`VanillaGradientDescentOptimizer`; class :ref:`VariationalQuantumCircuit`; class :ref:`VariationalQuantumGate`; class :ref:`VariationalQuantumGate_CNOT`; class :ref:`VariationalQuantumGate_CR`; class :ref:`VariationalQuantumGate_CRX`; class :ref:`VariationalQuantumGate_CRY`; class :ref:`VariationalQuantumGate_CRZ`; class :ref:`VariationalQuantumGate_CU`; class :ref:`VariationalQuantumGate_CZ`; class :ref:`VariationalQuantumGate_H`; class :ref:`VariationalQuantumGate_RPhi`; class :ref:`VariationalQuantumGate_RX`; class :ref:`VariationalQuantumGate_RY`; class :ref:`VariationalQuantumGate_RZ`; class :ref:`VariationalQuantumGate_S`; class :ref:`VariationalQuantumGate_SWAP`; class :ref:`VariationalQuantumGate_SqiSWAP`; class :ref:`VariationalQuantumGate_T`; class :ref:`VariationalQuantumGate_U1`; class :ref:`VariationalQuantumGate_U2`; class :ref:`VariationalQuantumGate_U3`; class :ref:`VariationalQuantumGate_U4`; class :ref:`VariationalQuantumGate_X`; class :ref:`VariationalQuantumGate_X1`; class :ref:`VariationalQuantumGate_Y`; class :ref:`VariationalQuantumGate_Y1`; class :ref:`VariationalQuantumGate_Z`; class :ref:`VariationalQuantumGate_Z1`; class :ref:`VariationalQuantumGate_iSWAP`; class :ref:`expression`; class :ref:`var`; // global functions MatrixXd :target:`eval`( :ref:`var` v, bool iter ); void :target:`back`( const :ref:`var`&, std::unordered_map<:ref:`var`, MatrixXd>& ); void :target:`back`( :ref:`expression`&, std::unordered_map<:ref:`var`, MatrixXd>& ); void :target:`back`( const :ref:`var`&, std::unordered_map<:ref:`var`, MatrixXd>&, const std::unordered_set<:ref:`var`>& ); void :target:`back`( :ref:`expression`&, std::unordered_map<:ref:`var`, MatrixXd>&, const std::unordered_set<:ref:`var`>& ); int :target:`numOpArgs`(:ref:`op_type` op); :ref:`VariationalQuantumCircuit`& :target:`VariationalQuantumCircuit::insert< std::shared_ptr< VariationalQuantumGate > >`(std::shared_ptr<:ref:`VariationalQuantumGate`> gate); template const :ref:`var` :target:`pack_expression`( :ref:`op_type` op, V&... args ); template const :ref:`var` :target:`pack_expression`( :ref:`op_type` op, int axis, V&... args ); const :ref:`var` :target:`operator +` ( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`operator -` ( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`operator *` ( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`operator/` ( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`exp`(:ref:`var` v); const :ref:`var` :target:`sigmoid`(:ref:`var` v); const :ref:`var` :target:`log`(:ref:`var` v); const :ref:`var` :target:`poly`( :ref:`var` v, :ref:`var` power ); const :ref:`var` :target:`dot`( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`inverse`(:ref:`var` v); const :ref:`var` :target:`transpose`(:ref:`var` v); const :ref:`var` :target:`sum`(:ref:`var` v); const :ref:`var` :target:`softmax`(:ref:`var` v); const :ref:`var` :target:`crossEntropy`( :ref:`var` lhs, :ref:`var` rhs ); const :ref:`var` :target:`dropout`( :ref:`var` lhs, :ref:`var` rhs ); template const :ref:`var` :target:`stack`( int axis, :ref:`T`&... v ); const :ref:`var` :target:`qop`( :ref:`VariationalQuantumCircuit`& circuit, :ref:`PauliOperator` Hamiltonian, :ref:`QuantumMachine`* machine, std::vector<:ref:`Qubit`*> measure_qubits ); const :ref:`var` :target:`qop_real_chip`( :ref:`VariationalQuantumCircuit`& circuit, :ref:`PauliOperator` Hamiltonian, :ref:`QuantumMachine`* machine, std::vector<:ref:`Qubit`*> measure_qubits, int shots ); const :ref:`var` :target:`qop`( :ref:`VariationalQuantumCircuit`& circuit, :ref:`PauliOperator` Hamiltonian, :ref:`QuantumMachine`* machine, std::map`*> measure_qubits ); const :ref:`var` :target:`qop_pmeasure`( :ref:`VariationalQuantumCircuit`& circuit, std::vector components, :ref:`QuantumMachine`* machine, std::vector<:ref:`Qubit`*> measure_qubits ); const :ref:`var` :target:`qop_pmeasure_real_chip`( :ref:`VariationalQuantumCircuit`& circuit, std::vector components, :ref:`QuantumMachine`* machine, std::vector<:ref:`Qubit`*> measure_qubits, std::vector<:ref:`ClassicalCondition`> cbits, size_t shots ); bool :target:`_is_scalar`(const :ref:`var`& v); bool :target:`_is_matrix`(const :ref:`var`& v); bool :target:`_is_vector`(const :ref:`var`& v); double :target:`_sval`(const :ref:`var`& v); MatrixXd :target:`_mval`(const :ref:`var`& v); MatrixXd :target:`scalar`(double num); MatrixXd :target:`vector2mat`(std::vector data); MatrixXd :target:`zeros_like`(const MatrixXd& like); MatrixXd :target:`zeros_like`(const :ref:`var`& like); MatrixXd :target:`ones_like`(const MatrixXd& like); MatrixXd :target:`ones_like`(const :ref:`var`& like); } // namespace Variational