>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Unknown

量子コンピューティング向けオープンソースソフトウェアガイド

bDialog

量子コンピューティングの話になると、人々は通常、IBMの複雑な低温装置や量子力学の難解な数式を思い浮かべます。これにより、平均的な開発者は参入できないと感じてしまいます。しかし現実は全く異なり、ターミナルを開いてpipやcargoでパッケージをインストールし、シミュレーターで最初の量子アルゴリズムを実行するということが、今すぐ可能です。

問題は別にあります。この5年間でこの領域に非常に多くのソフトウェアが出現し、溺れそうになるほどです。GoogleやIBMといった巨大企業によるフレームワーク、C++、Julia、Rust、さらにはOCamlのニッチライブラリまで存在します。この混沌に秩序をもたらすため、Quantum Open Source Foundation(QOSF)がリポジトリawesome-quantum-softwareを作成しました。これは量子プログラミング用のオープンソースツールの詳細で構造化されたカタログです。

カタログの中身

このリポジトリの作成者たちは、単にリンクを一箇所に放り投げたわけではありません。アプリケーション領域別に整理しています。Pythonでの記述に慣れているなら、すぐに使えるライブラリが数十あります。しかし最大級のシミュレーター速度が必要な場合は、CUDAサポート付きのC++やRustのエンジンが存在します。

カタログには約24のカテゴリーが含まれています。以下は、開発者にとって最も関連性の高い主な領域です:

1. フルスタック量子フレームワーク

これらは誰もが始める基本となるSDKです。量子回路の作成、量子ビットの操作、実際のハードウェアまたはローカルシミュレーターへのジョブ送信のための高レベルAPIを提供します。

  • IBMのQiskit。 вокруг него построено огромное сообщество. Наиболее популярный инструмент.
  • GoogleのCirq。NISQアルゴリズム(現在の世代のノイズのある中規模量子プロセッサ用のアルゴリズム)に最適化されています。
  • XanaduのPennyLane。量子回路と機械学習を組み合わせたい人に最適で、微分可能プログラミングをサポートし、PyTorchおよびTensorFlowと統合しています。
  • NVIDIAのCUDA-Q。GPUアクセラレーションを備えたハイブリッド量子古典コンピューティング用プラットフォーム。

2. 量子回路シミュレーター

本格的な量子コンピュータは数百万ドルのコストかかり、クラウドキューを通じてアクセスするため、開発とデバッグの95%は通常のPCで行われます。このリストには、あらゆる技術スタック用のシミュレーターが含まれています:

  • Python: Stim(非常に高速な安定化子回路シミュレーター)、Dynamiqs(JAX上に構築され、GPUサポート付き)。
  • C++: Qiskit AerqsimQuantum++
  • Rust: QCGPURustQIPQuriust
  • ブラウザ向け: QuirkおよびQuantum JavaScript (Q.js)。ドラッグ&ドロップで回路を視覚的に構築できます。

3. 量子コンパイラーとオプティマイザー

量子ゲートはノイズがあり、量子ビットのコヒーレンス時間はマイクロ秒に制限されています。回路が短いほど、エラーが少なくなります。コンパイラーはこの最適化を担当します:

  • TKET(およびRustで書かれた更新バージョンTKET2)。特定のチップのトポロジーに合わせて回路を最適化します。
  • PyZX。ZX計算形式を使用して回路を書き換えるライブラリで、高コストな2量子ビット演算の数を大幅に削減します。
  • Mitiq。ハードウェアを変更せずに量子エラー緩和を行うツール。

4. 量子アニーリングと最適化

組み合わせ問題(最短経路探索、巡回セールスマン問題ポートフォリオ最適化)の解決に焦点を当てた量子コンピューティングの別の分支です。このセクションには、D-Waveマシンおよび古典的なQUBO問題ソルバー(dimodqubovertなど)用のツールが含まれています。

5. ポスト量子暗号とセキュリティ

ショアのアルゴリズムは理論的にはRSAやECCを解読できる可能性があるため、暗号の世界はポスト量子アルゴリズムへの急速な移行を進めています。リポジトリには、liboqsPQClean、量子耐性鍵交換アルゴリズムサポート付きのOpenSSHおよびOpenSSLのフォークへのリンクが含まれています。

このリストが開発者にもたらすメリット

バックエンド、データ分析、またはモバイル開発に従事している場合、論理的な疑問が生じます。なぜこのリポジトリを開く必要があるのでしょうか?

第一に、便利なエントリーポイントとなるためです。古くなった記事を読む代わりに、MicrosoftのQuantum Katasのような готовых интерактивных учебных пособийを使用したり、Quirkのようなブラウザベースのエミュレーターを実行したりできます。積極的にメンテナンスされている実際のプロジェクトをすぐに確認できます。

第二に、実用的なゲームを含むQuantum funセクションがあります。例えば、Quandoom(量子シミュレーターで実行するように適応されたDOOM)やEntanglion(絡み合いの原理を説明するオープンソースボードゲーム)です。これは、重い線形代数の教科書に没頭することなく、基本的な重ね合わせや量子ビット測定の概念を理解する優れた方法です。

第三に、リポジトリの作者たちはAbandoned projectsセクションを維持しています。2年以上コミットのないプロジェクトはここに分類されます。これにより、死んだライブラリに時間を無駄にするのを避け、オープンソースへの貢献のアイデアを得ることができます。一部の古いリポジトリには堅実なアーキテクチャがあり、依存関係の更新が必要です。

始める場所

量子ソフトウェアを実際に試したい場合は、以下のパスをお勧めします:

  1. ブラウザでQuirkを触ってみましょう。数分で、アダマールゲートが量子ビットを重ね合わせ状態にどのように置くか、量子絡み合いがどのように機能するかを理解できます。
  2. pipでQiskitまたはPennyLaneをインストールし、シンプルな乱数生成回路(QRNG)を作成し、ローカルシミュレーターで実行します。
  3. Unitary Fund助成プログラムを確認しましょう(READMEの先頭にリンクがあります)。この財団は量子オープンソースソフトウェアの開発に対して定期的に4,000ドルの助成金を授与しています。C++、Rust、またはPythonでパフォーマンスの高いコードを書けるなら、あなたのスキルは必ず役立ちます。

リポジトリawesome-quantum-softwareは、物理学とプログラミングの交差点にある技術動向を追い続けたい人にとって、ブックマークする価値があります。量子産業は純粋に学術的なものから応用開発へと徐々に移行しており、オープンソースソフトウェアはこの転換において重要な役割を果たしています。

関連プロジェクト