tensorcircuit.compiler.simple_compiler¶

Very simple transformations that qiskit may even fail or hard to control

tensorcircuit.compiler.simple_compiler.merge(circuit: AbstractCircuit | List[Dict[str, Any]], rules: Dict[Tuple[str, ...], str] | None = None, **kws: Any) Any[source]¶
tensorcircuit.compiler.simple_compiler.prune(circuit: AbstractCircuit | List[Dict[str, Any]], rtol: float = 0.001, atol: float = 0.001, **kws: Any) Any[source]¶
tensorcircuit.compiler.simple_compiler.replace_r(circuit: AbstractCircuit, **kws: Any) AbstractCircuit[source]¶
tensorcircuit.compiler.simple_compiler.replace_u(circuit: AbstractCircuit, **kws: Any) AbstractCircuit[source]¶
tensorcircuit.compiler.simple_compiler.simple_compile(circuit: Any, info: Dict[str, Any] | None = None, output: str = 'tc', compiled_options: Dict[str, Any] | None = None) Tuple[Any, Dict[str, Any] | None][source]¶

Compile a circuit by merging/replacing/pruning its QIR.

Returns (circuit, info) — a tuple, not a bare circuit. info is the caller-supplied dict passed through unchanged. Unpack: c, info = simple_compile(c).

Parameters:
  • circuit – circuit to compile

  • info – optional dict, returned unchanged

  • output – output format ("tc" etc.)

  • compiled_options – extra options forwarded to merge/prune/replace passes

Returns:

(compiled_circuit, info)