"""Graph simulator.Graph state simulator, according toM. Elliot, B. Eastin & C. Caves, JPhysA 43, 025301 (2010) and PRA 77, 042307 (2008)"""from__future__importannotationsimportwarningsfromgraphix.graphsim.basegraphstateimportRUSTWORKX_INSTALLED,BaseGraphStatefromgraphix.graphsim.nxgraphstateimportNXGraphStatefromgraphix.graphsim.rxgraphstateimportRXGraphState
[docs]classGraphState:"""Factory class for graph state simulator."""def__new__(cls,nodes=None,edges=None,vops=None,use_rustworkx:bool=False)->BaseGraphState:"""Build a graph state simulator."""ifuse_rustworkx:ifRUSTWORKX_INSTALLED:returnRXGraphState(nodes=nodes,edges=edges,vops=vops)warnings.warn("rustworkx is not installed. Using networkx instead.",stacklevel=1)returnNXGraphState(nodes=nodes,edges=edges,vops=vops)