らんだむな記憶

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

Qiskit Aer (1)

Qiskit/qiskit-aer が総本山。

Qiskit is made up of elements that each work together to enable quantum computing. This element is Aer, which provides high-performance quantum computing simulators with realistic noise models.
(Qiskitは,量子コンピューティングを実現するために,それぞれが連携する要素で構成されている.この要素がAerであり,現実的なノイズモデルを持つ高性能な量子コンピューティングシミュレータを提供する.)

インストール

Install from Source を参考に。

準備

$ sudo apt install build-essential
$ apt-get install git
$ git clone https://github.com/Qiskit/qiskit-aer
$ cd qiskit-aer
$ pip install -r requirements-dev.txt
$ pip install conan

ビルド

$ python ./setup.py bdist_wheel -- DCMAKE_CXX_COMPILER=g++-10 -DAER_THRUST_BACKEND=OMP -- -j8

共有ライブラリのビルドが走るので少し時間がかかる。

インストール

古いバージョンのアンインストール

$ pip uninstal qiskit-aer

インストール

推奨: (他のモジュールとの依存性の観点でエラー表示は出るが一応インストールされる)

$ pip install -U dist/qiskit_aer*.whl
$ ln -s `python -c "import site; print (site.getsitepackages()[0])"`/qiskit_aer `python -c "import site; print (site.getsitepackages()[0])"`/qiskit/providers/aer

or

$ python setup.py install
...

or

$ python setup.py install -e .
$ find _skbuild/linux-*/cmake-install/qiskit_aer/backends -name "controller_wrappers*.so" -exec cp {} `pwd`/qiskit_aer/backends/ \;
$ find _skbuild/linux-*/cmake-install/qiskit_aer/pulse/controllers -name "pulse_utils*.so" -exec cp {} `pwd`/qiskit_aer/pulse/controllers/ \;
$ ln -s `pwd`/qiskit_aer `python -c "import site; print (site.getsitepackages()[0])"`/qiskit/providers/aer

最新のコード(一部)

以下のようにすれば、PR から最新のコードをブランチとして取ってくることができる。

$ git fetch origin pull/1590/head:add_aer_statevector
$ git checkout add_aer_statevector

サンプルコード

>>> from numpy import sqrt
>>> from qiskit.providers.aer.quantum_info import AerStatevector
>>> sv=AerStatevector([1/sqrt(2), 0, 0, -1/sqrt(2)])
>>> sv.draw(output='latex')