discopy
v1.1.7

Discopyは、文字列図を使用して計算するためのPythonツールキットです。
Discopyは、DiscocatとQNLPの実装として始まりました。これは現在、独自のライブラリになりました:Lambeq。
Arrowデータ構造Diagramデータ構造Hypergraphデータ構造と、対称、トレース、コンパクト、マルコフのカテゴリへのその制限Functor評価の方法:への評価:この例は、Pawel Sobocinskiのブログ投稿Crema di MascarponeとDiagrammatic Reasoningからインスピレーションを受けています。
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チュートリアルをご覧ください!
私たちは新しい貢献者を歓迎したいと思っています!
まず、貢献ガイドラインをお読みください。その後、不一致に連絡するか、問題を開きます。
アカデミック出版物のコンテキストでDiscopyを使用した場合、引用することをお勧めします。
さらに、仕事が量子コンピューティングに関連している場合は、引用することもできます。
最近の機能( Hypergraphなど)のいずれかを使用する場合は、次のことにも言及する必要があります。