科学しよう

量子計算のプログラミングの解説をメインに、データサイエンス・機械学習について勉強したことをご紹介します

MENU

量子計算

射影測定

変分分類器の解説をした時に計算結果を取り出すのに最後測定をするという話をしました。 量子機械学習に限った話ではありませんが、量子回路での計算(演算)結果を取り出すには適した量子ビットを適した方法で測定することが必要になります。 古典コンピュー…

PennyLaneを用いた変分分類器(VariationalClassifier)

前回は実用的でなかったので、今回は分類器を作る例をPennyLaneのチュートリアル2つを通して解説します。 今回対象のチュートリアル pennylane.ai こちらのチュートリアルではirisデータセットを使って分類アルゴリズムを実装しています。 なお、多クラス分…

PennyLaneを用いた量子回路最適化

僕が学生時代に量子情報処理の研究に関わっていたのはこちらで自己紹介した通りで、 研究者ではありませんが今も量子情報処理・量子計算には興味があります。 そして今は機械学習エンジニア・データサイエンティストとしてソフトウェア開発に携わっています…

qRAMの作り方

qRAM(Quantum Random Access Memory)を量子回路上で実装する方法を解説します。 こちらとこちらの論文をベースにエッセンスを解説し、これがあることで解ける問題の幅が広がることを紹介します。 対象とする読者 量子プログラミングに興味を持ち始めたばかり…

グローバーのアルゴリズム基礎(3):3量子ビット以上の場合

前回まででグローバーのアルゴリズムの基本要素である「オラクル回路」「位相反転増幅回路」の理論と実装の対応を解説しました。 前回までは2量子ビットの場合でしたが、一般に3量子ビットの場合の実装方法を解説します。 シリーズ予定: オラクル回路 位相…

グローバーのアルゴリズム基礎(2):位相反転増幅回路

本日は前回の続きで、位相反転増幅回路について解説します。 シリーズ予定: オラクル回路 位相反転増幅回路 << 今回 3量子ビット以上の場合 まとめと簡単な応用例 前回はオラクル回路によって正解の状態の位相(正負)を反転させてマーキング(目印)しました。…

グローバーのアルゴリズム基礎(1):オラクル回路

今回からは4回のシリーズでGrover探索アルゴリズムの解説をします。 Grover探索アルゴリズムもQuantumChallenge2020に出題され、仕組みと使い方を覚えると汎用性が高いアルゴリズムです。 QuantumChallenge2020公式 GroverのアルゴリズムはDeutsch–Jozsaアル…

量子コンピュータで加算回路を作る

今回からは前回までの論理回路の知識を使って、実際に計算をしてみます。 まずはQuantumChalleng2020でも出題された加算回路についてです。 QuantumChalleng公式 加算回路のベースは古典回路の半加算器と全加算器です。 加算回路ではXOR・AND・ORゲートを使…

量子コンピュータで行う論理演算(3)

前回はMultiple Controlled Toffoli(MCT)を使って複数の条件のANDゲートの実装を紹介しました。 今回もCXゲート関連のテクニックの紹介です。 これで基本事項の紹介は最後にして次回からはちょっとした計算を紹介したいと思います。 今回は通常のプログラミ…

量子コンピュータで行う論理演算(2)

前回に引き続き、論理演算を量子回路に実装する方法を解説します。 前回基本的な古典論理演算を量子回路に実装する方法の一つで、AND(論理積)演算をCCXゲートで実装する方法を紹介しました。 これは2つの入力の場合の演算ですが、一般に複数の入力に対してAN…

量子コンピュータで行う論理演算(1)

先日QuantumChallengeに参加してみていくつか感じたことの一つに 「問題設定が与えられた後、それを量子回路に対応させることが難しい」 ということがあります。 現状の量子計算はアカデミア要素が強いせいもあってか参考になる記事も少なく、自分で考えると…

IBM Quantum Challenge 2020 体験記

こんにちは、sakumatchoです。 2020/11/9 ~ 2020/11/30の22日間実施されたIBM Quamtum Challenge 2020に参加した体験記を書きます。 対象とする読者 これから量子プログラミングを始めたいという方 すでに学んでいるけど実践する場・挑戦する場が欲しいとい…