discopy/discopy
The Python toolkit for computing with string diagrams.
解決的問題
DisCoPy 提供了一種計算字串圖的方法,字串圖是單oidal範疇中態射的圖形化表示。它允許使用者將複雜系統(如自然語言語法、量子電路和食譜步驟)建模為可組合、重寫並評估為具體數學物件(如張量或函數)的圖形。
工作原理
該工具包使用 Python 實作範疇論概念(如 Category、MonoidalCategory 等)的層次結構。它使用由方塊和線路組成的 Diagram 資料結構。這些圖形可透過 Functors 進行轉換,將抽象圖形映射至具體實作。例如,一個張量值函子可使用 PyTorch、NumPy 或 JAX 等函式庫將圖形評估為張量網路。
適用對象
專為應用範疇論、量子電腦科學和計算語言學(特別是使用組合分佈模型如 DisCoCat 的人)的研究人員與實務者設計。
主要亮點
- 多後端張量支援:使用 NumPy、PyTorch、TensorFlow、JAX 等將圖形評估為張量網路。
- C-語法整合:提供與 spaCy 和 NLTK 接口的上下文無關文法、範疇文法、pregroup 文法和依存文法實作。
- 量子計算工具:與 tket 接口用於電路編譯,與 PyZX 接口用於 ZX-演算優化。
- 多樣化的資料結構:支援 λ 項(
Term)、組合映射(CMap)和超圖,適用於不同的範疇結構。
相關
- 專案
- 專案
- 專案
- 專案
- 專案