はじめに
量子コンピュータの発展に伴って、数多の量子プログラミング用のSDKが出てきています。
各SDKは、多少の個性(得意なこと)を持っています。
また、SDK毎に対応している量子コンピュータ実機が異なります。1
それをまとめたいと思います。
分かる範囲で書きましたが、色々抜けている部分はあると思います。
SDKは、よく見るものだけ書きました。数多あります。2
一覧表
(解像度が悪い場合は、画像をクリックしてポップアップすると解像度が上がります)
おすすめ
初心者には、そもそもゲートとはなんぞや?を理解する必要があるので、日本語チュートリアルが丁寧な
Qulacsおよびその教材(Quantum Native Dojo) が良いかと思います。
ゲート操作がわかってきたら、やはり実機を動かしたいですよね。
無料で使えるゲートの実機はIBMQしかありません。
サードパーティーのインターフェースも含めれば多くの言語でIBMQを利用可能ですが、
標準でサポートしているもののほうが戸惑いがないと思います。
となると、Qiskit, blueqat, PennyLaneあたりが良いです。
日本語チュートリアルも欲しいとすると、Qiskitかblueqatになります。
Qiskitはチュートリアルの幅広さ、ライブラリの幅広さでは素晴らしいですが、呪文が長いです。
blueqatはコーディングが簡潔ですが、qiskitほどのライブラリはないので、自分で頭を使うことが多い気がします。
ただ、課金すればIBMQ以外の実機にもすぐ投げれるのは強いですね。
私はQiskitをやってからblueqatを使いましたが、どちらか使えれば十分と思います。
機械学習をしたい!と決まっている人は、PennyLaneでよいと思います。
こちらも、Qulacsからいきなりいっても大丈夫です。チュートリアルは英語しかないので頑張ってください。
(当方のQiita記事も参照下さい)
量子ゲートはほぼ機械語って感じなので、SDKを変えても記法は大差ありません。
自分が欲しい教材やデモが充実しているもの で選びましょう。
開発環境
Google colaboratory でもいいですし、qiskitやblueqatの場合はcloud環境が無償提供されています。
localで構築すると、隙間時間に操作しやすいです。
まとめ
とりあえず手を動かそう。
実機を使うと、あまりの性能の低さに絶望するかと思いますが、気長にやりましょう。
