@@ -711,31 +711,61 @@ class num:
711711# =============================================================================
712712# Quantum Simulators
713713# =============================================================================
714+ class TableauWrapper :
715+ """Wrapper for accessing stabilizer/destabilizer tableaus from simulators."""
716+
717+ def __init__ (self , sim : object , * , is_stab : bool ) -> None : ...
718+ def print_tableau (self , * , verbose : bool = False ) -> list [str ]: ...
719+ @property
720+ def col_x (self ) -> list [list [int ]]: ...
721+ @property
722+ def col_z (self ) -> list [list [int ]]: ...
723+ @property
724+ def row_x (self ) -> list [list [int ]]: ...
725+ @property
726+ def row_z (self ) -> list [list [int ]]: ...
727+
728+ class GateBindingsDict :
729+ """Special dict that delegates gate lookups to run_gate()."""
730+
731+ def __init__ (self , sim : object ) -> None : ...
732+ def __getitem__ (self , key : str ) -> object : ...
733+ def __setitem__ (self , key : str , value : object ) -> None : ...
734+ def __contains__ (self , key : str ) -> bool : ...
735+ def get (self , key : str , default : object | None = None ) -> object : ...
736+ def __len__ (self ) -> int : ...
737+ def keys (self ) -> list [str ]: ...
738+
714739class SparseSim :
715740 """Sparse stabilizer simulator."""
716741
717742 def __init__ (self , num_qubits : int ) -> None : ...
743+ def reset (self ) -> SparseSim : ...
718744 @property
719745 def num_qubits (self ) -> int : ...
720746 @property
721- def stabs (self ) -> object : ...
747+ def stabs (self ) -> TableauWrapper : ...
748+ @property
749+ def destabs (self ) -> TableauWrapper : ...
722750 @property
723- def destabs (self ) -> object : ...
751+ def gens (self ) -> tuple [ TableauWrapper , TableauWrapper ] : ...
724752 @property
725- def gens (self ) -> tuple [ object , object ] : ...
753+ def bindings (self ) -> GateBindingsDict : ...
726754 def __repr__ (self ) -> str : ...
727755
728756class SparseSimCpp :
729757 """C++ sparse simulator bindings."""
730758
731759 def __init__ (self , num_qubits : int ) -> None : ...
760+ def reset (self ) -> SparseSimCpp : ...
732761 @property
733762 def num_qubits (self ) -> int : ...
734763
735764class StateVec :
736765 """Rust state vector simulator."""
737766
738767 def __init__ (self , num_qubits : int ) -> None : ...
768+ def reset (self ) -> StateVec : ...
739769 @property
740770 def num_qubits (self ) -> int : ...
741771 @property
@@ -749,6 +779,7 @@ class Qulacs:
749779 """Rust Qulacs state vector simulator."""
750780
751781 def __init__ (self , num_qubits : int , * , seed : int | None = None ) -> None : ...
782+ def reset (self ) -> Qulacs : ...
752783 @property
753784 def num_qubits (self ) -> int : ...
754785 @property
@@ -765,13 +796,15 @@ class QuestStateVec:
765796 """QuEST state vector simulator."""
766797
767798 def __init__ (self , num_qubits : int ) -> None : ...
799+ def reset (self ) -> QuestStateVec : ...
768800 @property
769801 def num_qubits (self ) -> int : ...
770802
771803class QuestDensityMatrix :
772804 """QuEST density matrix simulator."""
773805
774806 def __init__ (self , num_qubits : int ) -> None : ...
807+ def reset (self ) -> QuestDensityMatrix : ...
775808 @property
776809 def num_qubits (self ) -> int : ...
777810
0 commit comments