Skip to main content
IBM Quantum Platform

クイック・スタート

  • このページ上のコードは、以下の要件に基づいて開発されました。 これらのバージョンまたはそれ以降のバージョンを使用することを推奨します。

    qiskit[all]~=2.3.0
    

サインインやAPIキーは必要ありません。

Python、仮想環境は初めてですか?
  • Python をダウンロードし、Qiskit で仮想環境を使用する(推奨)。
    • Python をインストールするには、 まずQiskitの PyPI プロジェクトページにある「プログラミング言語」セクションを確認し、最新版がどの Python バージョンをサポートしているかを判断してください。 ダウンロード手順については、 Python 初心者ガイドを参照してください。
    Note

    これらのインストラクションは、以下の標準的な Python ディストリビューションを使用しています。 pypi.org. しかし、 Anacondaminiconda などの他の Python ディストリビューションを、 Poetry のような他の依存関係管理ワークフローと一緒に使うこともできる。

    • Python 仮想環境を使用して、Qiskit を他のアプリケーションから分離する。 Python 仮想環境は、特定の目的のために Python で作業するための隔離された空間です。そのため、マシンの「基本」 Python 環境に影響を与えることなく、好きなパッケージをインストールしたり、ライブラリや依存関係をセットアップしたりすることができます。

    仮想環境の重要な利点のひとつは、 Python の環境が壊れても、簡単に削除してやり直せることだ!

    仮想環境に関する情報を保存する場所を選択します。 通常、これらは各プロジェクト・ディレクトリ内の .venv というディレクトリに保存される。

    仮想環境をセットアップするには、プロジェクト・ディレクトリに移動し、 Python のみをインストールした最小限の環境を作成する。

    python3 -m venv .venv

    次に、新しい環境をアクティブにする。

    source .venv/bin/activate

1. Qiskit をインストールする

お好みのパッケージマネージャー(例: pip)で以下をインストールしてください:


2. 回路を構築する

Python 環境を開き、このコードを実行してベル状態(2つのもつれた量子ビット)を構築する。

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

sampler = StatevectorSampler()
result = sampler.run([qc], shots=1024).result()
print(result[0].data.meas.get_counts())

Output:

{'11': 472, '00': 552}

予想される出力は、「00」と「11」がほぼ均等に分かれる。


3. 結果を可視化する

結果のヒストグラムを得るには、以下のコードをプログラムに追加する。

# Uncomment lines 2 and 8 if you are not using Python in a Jupyter notebook
# import matplotlib.pyplot as plt
from qiskit.visualization import plot_histogram

counts = result[0].data.meas.get_counts()
plot_histogram(counts)

# plt.show()

Output:

Output of the previous code cell

この結果は量子もつれの特徴である。


4. どうなるか見てみよう

コードを変更してみて、それが結果にどのような影響を与えるか見てみよう。 例:

  • QuantumCircuit(3) に変更して3つ目の量子ビットを追加し、 qc.cx(1,2) で2つ目のCXゲートを追加する。 これは、これら3つの量子ビットがすべてエンタングルされたことを意味する。

  • 回路の最後に qc.x(1)


次のステップ

推奨事項
このページは役に立ちましたか?
GitHub に関するバグ、誤字の報告、またはコンテンツのリクエスト。