Skip to content

bloqade.cirq_utils.lowering.Squin

← Module overview

classSquinsource

bloqade.cirq_utils.lowering.Squin

Bases: lowering.LoweringABC[cirq.Circuit]

Lower a cirq.Circuit object to a squin kernel

class Squin(circuit: cirq.Circuit)

Parameters

NameTypeDescription
circuitcirq.Circuit

Attributes

NameTypeDefaultDescription
circuitcirq.Circuitrequired
qregir.SSAValuefield(init=False)
qreg_indexdict[cirq.Qid, int]field(init=False, default_factory=dict)
next_qreg_indexintfield(init=False, default=0)
two_qubit_paulis—('IX', 'IY', 'IZ', 'XI', 'XX', 'XY', 'XZ', 'YI', 'YX', 'YY', 'YZ', 'ZI', 'ZX', 'ZY', 'ZZ')

methodlower_qubit_getindexsource

bloqade.cirq_utils.lowering.Squin.lower_qubit_getindex

Signature
def lower_qubit_getindex(state: lowering.State[cirq.Circuit], qid: cirq.Qid)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
qidcirq.Qid
source

methodlower_qubit_getindicessource

bloqade.cirq_utils.lowering.Squin.lower_qubit_getindices

Signature
def lower_qubit_getindices(state: lowering.State[cirq.Circuit], qids: tuple[cirq.Qid, ...])

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
qidstuple[cirq.Qid, ...]
source

methodrunsource

bloqade.cirq_utils.lowering.Squin.run

Signature
def run(stmt: cirq.Circuit, *, source: str | None = None, globals: dict[str, Any] | None = None, file: str | None = None, lineno_offset: int = 0, col_offset: int = 0, compactify: bool = True, register_as_argument: bool = False, register_argument_name: str = 'q') -> ir.Region

Parameters

NameTypeDefaultDescription
stmtcirq.Circuitrequired
sourcestr | NoneNone
globalsdict[str, Any] | NoneNone
filestr | NoneNone
lineno_offsetint0
col_offsetint0
compactifyboolTrue
register_as_argumentboolFalse
register_argument_namestr'q'

Returns

ir.Region

source

methodvisitsource

bloqade.cirq_utils.lowering.Squin.visit

Signature
def visit(state: lowering.State[cirq.Circuit], node: CirqNode) -> lowering.Result

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodeCirqNode

Returns

lowering.Result

source

methodgeneric_visitsource

bloqade.cirq_utils.lowering.Squin.generic_visit

def generic_visit(state: lowering.State[cirq.Circuit], node: CirqNode)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodeCirqNode
source

methodlower_literalsource

bloqade.cirq_utils.lowering.Squin.lower_literal

Signature
def lower_literal(state: lowering.State[cirq.Circuit], value) -> ir.SSAValue

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
value—

Returns

ir.SSAValue

source

methodlower_globalsource

bloqade.cirq_utils.lowering.Squin.lower_global

Signature
def lower_global(state: lowering.State[cirq.Circuit], node: CirqNode) -> lowering.LoweringABC.Result

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodeCirqNode

Returns

lowering.LoweringABC.Result

source

methodvisit_Circuitsource

bloqade.cirq_utils.lowering.Squin.visit_Circuit

Signature
def visit_Circuit(state: lowering.State[cirq.Circuit], node: cirq.Circuit | cirq.FrozenCircuit) -> lowering.Result

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.Circuit | cirq.FrozenCircuit

Returns

lowering.Result

source

methodvisit_Momentsource

bloqade.cirq_utils.lowering.Squin.visit_Moment

Signature
def visit_Moment(state: lowering.State[cirq.Circuit], node: cirq.Moment) -> lowering.Result

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.Moment

Returns

lowering.Result

source

methodvisit_GateOperationsource

bloqade.cirq_utils.lowering.Squin.visit_GateOperation

