Global AI and Data Science

 View Only

Optimization quantum qiskit circuit using pytket

  • 1.  Optimization quantum qiskit circuit using pytket

    Posted 2 days ago
    KeyError                                  Traceback (most recent call last)
    Cell In[29], line 96
         94 qr = QuantumRegister(56, 'qr')
         95 s_bo = QuantumCircuit(s, qr)
    ---> 96 sb = s_box(s, qr, 0)
         97 s_bo.append(sb, s[:] + qr[0:56])
         99 # Display the circuit
    
    Cell In[29], line 21, in s_box(s, qr, t)
         18 for i in range(8):
         19     s_box.cx(s[i], qr[i + 8])
    ---> 21 mul1 = multiplier(s, qr[:8], qr[16:24])
         22 s_box.append(mul1, s[:] + qr[:8] + qr[16:24])
         24 for i in range(8):
    
    Cell In[26], line 119, in multiplier(a, b, c, s)
        116 decomposed_circuit = circuit.decompose()
        118 # Convert Qiskit circuit to pytket circuit
    --> 119 tk_circuit = qiskit_to_tk(decomposed_circuit)
        121 # Apply optimization sequence
        122 optimization_sequence = SequencePass([
        123     FullPeepholeOptimise(),
        124     KAKDecomposition(),
        125     DecomposeBoxes(),
        126     OptimisePhaseGadgets()
        127 ])
    
    File ~\anaconda3\Lib\site-packages\pytket\extensions\qiskit\qiskit_convert.py:559, in qiskit_to_tk(qcirc, preserve_param_uuid)
        551     qcirc = cast(QuantumCircuit, qcirc.assign_parameters(updates))
        553 builder = CircuitBuilder(
        554     qregs=qcirc.qregs,
        555     cregs=qcirc.cregs,
        556     name=circ_name,
        557     phase=param_to_tk(qcirc.global_phase),
        558 )
    --> 559 builder.add_qiskit_data(qcirc)
        560 return builder.circuit()
    
    File ~\anaconda3\Lib\site-packages\pytket\extensions\qiskit\qiskit_convert.py:409, in CircuitBuilder.add_qiskit_data(self, circuit, data)
        402     except KeyError:
        403         raise NotImplementedError(
        404             f"Conversion of qiskit's {instr.name} instruction is "
        405             + "currently unsupported by qiskit_to_tk. Consider "
        406             + "using QuantumCircuit.decompose() before attempting "
        407             + "conversion."
        408         )
    --> 409 qubits = [self.qbmap[qbit] for qbit in qargs]
        410 bits = [self.cbmap[bit] for bit in cargs]
        412 if optype == OpType.QControlBox:
    
    File ~\anaconda3\Lib\site-packages\pytket\extensions\qiskit\qiskit_convert.py:409, in <listcomp>(.0)
        402     except KeyError:
        403         raise NotImplementedError(
        404             f"Conversion of qiskit's {instr.name} instruction is "
        405             + "currently unsupported by qiskit_to_tk. Consider "
        406             + "using QuantumCircuit.decompose() before attempting "
        407             + "conversion."
        408         )
    --> 409 qubits = [self.qbmap[qbit] for qbit in qargs]
        410 bits = [self.cbmap[bit] for bit in cargs]
        412 if optype == OpType.QControlBox:
    
    KeyError: Qubit(QuantumRegister(56, 'qr'), 17)

    I am getting the above error when i try to pass qubits to a function which contains optimization by cpnverting qiskit to tket.
    Please help me solve this error


    ------------------------------
    Shikha Reji
    ------------------------------

    #AIandDSSkills