discopy
v1.1.7

Discopy는 문자열 다이어그램으로 컴퓨팅을위한 파이썬 툴킷입니다.
Discopy는 Discocat 및 QNLP의 구현으로 시작되었습니다. 이것은 이제 자체 도서관이되었습니다 : Lambeq.
Arrow 심포Diagram 데이터 구조.Hypergraph 데이터 구조 및 대칭, 추적, 작곡 및 Markov 카테고리에 대한 제한Functor 평가 방법 :이 예는 Pawel Sobocinski의 블로그 게시물 Crema di Mascarpone 및 Diagrammatic Orade에서 영감을 얻었습니다.
from discopy . symmetric import Ty as Ingredient , Box as Step , Diagram as Recipe
egg , white , yolk = Ingredient ( "egg" ), Ingredient ( "white" ), Ingredient ( "yolk" )
crack = Step ( "crack" , egg , white @ yolk )
merge = lambda x : Step ( "merge" , x @ x , x )
# DisCoPy allows string diagrams to be defined as Python functions
@ Recipe . from_callable ( egg @ egg , white @ yolk )
def crack_two_eggs ( left_egg , right_egg ):
left_white , left_yolk = crack ( left_egg )
right_white , right_yolk = crack ( right_egg )
return ( merge ( white )( left_white , right_white ),
merge ( yolk )( left_yolk , right_yolk ))
# ... or in point-free style using parallel (@) and sequential (>>) composition
assert crack_two_eggs == crack @ crack
>> white @ Recipe . swap ( yolk , white ) @ yolk
>> merge ( white ) @ merge ( yolk )
crack_two_eggs . draw ()
pip install discopyDiscopy가 작동하는 것을 보려면 QNLP 튜토리얼을 확인하십시오!
우리는 새로운 기고자들을 환영하고 싶어합니다!
먼저 기고 가이드 라인을 읽으십시오. 그런 다음 Discord를 연락하거나 문제를여십시오.
학술 간행물의 맥락에서 Discopy를 사용한 경우 다음을 인용하는 것이 좋습니다.
또한 귀하의 작업이 Quantum Computing과 관련이있는 경우 다음을 인용 할 수도 있습니다.
최근 기능 (예 : Hypergraph )을 사용하는 경우 다음을 언급해야합니다.