Signature
def visit_GateOperation(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_TaggedOperationsource

bloqade.cirq_utils.lowering.Squin.visit_TaggedOperation

Signature
def visit_TaggedOperation(state: lowering.State[cirq.Circuit], node: cirq.TaggedOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.TaggedOperation
source

methodvisit_ClassicallyControlledOperationsource

bloqade.cirq_utils.lowering.Squin.visit_ClassicallyControlledOperation

Signature
def visit_ClassicallyControlledOperation(state: lowering.State[cirq.Circuit], node: cirq.ClassicallyControlledOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.ClassicallyControlledOperation
source

methodvisit_MeasurementGatesource

bloqade.cirq_utils.lowering.Squin.visit_MeasurementGate

Signature
def visit_MeasurementGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_SingleQubitPauliStringGateOperationsource

bloqade.cirq_utils.lowering.Squin.visit_SingleQubitPauliStringGateOperation

Signature
def visit_SingleQubitPauliStringGateOperation(state: lowering.State[cirq.Circuit], node: cirq.SingleQubitPauliStringGateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.SingleQubitPauliStringGateOperation
source

methodvisit_HPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_HPowGate

Signature
def visit_HPowGate(state: lowering.State[cirq.Circuit], node: cirq.HPowGate)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.HPowGate
source

methodvisit_XPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_XPowGate

Signature
def visit_XPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_YPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_YPowGate

Signature
def visit_YPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_ZPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_ZPowGate

Signature
def visit_ZPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_Rxsource

bloqade.cirq_utils.lowering.Squin.visit_Rx

Signature
def visit_Rx(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_Rysource

bloqade.cirq_utils.lowering.Squin.visit_Ry

Signature
def visit_Ry(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_Rzsource

bloqade.cirq_utils.lowering.Squin.visit_Rz

Signature
def visit_Rz(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_PhasedXZGatesource

bloqade.cirq_utils.lowering.Squin.visit_PhasedXZGate

Signature
def visit_PhasedXZGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_CXPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_CXPowGate

Signature
def visit_CXPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_CZPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_CZPowGate

Signature
def visit_CZPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_CCZPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_CCZPowGate

Signature
def visit_CCZPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Lower a cirq CCZ power gate with an odd integer exponent to a CCZ gate.

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_SwapPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_SwapPowGate

Signature
def visit_SwapPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_ZZPowGatesource

bloqade.cirq_utils.lowering.Squin.visit_ZZPowGate

Signature
def visit_ZZPowGate(state: lowering.State[cirq.Circuit], node: cirq.GateOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.GateOperation
source

methodvisit_ControlledOperationsource

bloqade.cirq_utils.lowering.Squin.visit_ControlledOperation

Signature
def visit_ControlledOperation(state: lowering.State[cirq.Circuit], node: cirq.ControlledOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.ControlledOperation
source

methodvisit_FrozenCircuitsource

bloqade.cirq_utils.lowering.Squin.visit_FrozenCircuit

Signature
def visit_FrozenCircuit(state: lowering.State[cirq.Circuit], node: cirq.FrozenCircuit)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.FrozenCircuit
source

methodvisit_CircuitOperationsource

bloqade.cirq_utils.lowering.Squin.visit_CircuitOperation

Signature
def visit_CircuitOperation(state: lowering.State[cirq.Circuit], node: cirq.CircuitOperation)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.CircuitOperation
source

methodvisit_BitFlipChannelsource

bloqade.cirq_utils.lowering.Squin.visit_BitFlipChannel

Signature
def visit_BitFlipChannel(state: lowering.State[cirq.Circuit], node: cirq.BitFlipChannel)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.BitFlipChannel
source

methodvisit_DepolarizingChannelsource

bloqade.cirq_utils.lowering.Squin.visit_DepolarizingChannel

Signature
def visit_DepolarizingChannel(state: lowering.State[cirq.Circuit], node: cirq.DepolarizingChannel)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.DepolarizingChannel
source

methodvisit_AsymmetricDepolarizingChannelsource

bloqade.cirq_utils.lowering.Squin.visit_AsymmetricDepolarizingChannel

Signature
def visit_AsymmetricDepolarizingChannel(state: lowering.State[cirq.Circuit], node: cirq.AsymmetricDepolarizingChannel)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.AsymmetricDepolarizingChannel
source

methodvisit_ResetChannelsource

bloqade.cirq_utils.lowering.Squin.visit_ResetChannel

Signature
def visit_ResetChannel(state: lowering.State[cirq.Circuit], node: cirq.ResetChannel)

Parameters

NameTypeDescription
statelowering.State[cirq.Circuit]
nodecirq.ResetChannel
source