Cliffordize

class tket.passes.Cliffordize(_scope=GlobalScope.PRESERVE_PUBLIC)[source]

Bases: ComposablePass

Replace supported non-Clifford operations with Clifford operations.

This pass is intended for debugging and workflows that require Clifford-only circuits. It is not semantics-preserving.

The currently supported replacements are:

  • T with S

  • Tdg with Sdg

Other non-Clifford operations, including arbitrary rotations, symbolic rotations, PhasedX, and ZZPhase, are left unchanged.

__call__(hugr, *, inplace=True)

Call the pass to transform a HUGR, returning a Hugr.

Return type:

Hugr

__init__(_scope=GlobalScope.PRESERVE_PUBLIC)
property name: str

Returns the name of the pass.

run(hugr, *, inplace=True)[source]

Run the pass and return the transformed HUGR and rewrite count.

Return type:

PassResult

then(other)

Perform another composable pass after this pass.

Return type:

ComposablePass

with_scope(scope)[source]

Set the scope of this pass and return self.

Return type:

Cliffordize