common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

新・量子コンピュータ入門3

Yuichiro Minato

2023/06/17 04:41

1

前回はこちら

https://blueqat.com/yuichiro_minato2/9d628095-2235-4090-a2ce-4973a183acec

100量子ビット以上の計算をする

この新しい手法を使うと、100量子ビット以上の計算もできます。かつ、GPUなどの機械学習のリソースをうまく使うことができるので、ノウハウに実用的な目的もできます。

何種類か量子回路を計算してみます。

まずは部品を準備します。

量子ビットを二つ、量子ゲートを2つ準備します。numpyで計算します。

import numpy as np

q0 = np.array([1,0])

q1 = np.array([1,0])

X = np.array([[0,1],[1,0]])

CX = np.array([[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]])

途中経過まとめ

順番は自由。腕だけを間違えなければいい。腕の数は変更できる。

次は期待値を求めてみる。

同じようにすれば良い

import numpy as np

q0 = np.array([1,0])

q1 = np.array([1,0])

q2 = np.array([1,0])

q3 = np.array([1,0])

X1 = np.array([[0,1],[1,0]])

X2 = np.array([[0,1],[1,0]])

X3 = np.array([[0,1],[1,0]])

CX1 = np.array([[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]]).reshape([2,2,2,2])

CX2 = np.array([[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]]).reshape([2,2,2,2])

res1 = np.einsum("i,ij->j",q0,X1)

res2 = np.einsum("j,k,jklq->lq",res1,q1,CX1)

res3 = np.einsum("m,mn->n",q2,X2)

res4 = np.einsum("n,o,nopq->pq",res3,q3,CX2)

res5 = np.einsum("lq,pq,lp",res2,res4,X3)

res5

0

einsum計算

問題設定さえ量子の問題設定として考えると、einsum計算である程度量子コンピュータの計算が効率的に計算できる。超伝導量子ビットは隣接の接続に制限されるし、イオントラップは結合は多いが量子ビットが少ない。どちらにしろ現在の古典コンピュータの性能からすると十分に計算ができる範囲に収まっている。

以上

© 2025, blueqat Inc. All rights reserved