common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


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