qrisp.qaoa.QAOAProblem.compile_circuit#
- QAOAProblem.compile_circuit(qarg, depth, init_type='random')[source]#
Compiles the circuit that is evaluated by the
runmethod.- Parameters:
- qargQuantumVariable or QuantumArray
The argument to which the QAOA circuit is applied.
- depthint
The amount of QAOA layers.
- init_typestring, optional
Specifies the way the initial optimization parameters are chosen. Available are
randomandtqa. The default israndom: The parameters are initialized uniformly at random in the interval \([0,\pi/2]\). Fortqa, the parameters are chosen based on the Trotterized Quantum Annealing protocol. Iftqais chosen, and noinit_functionfor the QAOAProblem is specified, the \(\ket{-}^n\) state is prepared (the ground state for the X mixer).
- Returns:
- compiled_qcQuantumCircuit
The parametrized, compiled quantum circuit without measurements.
- list[sympy.Symbol]
A list of the parameters that appear in
compiled_qc.
Examples
We create a MaxCut instance and compile the circuit:
>>> from networkx import Graph >>> G = Graph([(0,1),(1,2),(2,0)]) >>> from qrisp.qaoa import maxcut_problem >>> from qrisp import QuantumVariable >>> p = 5 >>> qaoa_instance = maxcut_problem(G) >>> qarg = QuantumVariable(len(G)) >>> qrisp_qc, symbols = qaoa_instance.compile_circuit(qarg, p) >>> print(qrisp_qc) βββββββββββββββββββββββββ Β» qarg_dupl.0: β€ H ββ€ gphase ββ€ gphase ββββ βββββββββββββββββββββ ββΒ» βββββ€βββββββββββββββββββββββ΄ββββββββββββββββββ β Β» qarg_dupl.1: β€ H ββββββββββββββββββββββ€ X ββ€ P(2*gamma_0) ββββΌββΒ» βββββ€ ββββββββββββββββββββββββ΄ββΒ» qarg_dupl.2: β€ H βββββββββββββββββββββββββββββββββββββββββββ€ X βΒ» βββββ βββββΒ» Β« ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.0: ββββββββ βββββββββββββββββββββ βββ€ Rx(2*beta_0) βββββ€ gphase ββββΒ» Β« βββ΄ββ ββββββββββ β ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.1: ββββββ€ X ββββββββ€ gphase ββββΌββββββββββ ββββββββββββββββββββββββΒ» Β« ββββββ΄ββββ΄βββββββββββββββββββ΄ββ βββ΄ββ ββββββββββββββββΒ» Β«qarg_dupl.2: β€ P(2*gamma_0) ββββββββββββ€ X βββββββ€ X ββββββββ€ P(2*gamma_0) βΒ» Β« ββββββββββββββββ βββββ βββββ ββββββββββββββββΒ» Β« ββββββββββ Β» Β«qarg_dupl.0: β€ gphase ββββββββββββββββββββ βββββββββββββββββββββ ββΒ» Β« βββββββββββββββββββββββββββββ΄ββββββββββββββββββ β Β» Β«qarg_dupl.1: βββββ ββββββ€ Rx(2*beta_0) ββ€ X ββ€ P(2*gamma_1) ββββΌββΒ» Β« βββ΄ββ ββββββββββββββββ€ββββββββββββββββββββββββ΄ββΒ» Β«qarg_dupl.2: βββ€ X βββββ€ Rx(2*beta_0) βββββββββββββββββββββββ€ X βΒ» Β« βββββ ββββββββββββββββ βββββΒ» Β« ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.0: ββββββββ βββββββββββββββββββββ βββ€ Rx(2*beta_1) βββββ€ gphase ββββΒ» Β« βββ΄ββ ββββββββββ β ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.1: ββββββ€ X ββββββββ€ gphase ββββΌββββββββββ ββββββββββββββββββββββββΒ» Β« ββββββ΄ββββ΄βββββββββββββββββββ΄ββ βββ΄ββ ββββββββββββββββΒ» Β«qarg_dupl.2: β€ P(2*gamma_1) ββββββββββββ€ X βββββββ€ X ββββββββ€ P(2*gamma_1) βΒ» Β« ββββββββββββββββ βββββ βββββ ββββββββββββββββΒ» Β« ββββββββββ Β» Β«qarg_dupl.0: β€ gphase ββββββββββββββββββββ βββββββββββββββββββββ ββΒ» Β« βββββββββββββββββββββββββββββ΄ββββββββββββββββββ β Β» Β«qarg_dupl.1: βββββ ββββββ€ Rx(2*beta_1) ββ€ X ββ€ P(2*gamma_2) ββββΌββΒ» Β« βββ΄ββ ββββββββββββββββ€ββββββββββββββββββββββββ΄ββΒ» Β«qarg_dupl.2: βββ€ X βββββ€ Rx(2*beta_1) βββββββββββββββββββββββ€ X βΒ» Β« βββββ ββββββββββββββββ βββββΒ» Β« ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.0: ββββββββ βββββββββββββββββββββ βββ€ Rx(2*beta_2) βββββ€ gphase ββββΒ» Β« βββ΄ββ ββββββββββ β ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.1: ββββββ€ X ββββββββ€ gphase ββββΌββββββββββ ββββββββββββββββββββββββΒ» Β« ββββββ΄ββββ΄βββββββββββββββββββ΄ββ βββ΄ββ ββββββββββββββββΒ» Β«qarg_dupl.2: β€ P(2*gamma_2) ββββββββββββ€ X βββββββ€ X ββββββββ€ P(2*gamma_2) βΒ» Β« ββββββββββββββββ βββββ βββββ ββββββββββββββββΒ» Β« ββββββββββ Β» Β«qarg_dupl.0: β€ gphase ββββββββββββββββββββ βββββββββββββββββββββ ββΒ» Β« βββββββββββββββββββββββββββββ΄ββββββββββββββββββ β Β» Β«qarg_dupl.1: βββββ ββββββ€ Rx(2*beta_2) ββ€ X ββ€ P(2*gamma_3) ββββΌββΒ» Β« βββ΄ββ ββββββββββββββββ€ββββββββββββββββββββββββ΄ββΒ» Β«qarg_dupl.2: βββ€ X βββββ€ Rx(2*beta_2) βββββββββββββββββββββββ€ X βΒ» Β« βββββ ββββββββββββββββ βββββΒ» Β« ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.0: ββββββββ βββββββββββββββββββββ βββ€ Rx(2*beta_3) βββββ€ gphase ββββΒ» Β« βββ΄ββ ββββββββββ β ββββββββββββββββ ββββββββββ Β» Β«qarg_dupl.1: ββββββ€ X ββββββββ€ gphase ββββΌββββββββββ ββββββββββββββββββββββββΒ» Β« ββββββ΄ββββ΄βββββββββββββββββββ΄ββ βββ΄ββ ββββββββββββββββΒ» Β«qarg_dupl.2: β€ P(2*gamma_3) ββββββββββββ€ X βββββββ€ X ββββββββ€ P(2*gamma_3) βΒ» Β« ββββββββββββββββ βββββ βββββ ββββββββββββββββΒ» Β« ββββββββββ Β» Β«qarg_dupl.0: β€ gphase ββββββββββββββββββββ βββββββββββββββββββββ ββΒ» Β« βββββββββββββββββββββββββββββ΄ββββββββββββββββββ β Β» Β«qarg_dupl.1: βββββ ββββββ€ Rx(2*beta_3) ββ€ X ββ€ P(2*gamma_4) ββββΌββΒ» Β« βββ΄ββ ββββββββββββββββ€ββββββββββββββββββββββββ΄ββΒ» Β«qarg_dupl.2: βββ€ X βββββ€ Rx(2*beta_3) βββββββββββββββββββββββ€ X βΒ» Β« βββββ ββββββββββββββββ βββββΒ» Β« ββββββββββββββββ Β» Β«qarg_dupl.0: ββββββββ βββββββββββββββββββββ βββ€ Rx(2*beta_4) βββββββββββββββββΒ» Β« βββ΄ββ ββββββββββ β ββββββββββββββββ Β» Β«qarg_dupl.1: ββββββ€ X ββββββββ€ gphase ββββΌββββββββββ ββββββββββββββββββββββββΒ» Β« ββββββ΄ββββ΄βββββββββββββββββββ΄ββ βββ΄ββ ββββββββββββββββΒ» Β«qarg_dupl.2: β€ P(2*gamma_4) ββββββββββββ€ X βββββββ€ X ββββββββ€ P(2*gamma_4) βΒ» Β« ββββββββββββββββ βββββ βββββ ββββββββββββββββΒ» Β« Β«qarg_dupl.0: βββββββββββββββββββββ Β« ββββββββββββββββ Β«qarg_dupl.1: βββ βββ€ Rx(2*beta_4) β Β« βββ΄ββββββββββββββββββ€ Β«qarg_dupl.2: β€ X ββ€ Rx(2*beta_4) β Β« βββββββββββββββββββββ