Qiskitでヒストグラムを描画する(plot_histogram)

計算結果を可視化する手段としてヒストグラムは広く利用される。 Qiskitでヒストグラムをプロットするにはvisualizationモジュールに含まれるplot_histogram関数を使用する。 qiskit.visualization.plot_histogram — Qiskit 0.43.1 documentation 引数にはpl…

Qiskitで回路にバリアを設置する(qc.barrier)

Qiskitで回路にBarrierを設置するには、QuantumCircuitのbarrierメソッドを使用する。 qiskit.circuit.QuantumCircuit.barrier — Qiskit 0.43.1 documentation 引数として、qc.barrier(int)のように設置対象の量子ビットを指定する。 from qiskit import Qua…

QiskitでQsphereをプロットする(plot_state_qsphere)

本記事では、QiskitでQsphereをプロットする方法について説明する。 Qsphereは量子状態の可視化方法の一つ。 他によく用いられる可視化方法としてブロッホ球がある。 ブロッホ球については以下の記事を参照。 happy-quantum.hateblo.jp Qsphereもブロッホ球…

Qiskitでブロッホ球をプロットする(plot_bloch_vector、plot_bloch_multivector)

ブロッホ球は量子ビットの状態を視覚的に表現するツール。 https://qiskit.org/textbook/ch-states/representing-qubit-states.html#3.-The-Bloch-Sphere- Qiskitでブロッホ球をプロットするにはVisualizationモジュールに含まれるplot_bloch_vectorまたはpl…

Qiskitで量子回路の行列を確認する(unitary_simulator)

一般的に、量子ビットに対するゲート操作と、その集合である量子回路はユニタリ行列により表される。 Qiskitで量子回路の行列表現を確認するにはunitary_simulatorを使用する。 unitary_simulatorはAerのバックエンドとして提供され、量子回路に対応する行列…

Qiskitで状態ベクトルを確認する(statevector_simulator)

Qiskitで量子回路を構築した後、量子ビットがどのような状態になっているかを確認したい場合がある。 statevector_simulatorはAerによりバックエンドとして提供され、量子ビットの状態を状態ベクトルとして出力することができる。 Simulators — Qiskit 0.43.…

Qiskitで複合ゲートを分解する(qc.decompose)

Qiskitで回路に存在する複合ゲートを単一量子ビットゲートおよび2量子ビットゲートに分解するにはQuantumCircuitのdecomposeメソッドを使用する。 https://qiskit.org/textbook/ja/ch-gates/more-circuit-identities.html Advanced Circuits — Qiskit 0.43.1…

Qiskitのバージョンを確認する(__version__、__qiskit_version__)

Installing Qiskit — Qiskit 0.24.1 documentation 使用中のQiskitのバージョンを確認するには2つの方法がある。 __version__ qiskitパッケージの__version__変数にはQiskit Terraパッケージのバージョンが格納されている。 import qiskit qiskit.__version_…

Qiskitでレジスタを扱う(QuantumRegister、ClassicalRegister)

この記事ではQiskitで量子レジスタおよび古典レジスタを扱う方法について説明する。 https://qiskit.org/documentation/locale/ja_JP/stubs/qiskit.circuit.QuantumRegister.html#qiskit.circuit.QuantumRegister https://qiskit.org/documentation/locale/j…

Qiskitで量子ビットを測定する(qc.measure、qc.measure_all)

この記事では、Qiskitで量子回路に測定操作を追加する方法を説明する。 量子回路の初期化方法については以下の記事を参照。 happy-quantum.hateblo.jp 測定とは量子ビットの値を読み取りその結果を古典ビットに書き出す操作を指す。 QuantumCircuitクラスに…

Qiskitで量子回路を初期化する(QuantumCircuit)

本記事では、Qiskitで量子回路を初期化する方法を説明する。 qiskit.org QuantumRegister — Qiskit 0.43.1 documentation 実際に量子回路を使用する際はこれにゲートを追加することになるが、ゲートについては別の記事で扱う。 Qiskitでは量子回路を扱うクラ…

Qiskitで回路を描画する(qc.draw)

Qiskitで回路を描画するには、QuantumCircuitのdrawメソッドを使用する。 qiskit.org まず、描画対象の回路を以下のように生成しておく。 from qiskit import QuantumCircuit qc = QuantumCircuit(2) qc.h(0) qc.cx(0, 1) 引数にmplを指定すると、[Matplotli…

IBM Quantum Developer サンプル問題(全20問)の日本語訳と解説

「IBM Quantum Developer(正式名称 IBM Certified Associate Developer - Quantum Computation using Qiskit v0.2X)」はオープンソースの量子計算ライブラリQiskitを用いて量子計算を行う技術をはかる資格試験です。 www.ibm.com 上記ページにはSample Tes…