らんだむな記憶

blogというものを体験してみようか!的なー

execute や transpile etc.

この辺の区別がつかない。programming - What is the difference between Qiskit execute and the IBMQJobManager? - Quantum Computing Stack Exchange を見ると、どれかはどれかを一緒にやってくれる便利関数という感じらしい。

分からないので公式チュートリアルに従って、

qobj = assemble(qc)
result = sim.run(qobj).result()

で覚えておいたらいいかな?って思った。

シミュレータで状態ベクトルをとりたい場合、

qc.save_statevector()
qobj = assemble(qc)
result = sim.run(qobj).result()
out_state = result.get_statevector()

こんな感じで、get_statevector を実行したい場合、事前に save_statevector しておかないとメソッドを呼べないらしい。難しいなぁ

シミュレータ/実機共通で、測定をする場合、

qc.measure_all()
qobj = assemble(qc)
result = sim.run(qobj).result()
counts = result.get_counts()

みたいになる。measure_all みたいに明示的に測定する実装をしないと get_counts 時にエラーになる。当たり前だけど。