結論
qc.depth()
でOK
参考
- https://github.com/Qiskit/qiskit-terra/blob/master/qiskit/circuit/quantumcircuit.py
- https://github.com/Qiskit/qiskit-terra/blob/master/qiskit/circuit/quantumcircuit.py
qiskit.circuit.quantumcircuit module
にdepth()
の関数がある.
他にもappend()
など,便利な関数が色々ある.
使用例
IBM Quantum Experience上で実行した.
まずはimport
%matplotlib inline
# Importing standard Qiskit libraries and configuring account
from qiskit import QuantumCircuit, execute, Aer, IBMQ
from qiskit.compiler import transpile, assemble
from qiskit.tools.jupyter import *
from qiskit.visualization import *
# Loading your IBM Q account(s)
provider = IBMQ.load_account()
from qiskit import *
回路の作成
q = QuantumRegister(3)
c = ClassicalRegister(3)
qc = QuantumCircuit(q, c)
#.draw()で回路を表示
qc.draw()
.depth()
でDepthを測定すると
qc.depth()
>>> 0
まだ何もつけていないので0になる.
回路にHadamard gateを2つ作用させる.
qc.h(q[0])
qc.h(q[0])
qc.draw()
qc.depth()
>>> 2
正しい結果が得られる.
3つのqubitに同時にHadamard gateを作用させると
q = QuantumRegister(3)
c = ClassicalRegister(3)
qc = QuantumCircuit(q, c)
qc.h(q[0])
qc.h(q[1])
qc.h(q[2])
qc.draw()
qc.depth()
>>> 1
depthは,一回の操作でいくつのqubitを操作するかには無関係.