discopy/discopy
The Python toolkit for computing with string diagrams.
해결하는 문제
DisCoPy는 모노이드 범주에서 사상의 그래픽 표현인 스트링 다이어그램을 계산할 수 있는 방법을 제공합니다. 자연어 문법, 양자 회로, 조리법 단계와 같은 복잡한 시스템을 합성, 재작성, 구체적인 수학적 대상(텐서 또는 함수)으로 평가할 수 있는 다이어그램으로 모델링할 수 있습니다.
작동 방식
이 툴킷은 Python을 사용하여 범주 이론의 개념(예: Category, MonoidalCategory 등)의 계층을 구현합니다. Diagram 데이터 구조는 박스와 와이어의 층으로 구성되며, 이러한 다이어그램은 Functors를 통해 변환될 수 있습니다. 예를 들어, 텐서 값을 갖는 함수는 PyTorch, NumPy, JAX 등의 라이브러리를 사용하여 다이어그램을 텐서 네트워크로 평가할 수 있습니다.
대상 사용자
응용 범주론, 양자 컴퓨터 과학, 계산 언어학(특히 DisCoCat과 같은 구성적 분포 모델을 다루는 사람) 연구자 및 실무자에게 적합합니다.
주요 기능
- 다중 백엔드 텐서 지원: NumPy, PyTorch, TensorFlow, JAX 등으로 다이어그램을 텐서 네트워크로 평가합니다.
- C-그램마 통합: spaCy 및 NLTK와의 인터페이스를 갖춘 문맥 자유 문법, 카테고리 문법, 프리그룹 문법, 의존 문법을 구현합니다.
- 양자 컴퓨팅 도구: tket과의 인터페이스를 통해 회로 컴파일, PyZX와의 인터페이스를 통해 ZX-계산법 최적화를 지원합니다.
- 다양한 데이터 구조: λ항(
Term), 조합적 맵(CMap), 하이퍼그래프 등 다양한 범주 구조를 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트