らんだむな記憶

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

quantum_computing

cuQuantum の PyPI 版

cuquantum-python · PyPI 良かった良かった。anaconda 専用ではなくて・・・。NVIDIAのcuQuantumのインストール by Yuichiro Minato | blueqat を参考にしてみる。cupy に依存しているので、 pip install cupy-cuda110 みたいなことをする。numpy.einsum み…

対訳表

こんな感じかなぁ〜 英語 訳語 Try it 試してみよう Exercise 練習問題 measure 測定

QunaSys

Team おぉ・・・ここか。このページは見たことあるのに QunaSys という認識が全然なかった。 About us を見ると化学か。この図は量子ビット数と精度の図みたいだな。Hartree-Fock とか平均場近似とか第二量子化で脱落してしまうので、ちょっとこっち方面は。…

Qiskit Textbook (beta)

どういう風にファイルが関係しあってるのかな?って思った。 https://learn.qiskit.org/course/ch-prerequisites/environment-setup-guide-to-work-with-qiskit-textbook の和訳は https://ja.learn.qiskit.org/course/ch-prerequisites/environment-setup-g…

テンソルネットワークと縮約と量子計算

妄想メモ。正しいか確認できてない。 10000 qubits くらいをシミュレータに用意する。 これをネットワークの形に落としてノードとエッジで表現する(テンソルネットワーク)。 ネットワークを組み替えてエッジが隣接ノード間にくるようにする。 縮約でどんど…

行列単位のテンソル積分解

$i_1,\cdots,i_n,j_1,\cdots,j_n \in \{0,1\}$ の時、$$ \begin{align*} \ket{i_1}\bra{j_1} \otimes \cdots \otimes \ket{i_n}\bra{j_n} = \ket{i_1\cdots i_n}\bra{j_1\cdots j_n} \end{align*} $$を示したい。 つまりケットブラで作れる “行列単位” は $\…

Qiskit のデフォルト設定

Local Configuration — Qiskit 0.36.1 documentation に従って ~/.qiskit/settings.conf に設定を書けば良いらしい。 サンプルとしては https://github.com/qiskit-community/qiskit-textbook/blob/main/.qiskit/settings.conf にある [default] circuit_dra…

<QT> H ゲートと T ゲートによる任意の回転

https://qiskit.org/textbook/ch-gates/more-circuit-identities.html#5.-Arbitrary-rotations-from-H-and-T-書いていることが少し分かりにくいが、$R_z(\frac{\pi}{4}) R_x(\frac{\pi}{4})$ というゲートを $H$ ゲートと $T$ ゲートの組み合わせで作ること…

<QT> 回路の等価性

<QT> Single Qubit Gates - らんだむな記憶 で既に見たが、$HXH = Z$ と $HZH = X$ が成立する。よって、物理的なノイズの増大はさておき、論理的には、X ゲートから Z ゲートを実装できる。同様に $CZ_{0,1} = H CX_{0,1} H$ と実装できる。 簡単な証明としては</qt>…

<QT> 位相キックバック

Phase Kickback Kickback is where the eigenvalue added by a gate to a qubit is ‘kicked back’ into a different qubit via a controlled operation. X, Y, Z ゲートには対応する基底が存在する。例えば、Z ゲートでは計算基底 $\ket{0}$, $\ket{1}$ が対…

<QT> CX ゲートの反転

