blueqat clubというのがありまして、認定試験を受けて合格するとblueqat.com上でバッジがもらえます。現在量子コンピュータ業界は人材不足でして、かといって就職するほどの需要はないので、間をとってギグワークやパートタイム、単発仕事が多いです。
特に最初は初心者・初級者向けに量子コンピュータの説明ができるblueqat club basicの認定を増やしていこうと思います。
最近利用している教科書は、
IBM Quantumで学ぶ量子コンピュータ
この中から認定に合格するために特に押さえておくべきポイントをかいつまんで紹介します。
コミュニティはdiscordで運営されており、
こちらから参加できます。
p.12
量子
量子コンピュータはナノスケール以下で現れる量子力学の原理の基づいて作られた計算機で、**「物質と波動の両面の性質を持つ量子」**を使った計算を行う。
p.13
量子コンピュータ五大方式
本ではまだ触れられていないが、主に5つの量子コンピュータの方式を覚えておけばOK。「超電導、イオントラップ、中性原子(冷却原子)、シリコン、光の五種類」。原理は難しいのでbasicでは覚えなくていいが、現在開発競争が行われている。
p.14
量子アルゴリズム
量子コンピュータの性能を引き出すには**「アルゴリズム」**が必要。計算はなんでも早くなるわけではなく、特定のアルゴリズムで高速性が引き出される。
活用方法は、「量子化学計算、金融計算、組合せ最適化、機械学習」が期待されている。
p.15
SDK
量子コンピュータを利用するには**ソフトウェア開発キット(SDK)**が必要。
p.16
FTQCとNISQ
当時はまだそんなに文言が一人歩きしていなかったので、書いていませんでしたが、最近は**FTQC(誤り訂正量子コンピュータ)とNISQ(誤りありの中規模量子コンピュータ)**の文言も覚えておいた方が良いです。FTQC向けが汎用量子アルゴリズム、NISQ向けが量子古典ハイブリッドアルゴリズムで大体覚えておけば良いです。
p.18
FTQC向けアルゴリズム
FTQC向けのアルゴリズムは大きくに種類に大別できます。量子位相推定と量子振幅増幅です。それぞれ指数加速と二乗加速が期待されています。
p.19
NISQ向けアルゴリズム
NISQ向けのアルゴリズムは量子変分アルゴリズムが主に使われます。変分原理という原理に基づいて計算されます。詳しくは初級では覚える必要ないと思います。
p.22
量子ビット
これまでのコンピュータとは異なる量子ビットというものを利用します。量子ビットは0と1の状態の重ね合わせを持つことができます。この辺りから理解と説明に多少苦労するかもしれません。
p.23
ブロッホ球
ブロッホ球は、1量子ビットの状態を説明するのに利用されます。上の頂点の|0>からスタートし、回転を使って状態を変化させます。
p.25
複数量子ビット
複数量子ビットの状態は、例えば|00>, |01>, |10>, |11>の複数の状態の重ね合わせで表現されます。状態は量子ビット数Nに対して、2のN乗になります。
p.27
ブラケット
量子状態を表すブラケット記号。左向きがブラ、右向きがケット。それぞれ量子状態を横と縦ベクトルで表します。
p.30
量子ゲート
量子ビットの状態を変化させるのが量子ゲートです。量子ゲートは行列の形で表現され、ブロッホ球では回転を表します。
p.32
パウリゲート・アダマールゲート
代表的な1量子ビットゲートです。パウリゲートはXYZ軸それぞれ周りに180固定回転します。アダマールゲートはXとZ軸の間45度の位置の軸周りに180度回転します。
p.33
Sゲート、Tゲート
それぞれZゲートと似ていますが、回転する角度がZゲートは180度に対して、Sゲートは90度、Tゲートは45度となっています。
p.34
Rx,Ry,Rzゲート
量子計算では最近とてもよく利用されるゲートです。XYZ軸周りの任意回転といって自由に角度を決められます。
p.36
CNOTゲート
2量子ビットゲートと言って、2つの量子ビットにまたがって演算されます。制御ビットとターゲットビットがあります。制御ビット側の値が1の時にはターゲットビットに対して演算を行い、0の時には何もしません。CXゲートとも呼ばれます。
p.38
SWAPゲート
2つの量子ビットの値を入れ替えます。CNOTゲートを3回繰り返すことでも作れます。
p.39
トフォリゲート
CCXゲートの特殊な呼び方です。3量子ビットゲートと呼ばれるもので、二つの制御ビットの値が両方1の時にターゲットビットの値を演算します。
p.41
測定
量子コンピュータの場合、状態が重なったりもつれたりしているので、計算結果を取り出す測定においては、量子の状態に応じて確率的に答えがでます。それが測定です。説明は難しいので、状態に応じて確率的に答えが出るというのをきちんと説明できれば良いと思います。
p.44
期待値
最近のNISQではよく利用します。本書の説明は簡略的ですが、確率的に毎回出てくる答えに対して、きちんとある決まった値が欲しい時には期待値を求めます。
p.45
量子もつれ
量子もつれは複数の量子ビットの値がもつれ合います。量子の重ね合わせだけでは高速には計算できず、この量子もつれが重要です。
p.50
量子プログラミング
量子コンピュータを使いこなすためには、量子コンピュータ専用のプログラミングが必要です。
p.51
量子コンピュータと古典シミュレータ
量子プログラミングを使うには本物の量子コンピュータを使う以外にも、古典コンピュータ(従来型のコンピュータ)を使ったシミュレーションを活用することも多いです。両方を使い分けて量子プログラミングします。
p.52
量子回路
量子回路は物理的にそう言ったものがあるわけではなく、量子ビットに時間ごとに操作を与えていきます。楽譜のようなものになっています。そうした時間ごとの操作を書き記したものが量子回路です。
p.61
Qiskit
IBM社が提供する量子コンピュータ向けのソフトウェア開発キットSDKです。Pythonというプログラミング言語で記述されています。
p.63
Jupyter notebook
一般的なブラウザ上で利用できる対話型のプログラミングインターフェイスです。Qiskitをはじめとする量子コンピュータのプログラミングではよく利用されます。
p.66
量子回路の作成
量子回路のプログラミング方法です。利用する量子ゲートと適用する量子ビットの通し番号を指定してプログラミングします。
p.69
量子回路の実行
作成した量子回路を実行しますが、実行するには実際の量子コンピュータの他古典シミュレータなども選択できます。
p.82
1量子ビットの計算
量子ゲートを選び、量子ビットを指定して実行します。
p.88
2量子ビットの計算
量子ゲートを選び、量子ビットを2つ指定して順番に適用します。2量子ビットゲートの場合には特に指定する順番が重要です。
p.96
量子の重ね合わせ
アダマールゲートを利用することで、簡単に初期状態から量子の重ね合わせを作ることができます。計算をすると0と1の出る回数が半々になることが確認できます。
p.100
量子のもつれ
アダマールゲートとCNOTゲートを利用することで、簡単に初期状態から量子もつれを作ることができます。計算をすると00と11の出る回数が半々になることが確認できます。もつれていないで2量子ビットを全て重ね合わせると00,01,10,11の4つの状態が約1/4ずつほど出てきます。
p.103
GHZ状態
GHZ状態では3量子ビット以上の量子もつれが実現できます。
p.106
量子テレポーテーション
basic最後の量子テレポーテーションでは複雑な手順を踏むことで量子状態が移ることを確認します。量子状態は複製できないので、コピーされるというのもポイントです。
以上となりますが、このあたりまでを押さえておけば、展示会での簡単な量子コンピュータ説明やシステムの販売の時の説明には十分ではないでしょうか。そう言った導入の時の説明は2023年現在では、需要が結構あります。以上です。