LogicalQ Documentation
LogicalQ
LogicalQ is a free/open-source toolkit for quantum circuit development with built-in, generalized quantum error correction, developed by Georgia Tech students and alumni. It is distributed under the MIT License.
Installation
LogicalQ is still in the development stage, so the latest version of LogicalQ is available on the GitHub under the main branch.
LogicalQ is geared towards any Unix/POSIX-like system, but it can also be installed on Windows and any other operating system which supports Python 3 and the necessary dependencies. We do our best to ensure compatibility with all major Linux, macOS, and Windows distributions. However, we recommend installing it in a Unix/POSIX-like environment for the highest-quality experience and guaranteed support of all features. If you use Windows, we recommend using WSL, which is documented at https://learn.microsoft.com/en-us/windows/wsl/.
LogicalQ can be installed as follows:
git clone https://github.com/GT-Quantum-Computing-Association/LogicalQ.git
cd LogicalQ
python -m pip install virtualenv
python -m virtualenv .venv
.venv/bin/activate # `Scripts` instead of `bin` on Windows
python -m pip install -e .
Documentation and Mailing Lists
Documentation is hosted online on ReadtheDocs at https://logicalq.readthedocs.io.
Acknowledgements
LogicalQ wouldn’t’ve been possible without the amazing members of Georgia Tech Quantum Computing Association who contributed to its development. We are also very grateful to all the developers of Qiskit, Stim, Staq, PECOS, and MQT, which have been invaluable references in developing this codebase. We are especially grateful to IBM Quantum for maintaining Qiskit as an open-source library which we use as the parent class for many of our own classes. Please cite these authors if you use their code or parts of their code which are present in LogicalQ.
Contact and Feedback
For bug reports and feature requests, please file a GitHub Issue.
If you have any questions, comments, or concerns regarding LogicalQ, feel free to contact the GT QCA team at aliceandbob@gatechquantum.com.
- Home
- API Reference
- LogicalQ
- Submodules
- LogicalQ.Analysis
- LogicalQ.Benchmarks
- LogicalQ.Estimators
- LogicalQ.Experiments
- LogicalQ.HardwareModel
- LogicalQ.Library
- LogicalQ.Logical
- Classes
- Functions
- Module Contents
LogicalCircuitLogicalCircuit.n_logical_qubitsLogicalCircuit.stabilizer_tableauLogicalCircuit.n_stabilizersLogicalCircuit.labelLogicalCircuit.n_physical_qubitsLogicalCircuit.n_ancilla_qubitsLogicalCircuit.n_measure_qubitsLogicalCircuit.flagged_stabilizers_1LogicalCircuit.flagged_stabilizers_2LogicalCircuit.x_stabilizersLogicalCircuit.z_stabilizersLogicalCircuit.qec_cycle_indices_initialLogicalCircuit.qec_cycle_indices_finalLogicalCircuit.logical_qregsLogicalCircuit.ancilla_qregsLogicalCircuit.logical_op_qregsLogicalCircuit.enc_verif_cregsLogicalCircuit.curr_syndrome_cregsLogicalCircuit.prev_syndrome_cregsLogicalCircuit.flagged_syndrome_diff_cregsLogicalCircuit.unflagged_syndrome_diff_cregsLogicalCircuit.pauli_frame_cregsLogicalCircuit.logical_op_meas_cregsLogicalCircuit.final_measurement_cregsLogicalCircuit.qreg_listsLogicalCircuit.creg_listsLogicalCircuit.output_cregLogicalCircuit.cbit_setter_qregLogicalCircuit.data_without_qecLogicalCircuit.from_physical_circuit()LogicalCircuit.add_logical_qubits()LogicalCircuit.group_stabilizers()LogicalCircuit.generate_code()LogicalCircuit.encode()LogicalCircuit.reset_ancillas()LogicalCircuit.steane_flagged_circuit1()LogicalCircuit.steane_flagged_circuit2()LogicalCircuit.measure_stabilizers()LogicalCircuit.measure_syndrome_diff()LogicalCircuit.optimize_qec_cycle_indices()LogicalCircuit.insert_qec_cycles()LogicalCircuit.append_qec_cycle()LogicalCircuit.clear_qec_cycles()LogicalCircuit.apply_decoding()LogicalCircuit.measure()LogicalCircuit.measure_all()LogicalCircuit.remove_final_measurements()LogicalCircuit.get_logical_counts()LogicalCircuit.h()LogicalCircuit.x()LogicalCircuit.y()LogicalCircuit.z()LogicalCircuit.s()LogicalCircuit.sdg()LogicalCircuit.t()LogicalCircuit.tdg()LogicalCircuit.cx()LogicalCircuit.cz()LogicalCircuit.cy()LogicalCircuit.mcmt()LogicalCircuit.rx()LogicalCircuit.ry()LogicalCircuit.rz()LogicalCircuit.rxx()LogicalCircuit.ryy()LogicalCircuit.rzz()LogicalCircuit.append_sk_decomposition()LogicalCircuit.r()LogicalCircuit.append()LogicalCircuit.add_error()LogicalCircuit.set_cbit()LogicalCircuit.cbit_not()LogicalCircuit.cbit_and()LogicalCircuit.cbit_xor()LogicalCircuit.draw()
LogicalQubitLogicalRegisterLogicalStatevectorLogicalDensityMatrixlogical_state_fidelity()
- LogicalQ.LogicalGeneral
- Classes
- Module Contents
LogicalCircuitGeneralLogicalCircuitGeneral.n_logical_qubitsLogicalCircuitGeneral.stabilizer_tableauLogicalCircuitGeneral.n_stabilizersLogicalCircuitGeneral.labelLogicalCircuitGeneral.n_physical_qubitsLogicalCircuitGeneral.n_ancilla_qubitsLogicalCircuitGeneral.n_measure_qubitsLogicalCircuitGeneral.stabilizersLogicalCircuitGeneral.logical_qregsLogicalCircuitGeneral.ancilla_qregsLogicalCircuitGeneral.logical_op_qregsLogicalCircuitGeneral.enc_verif_cregsLogicalCircuitGeneral.curr_syndrome_cregsLogicalCircuitGeneral.prev_syndrome_cregsLogicalCircuitGeneral.unflagged_syndrome_diff_cregsLogicalCircuitGeneral.pauli_frame_cregsLogicalCircuitGeneral.logical_op_meas_cregsLogicalCircuitGeneral.final_measurement_cregsLogicalCircuitGeneral.qreg_listsLogicalCircuitGeneral.creg_listsLogicalCircuitGeneral.output_cregLogicalCircuitGeneral.cbit_setter_qregLogicalCircuitGeneral.add_logical_qubits()LogicalCircuitGeneral.generate_code()LogicalCircuitGeneral.encode()LogicalCircuitGeneral.reset_ancillas()LogicalCircuitGeneral.measure_stabilizers()LogicalCircuitGeneral.measure_syndrome_diff()LogicalCircuitGeneral.append_qec_cycle()LogicalCircuitGeneral.apply_decoding()LogicalCircuitGeneral.measure()LogicalCircuitGeneral.measure_all()LogicalCircuitGeneral.remove_final_measurements()LogicalCircuitGeneral.get_logical_counts()LogicalCircuitGeneral.h()LogicalCircuitGeneral.x()LogicalCircuitGeneral.y()LogicalCircuitGeneral.z()LogicalCircuitGeneral.s()LogicalCircuitGeneral.sdg()LogicalCircuitGeneral.t()LogicalCircuitGeneral.tdg()LogicalCircuitGeneral.cx()LogicalCircuitGeneral.cz()LogicalCircuitGeneral.cy()LogicalCircuitGeneral.mcmt()LogicalCircuitGeneral.add_error()LogicalCircuitGeneral.set_cbit()LogicalCircuitGeneral.cbit_not()LogicalCircuitGeneral.cbit_and()LogicalCircuitGeneral.cbit_xor()
- LogicalQ.NoiseModel
- LogicalQ.Transpilation
- LogicalQ.Typing
- LogicalQ.Utilities
- LogicalQ.Visualization
- Submodules
- LogicalQ.Visualization.LogicalCircuitVisualization
- LogicalQ.Visualization.LogicalMatplotlibDrawer
- Attributes
- Classes
- Functions
- Module Contents
WIDHIGPORDER_REGLINEPORDER_FLOWPORDER_MASKPORDER_LINEPORDER_LINE_PLUSPORDER_BARRIERPORDER_GATEPORDER_GATE_PLUSPORDER_TEXTINFINITE_FOLD_logical_matplotlib_circuit_drawer()LogicalMatplotlibDrawerLogicalMatplotlibDrawer._mathmode_regexLogicalMatplotlibDrawer._circuitLogicalMatplotlibDrawer._qubitsLogicalMatplotlibDrawer._clbitsLogicalMatplotlibDrawer._nodesLogicalMatplotlibDrawer._scaleLogicalMatplotlibDrawer._styleLogicalMatplotlibDrawer._plot_barriersLogicalMatplotlibDrawer._reverse_bitsLogicalMatplotlibDrawer._foldLogicalMatplotlibDrawer._axLogicalMatplotlibDrawer._initial_stateLogicalMatplotlibDrawer._global_phaseLogicalMatplotlibDrawer._expr_lenLogicalMatplotlibDrawer._cregbundleLogicalMatplotlibDrawer._lwidth1LogicalMatplotlibDrawer._lwidth15LogicalMatplotlibDrawer._lwidth2LogicalMatplotlibDrawer._lwidth3LogicalMatplotlibDrawer._lwidth4LogicalMatplotlibDrawer._flow_drawersLogicalMatplotlibDrawer._flow_parentLogicalMatplotlibDrawer._flow_wire_mapLogicalMatplotlibDrawer.fold_qecLogicalMatplotlibDrawer.fold_logicalopLogicalMatplotlibDrawer._char_listLogicalMatplotlibDrawer.draw()LogicalMatplotlibDrawer._get_layer_widths()LogicalMatplotlibDrawer._set_bit_reg_info()LogicalMatplotlibDrawer._get_coords()LogicalMatplotlibDrawer._get_text_width()LogicalMatplotlibDrawer._draw_regs_wires()LogicalMatplotlibDrawer._add_nodes_and_coords()LogicalMatplotlibDrawer._draw_ops()LogicalMatplotlibDrawer._get_colors()LogicalMatplotlibDrawer._condition()LogicalMatplotlibDrawer._measure()LogicalMatplotlibDrawer._barrier()LogicalMatplotlibDrawer._gate()LogicalMatplotlibDrawer._multiqubit_gate()LogicalMatplotlibDrawer._flow_op_gate()LogicalMatplotlibDrawer._control_gate()LogicalMatplotlibDrawer._set_ctrl_bits()LogicalMatplotlibDrawer._ctrl_qubit()LogicalMatplotlibDrawer._x_tgt_qubit()LogicalMatplotlibDrawer._symmetric_gate()LogicalMatplotlibDrawer._swap()LogicalMatplotlibDrawer._swap_cross()LogicalMatplotlibDrawer._sidetext()LogicalMatplotlibDrawer._line()LogicalMatplotlibDrawer._plot_coord()
NodeData
- Submodules
- LogicalQ.tests
- Attributes
- Package Contents
- Submodules
- LogicalQ