wy_qcos.qec package

Submodules

wy_qcos.qec.qec_factory module

class wy_qcos.qec.qec_factory.QecFactory(code_dict)

基类:object

Factory class for creating quantum error correction code instances.

This class maintains a registry of quantum error correction codes and provides a method to create instances by name.

示例

>>> factory = QecFactory()
>>> shor_code = factory.create("shor")
参数:

code_dict (dict[str, type[QuantumCodeBase]] | None)

register(name, code_class)

Register a quantum error correction code class.

参数:
  • name (str) -- The name to register the code under.

  • code_class (type[QuantumCodeBase]) -- The quantum error correction code class to register.

返回类型:

None

unregister(name)

Unregister a quantum error correction code.

参数:

name (str) -- The name of the code to unregister.

返回类型:

None

create(name)

Create an instance of a quantum error correction code.

参数:

name (str) -- The name of the code to create.

返回:

An instance of the requested quantum error correction code.

返回类型:

QuantumCodeBase

list_codes()

List all registered quantum error correction code names.

返回:

A list of registered code names.

返回类型:

list

get_registry()

Get the code registry.

返回:

A copy of the internal code registry dictionary.

返回类型:

dict[str, type[QuantumCodeBase]]

wy_qcos.qec.quantum_code_base module

class wy_qcos.qec.quantum_code_base.QuantumCodeBase(name='QuantumCodeBase')

基类:ABC

Abstract base class for quantum error correction codes.

This class provides the interface and default implementations for quantum error correction operations including encoding, error injection, syndrome measurement, error correction, and decoding.

参数:

name (str)

name

Name of the quantum error correction code.

n_physical

Number of physical qubits.

n_logical

Number of logical qubits.

distance

Code distance.

get_distance()

Get distance.

get_physical_bit_num()

Get physical bit num.

get_logical_bit_num()

Get logical bit num.

set_distance(distance)

Set distance.

参数:

distance (int) -- distance

set_physical_bit_num(physical_bit_num)

Set physical bit num.

参数:

physical_bit_num (int) -- physical bit num

set_logical_bit_num(logical_bit_num)

Set logical bit num.

参数:

logical_bit_num (int) -- logical bit num

abstract encode(circuit)

Encode a logical state into the physical qubit state.

参数:

circuit -- representing the quantum circuit

返回:

encoded quantum circuit.

abstract decode(circuit, **kwargs)

Decode the syndrome.

参数:
  • circuit -- quantum circuit

  • kwargs -- optional args

abstract correct(circuit, **kwargs)

Apply error correction based on the syndrome measurement.

参数:
  • circuit -- quantum circuit

  • kwargs -- optional args

返回:

corrected result

abstract validate_and_format_circuit(circuit, num_qubits)

Validate and formatcircuit data.

参数:
  • circuit -- quantum circuit.

  • num_qubits (int) -- qubits num

返回:

quantum circuit

abstract compute_samples(circuit, samples)

Compute samles to get raw bits and syndrome.

参数:
  • circuit -- quantum circuit.

  • samples (list) -- samples data

wy_qcos.qec.shor_code module

class wy_qcos.qec.shor_code.ShorStrategy

基类:object

get_stabilizers()

Get the stabilizer generators of the Shor code.

返回:

A list of strings representing the 8 stabilizer generators.

返回类型:

dict

validate_and_format_circuit(circuit)

Validate and formate raw circuit.

参数:

circuit -- raw circuit.

encode(circuit)

Encode circuit.

参数:

circuit -- quantum circuit.

decode()

Decode syndrome.

返回:

err_pos.

correct(**kwargs)

Correct raw_bits.

参数:

kwargs -- kwargs.

返回:

corrected bits.

compute_samples(samples)

Compute samles to get raw bits and syndrome.

参数:

samples (ndarray[Any, dtype[int64]]) -- samples data

class wy_qcos.qec.shor_code.ShorStimStrategy

基类:ShorStrategy

ShorStimStrategy, using Stim circuit to process qec codes.

validate_and_format_circuit(circuit)

Validate and formate raw circuit.

参数:

circuit -- raw circuit.

返回:

formatted_circuit.

encode(circuit)

Encode 1 logical qubit into 9 physical qubits.

参数:

circuit (Circuit) -- raw stim circuit.

返回:

encoded stim circuit.

返回类型:

Circuit

correct(**kwargs)

Correct raw_bits.

参数:

kwargs -- kwargs.

返回:

corrected bits.

decode()

Decode syndrome.

返回:

err_pos.

logical_measure(bits)

Get logical value.

参数:

bits -- corrected bits

返回:

logical measure

compute_samples(samples)

Compute samles to get raw bits and syndrome.

参数:

samples (ndarray[Any, dtype[int64]]) -- samples data

class wy_qcos.qec.shor_code.ShorQuantumCircuitStrategy

基类:ShorStrategy

ShorQuantumCircuitStrategy, use Quantum circuit to process qec codes.

validate_and_format_circuit(circuit)

Validate the circuit data for Shor code.

This method filters the BaseOperation list to keep only GateOperation objects, and further filters to keep only single-qubit gates (operation_type == 1).

参数:
  • circuit -- A list of BaseOperation objects representing

  • circuit. (the quantum)

返回:

A list of BaseOperation objects containing only single-qubit GateOperation instances.

encode(circuit)

Encode circuit.

参数:

circuit -- quantum circuit.

correct(**kwargs)

Correct quantum circuit.

参数:

kwargs -- optional args

decode()

Decode circuit.

logical_measure(bits)

Get logical value.

参数:

bits -- quantum bits value

class wy_qcos.qec.shor_code.ShorCode

基类:QuantumCodeBase

Implementation of the 9-qubit Shor error correction code.

The Shor code encodes 1 logical qubit into 9 physical qubits and can correct any single-qubit error. It combines a 3-qubit phase flip code with a 3-qubit bit flip code.

strategies = {<class 'stim._stim_sse2.Circuit'>: <wy_qcos.qec.shor_code.ShorStimStrategy object>, list[wy_qcos.common.cmss.base_operation.BaseOperation]: <wy_qcos.qec.shor_code.ShorQuantumCircuitStrategy object>}
classmethod register(circuit_type)
validate_and_format_circuit(circuit, num_qubits)

Format the circuit data for Shor code.

参数:
  • circuit -- quantum circuit.

  • num_qubits (int) -- num of qubits

返回:

Formatted quantum circuit.

encode(circuit)

Encode a logical state into 9 physical qubits.

The Shor code encodes a single qubit state into 9 physical qubits using the concatenation of phase-flip and bit-flip codes.

参数:

circuit -- representing the quantum circuit.

返回:

encoded quantumm circuit.

decode(circuit)

Decode the syndrome.

参数:
  • circuit -- quantum circuit

  • kwargs -- optional args

correct(circuit, **kwargs)

Apply error correction based on the syndrome measurement.

参数:
  • circuit -- quantum circuit

  • kwargs -- optional args

返回:

Correctted results

logical_measure(circuit, bits)

Get logical value.

参数:
  • circuit -- quantum circuit

  • bits -- corrected bits

返回:

logical measure

compute_samples(circuit, samples)

Compute samles to get raw bits and syndrome.

参数:
  • circuit -- quantum circuit

  • samples (ndarray[Any, dtype[int64]]) -- samples data

Module contents