を見たい。 def create_circuit(q0, q1): qc = QuantumCircuit(2) if q0 != 0: qc.x(0) if q1 != 0: qc.x(1) qc.h(0) qc.h(1) qc.cx(0, 1) qc.h(0) qc.h(1) qc.measure_all() return qc が回路の実装になる。 $\ket{10}$ を入力してみよう。$$ \begin{align*…

<QT> もつれ状態

$$ \begin{align*} \ket{00} \to \frac{1}{\sqrt{2}}(\ket{00} + \ket{11}) \end{align*} $$を作成する回路は qc = QuantumCircuit(2) qc.h(0) qc.cx(1) で、$$ \begin{align*} \ket{00} \to \frac{1}{\sqrt{2}}(\ket{01} + \ket{10}) \end{align*} $$を作成…

Qiskit の変更

IBM Quantumで学ぶ量子コンピュータ - 秀和システム あなたの学びをサポート! の内容と現在の API や textbook では少し差がある。これについて少し調べてみた。 execute Remove references to 'execute' by frankharkins · Pull Request #920 · qiskit-com…

量子回路とテンソルネットワーク

引き続き テンソルネットワークの進展 - 株式会社サイエンス社 株式会社新世社 株式会社数理工学社 の読書メモ。量子状態 $\ket{000}$ について、左から右に 1 番目、2 番目、3 番目と解釈し、1, 2 番目の量子ビットに作用する量子ゲート $U^{(1)}$ (例えば…

量子回路による機械学習 (2)

次に $n$ 量子ビットの状態 $\ket{j_1} \otimes \ket{j_2} \otimes \cdots \otimes \ket{j_n} = \ket{j_1 \cdots j_n}$ の $a$ 番目の量子ビットに作用するユニタリゲート $U_a$ を考える。1 量子ビットの場合と似たような記法になるが、$$ \begin{align*} U…

量子回路による機械学習 (1)

テンソルネットワークの進展 - 株式会社サイエンス社 株式会社新世社 株式会社数理工学社 pp.55-56 の辺りの読書メモ的なものを残す。$\ket{\psi} = a \ket{0} + b \ket{1}$ をゲート $U$ でうつすことを考える。個々の Z-基底について $j \in \{0, 1\}$ と…

<QT> P ゲート

$$ \begin{align*} P(\phi) = \begin{bmatrix} 1 & 0 \\ 0 & e^{i \phi} \end{bmatrix} \end{align*} $$は Z-軸の周りの回転を発生させ、$\ket{\psi} = a \ket{0} + b \ket{1}$ に作用させると、$P(\phi) \ket{\psi} = a \ket{0} + b e^{i \phi} \ket{1}$ の…

<QT> Heisenberg の不確定性原理?

$$ \begin{align*} \ket{+} = \frac{1}{\sqrt{2}} \ket{0} + \frac{1}{\sqrt{2}} \ket{1} \end{align*} $$を X-基底で測定すると、100% の確率で $\ket{+}$ が観測される。一方、Z-基底で測定すると、50% の確率で $\ket{0}$ が観測され、50% の確率で $\ket…

<QT> Digression: Measuring in Different Bases

いまいち何を書いてあるのかはよく分からないので、処理をそのまま追いかけてみよう。$$ \begin{align*} \ket{q} = a \ket{0} + b \ket{1} = a^\prime \ket{+} + b^\prime \ket{-} \end{align*} $$というように量子状態は複数の正規直交基底で測定できる。例…

<QT> Single Qubit Gates

Z ゲートの固有状態は $\ket{0}$ と $\ket{1}$ で、X ゲートの固有状態は $\ket{+} = \frac{1}{\sqrt{2}}(\ket{0} + \ket{1})$ および $\ket{+} = \frac{1}{\sqrt{2}}(\ket{0} - \ket{1})$ である。 Y ゲートの固有状態は、$\ket{\circlearrowleft} = \frac{…

Bloch 球上のアニメーション

qiskit.visualization.visualize_transition — Qiskit 0.36.1 documentation を参考にする。 qc = QuantumCircuit(1) qc.ry(np.pi/4, 0) qc.rx(np.pi, 0) visualize_transition(qc) みたいな感じでゲートの適用がアニメーションで可視化される。

<QT> The Rules of Measurement

https://qiskit.org/textbook/ch-states/representing-qubit-states.html#2.-The-Rules-of-Measurement- で書いていることは分かりにくいのだが、確率振幅の求め方を書いている。$$ \begin{align*} \ket{q_0} = \frac{1}{\sqrt{2}} \ket{0} + \frac{i}{\sqrt…

execute や transpile etc.

qiskit.compiler.assemble — Qiskit 0.36.1 documentation qiskit.compiler.transpile — Qiskit 0.36.1 documentation Executing Experiments (qiskit.execute_function) — Qiskit 0.36.1 documentation qiskit.providers.aer.AerSimulator.run — Qiskit 0.3…

<QT> save_statevector

Representing Qubit States をぽちぽちやってみると qc.save_statevector() # Tell simulator to save statevector で AttributeError: 'QuantumCircuit' object has no attribute 'save_statevector' というエラーが出た。調べた結果、 sim = Aer.get_backe…

Qiskit の本体?

from qiskit import QuantumCircuit とかする時の、qiskit の __init__.py にあたるものは qiskit-terra/__init__.py at main · Qiskit/qiskit-terra · GitHub のようだ。QuantumCircuit は https://github.com/Qiskit/qiskit-terra/blob/main/qiskit/circui…

<QT> 量子半加算器

The Atoms of Computation の通りだけど。 def add(a, b): qc = QuantumCircuit(4, 2) if a != 0: qc.initialize([0, 1], 0) if b != 0: qc.initialize([0, 1], 1) qc.cx(0, 2) qc.cx(1, 2) qc.ccx(0, 1, 3) qc.measure(2, 0) qc.measure(3, 1) results = si…

aer_simulator

シミュレータでショットを打っても結果が固定っぽいので。ノイズのある Aer シミュレーターでのVQE — Qiskit 0.36.1 ドキュメント を参考に from qiskit import Aer from qiskit.utils import algorithm_globals seed = 170 algorithm_globals.random_seed =…

Blueqat (2)

Introduction の回路をまず Qiskit で書いてみる。 from qiskit import QuantumCircuit, execute, Aer qc = QuantumCircuit(4) qc.x(0) qc.x(1) qc.barrier() qc.cx(1, 2) qc.cx(0, 2) qc.ccx(0, 1, 3) qc.measure_all() backend = Aer.get_backend('aer_sim…

Blueqat (1)

https://github.com/Blueqat/blueqat-tutorials を Qiskit と比較しつつ眺めてみたい。 blueqat cloudで始める無料量子コンピュータプログラミング01(1量子ビットの計算) by Yuichiro Minato | blueqat などを参考に blueqat cloud に登録して Notebook を…

Qiskit advocate program (2)

とりあえず ML の論文は一旦読みたいやつは読んだ (他にもあるけど一旦全部無視!) ので、Qiskit Advocate program の活動に移行したい。 Qiskit Advocates https://github.com/qiskit-advocate/application-guide この辺が関係しそう。当たり前だけど英語で…