Feynman 是量子力學路徑積分模型中量子電路分析的工具包。該工具包包括基於路徑求和形式的電路動作表示的綜合、最佳化和驗證方法。
有兩種與 Feynman 專案互動的方式。在工具中找到基於 Feynman 構建的獨立工具,提供用於優化和/或驗證量子電路的命令列介面,或者可以在其他 Haskell 專案中導入並直接使用 Feynman 庫。
Feynman 計畫要求 GHC >=8.0.2 和 Cabal >=1.24.0。舊版的 GHC 可能可以工作,但尚未經過測試。
Feynman 函式庫和用於最佳化 ( feynopt
) 和驗證 ( feynver
) 的二進位執行檔可以透過以下命令全域安裝
cabal install
或透過稍微更細粒度的一系列命令
cabal configure
cabal build
cabal install
依賴地獄是 Haskell 中的常見問題,因此早期版本的 Cabal 可以選擇明確建立一個本地沙箱,在其中安裝套件依賴項,而不會導致其他套件出現問題。若要在沙箱中安裝 Feynman 的依賴項,請在建置或安裝 Feynman 之前先執行
# Cabal 1 & 2
cabal sandbox init
cabal install --only-dependencies
# Cabal 3
cabal v1-sandbox init
cabal install --only-dependencies
預設情況下,Cabal 將二進位檔案安裝在~/cabal/bin/
中以進行 Unix 建置。若要指定另一個資料夾,請安裝
cabal install --installdir=DIR
Feynman 目前擁有 openQASM 和 .qc 的前端。兩者的範例都可以在基準資料夾中找到。
若要在 .qc 或 openQASM 檔案上執行 Feynman 優化器feynopt
,請執行下列命令
feynopt <filename>.(qc | qasm)
feynopt
自動將副檔名 .qc 和 .qasm 分別辨識為 .qc 和 openQASM 檔案。
有關所有可用優化和轉換的列表,請使用命令
feynopt -h
feynver
二進位工具允許對單獨的電路檔案進行等效性檢查。標準用法是
feynver <filename1>.qc <filename2>.qc
輸入電路必須就主要輸入(即未初始化的量子位元)的名稱達成一致,但它們可以使用不同的輔助設備。
注意: feynver
目前僅支援 .qc 前端
Feynman 儲存庫隨附了一套量子電路基準測試,可在benchmarks
夾中找到。有關基準的更多信息,用戶可以參閱量子電路設計中的形式方法。
基準測試套件還包括範例 openQASM 電路,取自 openQASM github 儲存庫。
Feynman 是涵蓋多篇論文的演算法和技術的集合。如果您想在學術論文中引用,相關論文如下所列。
馬修·艾米