ppvm.mixins.TruncatingCliffordExtensionMixin
classTruncatingCliffordExtensionMixin¶source
ppvm.mixins.TruncatingCliffordExtensionMixin
Bases: CliffordExtensionMixin
Additional Clifford gates with a per-gate ``truncate`` kwarg.
class TruncatingCliffordExtensionMixinAttributes
| Name | Type | Default | Description |
|---|---|---|---|
zcy | — | cy |
methods_dag¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.s_dag
Signature
def s_dag(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply an S adjoint gate (sqrt(Z) dagger) to each target qubit.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |
methodsqrt_x¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.sqrt_x
Signature
def sqrt_x(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply a sqrt(X) gate to each target qubit.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |
methodsqrt_y¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.sqrt_y
Signature
def sqrt_y(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply a sqrt(Y) gate to each target qubit.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |
methodsqrt_x_dag¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.sqrt_x_dag
Signature
def sqrt_x_dag(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply a sqrt(X) adjoint gate to each target qubit.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |
methodsqrt_y_dag¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.sqrt_y_dag
Signature
def sqrt_y_dag(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply a sqrt(Y) adjoint gate to each target qubit.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |
methodcy¶source
ppvm.mixins.TruncatingCliffordExtensionMixin.cy
Signature
def cy(*targets: int | Iterable[int] = (), truncate: bool = True) -> NoneApply controlled-Y gates over consecutive control/target pairs.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
*targets | int | Iterable[int] | () | |
truncate | bool | True | See `TruncatingCliffordMixin.x`. |