matchcake.circuits package¶
Submodules¶
matchcake.circuits.random_generator module¶
- class matchcake.circuits.random_generator.RandomOperationsGenerator(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: Sequence[Type[Any]] = (), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: Any | None = None, output_wires: Sequence[int] | None = None, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
Bases:
object
- __init__(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: Sequence[Type[Any]] = (), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: Any | None = None, output_wires: Sequence[int] | None = None, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
- circuit()¶
- get_initial_state(rn_gen: Generator)¶
- get_ops()¶
- get_output_op()¶
- property n_qubits¶
- property n_wires¶
- property output_kwargs¶
- tolist()¶
matchcake.circuits.random_matchgate_circuits module¶
- class matchcake.circuits.random_matchgate_circuits.RandomMatchgateHaarOperationsGenerator(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, *, use_cuda: bool = False, seed: int | None = None, add_swap_noise: bool = True, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
Bases:
RandomMatchgateOperationsGenerator
- __init__(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, *, use_cuda: bool = False, seed: int | None = None, add_swap_noise: bool = True, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
- haar_circuit_gen()¶
- class matchcake.circuits.random_matchgate_circuits.RandomMatchgateOperationsGenerator(wires: ~typing.Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: ~typing.List[~typing.Type[~matchcake.operations.matchgate_operation.MatchgateOperation]] = (<class 'matchcake.operations.matchgate_operation.MatchgateOperation'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationXX'>, <class 'matchcake.operations.fermionic_swap.FermionicSWAP'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationZZ'>, <class 'matchcake.operations.fermionic_hadamard.FermionicHadamard'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationYY'>, <class 'matchcake.operations.fermionic_superposition.FermionicSuperposition'>), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: ~typing.Any | None = None, output_wires: ~typing.Sequence[int] | None = None, initial_state: ~typing.Sequence[int] | ~numpy.ndarray | None = None, **kwargs)¶
Bases:
RandomOperationsGenerator
- __init__(wires: ~typing.Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: ~typing.List[~typing.Type[~matchcake.operations.matchgate_operation.MatchgateOperation]] = (<class 'matchcake.operations.matchgate_operation.MatchgateOperation'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationXX'>, <class 'matchcake.operations.fermionic_swap.FermionicSWAP'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationZZ'>, <class 'matchcake.operations.fermionic_hadamard.FermionicHadamard'>, <class 'matchcake.operations.fermionic_rotations.FermionicRotationYY'>, <class 'matchcake.operations.fermionic_superposition.FermionicSuperposition'>), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: ~typing.Any | None = None, output_wires: ~typing.Sequence[int] | None = None, initial_state: ~typing.Sequence[int] | ~numpy.ndarray | None = None, **kwargs)¶
matchcake.circuits.random_parametrize_circuit_generator module¶
- class matchcake.circuits.random_parametrize_circuit_generator.RandomParametrizeGenerator(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: Sequence[Type[Any]] = (), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: Any | None = None, output_wires: Sequence[int] | None = None, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
Bases:
RandomOperationsGenerator
matchcake.circuits.random_sptm_circuits module¶
- class matchcake.circuits.random_sptm_circuits.RandomSptmHaarOperationsGenerator(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, *, use_cuda: bool = False, seed: int | None = None, add_swap_noise: bool = True, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
Bases:
RandomSptmOperationsGenerator
- __init__(wires: Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, *, use_cuda: bool = False, seed: int | None = None, add_swap_noise: bool = True, initial_state: Sequence[int] | ndarray | None = None, **kwargs)¶
- haar_circuit_gen()¶
- class matchcake.circuits.random_sptm_circuits.RandomSptmOperationsGenerator(wires: ~typing.Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: ~typing.List[~typing.Type[~matchcake.operations.single_particle_transition_matrices.single_particle_transition_matrix.SingleParticleTransitionMatrixOperation]] = (<class 'matchcake.operations.single_particle_transition_matrices.sptm_f_rxrx.SptmfRxRx'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap.SptmFSwap'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_rzrz.SptmRzRz'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_identity.SptmIdentity'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fhh.SptmFHH'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_ryry.SptmRyRy'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fermionic_superposition.SptmFermionicSuperposition'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap_rzrz.SptmFSwapRzRz'>), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: ~typing.Any | None = None, output_wires: ~typing.Sequence[int] | None = None, initial_state: ~typing.Sequence[int] | ~numpy.ndarray | None = None, **kwargs)¶
Bases:
RandomOperationsGenerator
- __init__(wires: ~typing.Sequence[int] | int, n_ops: int | None = None, batch_size: int | None = None, op_types: ~typing.List[~typing.Type[~matchcake.operations.single_particle_transition_matrices.single_particle_transition_matrix.SingleParticleTransitionMatrixOperation]] = (<class 'matchcake.operations.single_particle_transition_matrices.sptm_f_rxrx.SptmfRxRx'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap.SptmFSwap'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_rzrz.SptmRzRz'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_identity.SptmIdentity'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fhh.SptmFHH'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_ryry.SptmRyRy'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fermionic_superposition.SptmFermionicSuperposition'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap_rzrz.SptmFSwapRzRz'>), *, use_cuda: bool = False, seed: int | None = None, output_type: str | None = None, observable: ~typing.Any | None = None, output_wires: ~typing.Sequence[int] | None = None, initial_state: ~typing.Sequence[int] | ~numpy.ndarray | None = None, **kwargs)¶
- matchcake.circuits.random_sptm_circuits.random_sptm_operations_generator(n_ops: int, wires: ~typing.Sequence[int] | int, batch_size: int | None = None, op_types: ~typing.List[~typing.Type[~matchcake.operations.single_particle_transition_matrices.single_particle_transition_matrix.SingleParticleTransitionMatrixOperation]] = (<class 'matchcake.operations.single_particle_transition_matrices.sptm_f_rxrx.SptmfRxRx'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap.SptmFSwap'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_rzrz.SptmRzRz'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_identity.SptmIdentity'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fhh.SptmFHH'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_ryry.SptmRyRy'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fermionic_superposition.SptmFermionicSuperposition'>, <class 'matchcake.operations.single_particle_transition_matrices.sptm_fswap_rzrz.SptmFSwapRzRz'>), *, use_cuda: bool = False, seed: int | None = None, **kwargs)¶