Closed harshangrjn closed 3 years ago
Without turning on any extra valid inequalities, the basic compact formulation decomposition for this input
params = Dict{String, Any}( "num_qubits" => 3, "depth" => 3, "elementary_gates" => ["U3", "Identity"], "target_gate" => QCO.kron_single_gate(3, QCO.RXGate(π/4), "q3"), "U_θ_discretization" => [0, π/4], "U_ϕ_discretization" => [0, -π/2], "U_λ_discretization" => [0, π/2], "objective" => "minimize_depth", "decomposition_type" => "exact", "optimizer" => "cplex", )
is coming as
U3 (3, (0.0,-90.0,0.0)) * U3 (3, (45.0,0.0,90.0))
while the optimal solution has to be:
U3 (3, (45.0,-90.0,90.0))
Either a bug in the formulation or in the way gates are eliminated. This issue appears only when the eliminate_identical_gates is true.
eliminate_identical_gates
Looks like ,the issue with the CPLEX's presolve. Turning it off solves this issue!
Without turning on any extra valid inequalities, the basic compact formulation decomposition for this input
is coming as
while the optimal solution has to be:
Either a bug in the formulation or in the way gates are eliminated. This issue appears only when the
eliminate_identical_gates
is true.