wy_qcos.qec package
Submodules
wy_qcos.qec.qec_factory module
- class wy_qcos.qec.qec_factory.QecFactory(code_dict)
基类:
objectFactory 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.
- 返回类型:
- 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')
基类:
ABCAbstract 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
基类:
ShorStrategyShorStimStrategy, 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
基类:
ShorStrategyShorQuantumCircuitStrategy, 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
-
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