MatchCake

matchcake.devices.probability_strategies package

Submodules

matchcake.devices.probability_strategies.clifford_sum_strategy module

class matchcake.devices.probability_strategies.clifford_sum_strategy.CliffordSumStrategy

Bases: ProbabilityStrategy

NAME: str = 'CliffordSum'
REQUIRES_KWARGS: List[str] = ['all_wires', 'state_prep_op', 'transition_matrix']
__call__(*, system_state: TensorLike | Tensor | Number, target_binary_state: TensorLike | Tensor | Number, wires: Wires, **kwargs) TensorLike | Tensor | Number

Call self as a function.

static compute_clifford_expvals(state_prep_op: Operator, indexes_shape: Tuple[int, ...]) ndarray

matchcake.devices.probability_strategies.explicit_sum_strategy module

class matchcake.devices.probability_strategies.explicit_sum_strategy.ExplicitSumStrategy

Bases: ProbabilityStrategy

NAME: str = 'ExplicitSum'
REQUIRES_KWARGS: List[str] = ['transition_matrix', 'all_wires']
__call__(*, system_state: TensorLike, target_binary_state: TensorLike, wires: Wires, **kwargs) TensorLike

Call self as a function.

__init__()

matchcake.devices.probability_strategies.lookup_table_strategy module

class matchcake.devices.probability_strategies.lookup_table_strategy.LookupTableStrategy

Bases: ProbabilityStrategy

NAME: str = 'LookupTable'
REQUIRES_KWARGS: List[str] = ['lookup_table', 'pfaffian_method']
__call__(*, system_state: TensorLike, target_binary_state: TensorLike, wires: Wires, **kwargs) TensorLike

Call self as a function.

batch_call(*, system_state: TensorLike, target_binary_states: TensorLike, batch_wires: Wires | None = None, **kwargs) TensorLike

matchcake.devices.probability_strategies.probability_strategy module

class matchcake.devices.probability_strategies.probability_strategy.ProbabilityStrategy

Bases: ABC

NAME: str = 'ProbabilityStrategy'
REQUIRES_KWARGS: List[str] = []
abstract __call__(*, system_state: TensorLike, target_binary_state: TensorLike, wires: Wires, **kwargs) TensorLike

Call self as a function.

batch_call(*, system_state: TensorLike, target_binary_states: TensorLike, batch_wires: Wires, **kwargs) TensorLike
check_required_kwargs(kwargs)

Module contents

matchcake.devices.probability_strategies.get_probability_strategy(name: str) ProbabilityStrategy