cutqc2.library package¶
Subpackages¶
- cutqc2.library.Arithmetic package
- cutqc2.library.BernsteinVazirani package
- cutqc2.library.Dynamics package
- cutqc2.library.QAOA package
- cutqc2.library.QFT package
- cutqc2.library.QWalk package
- cutqc2.library.Random package
- cutqc2.library.Supremacy package
- Submodules
- cutqc2.library.Supremacy.ABCD_layer_generation module
- cutqc2.library.Supremacy.Qbit_Sycamore module
- cutqc2.library.Supremacy.Qbit_original module
- cutqc2.library.Supremacy.Qgrid_Sycamore module
- cutqc2.library.Supremacy.Qgrid_original module
QgridQgrid.nQgrid.mQgrid.dQgrid.regnameQgrid.qregQgrid.cregQgrid.circQgrid.gridQgrid.cz_listQgrid.mirrorQgrid.orderQgrid.singlegatesQgrid.apply_T()Qgrid.apply_postCZ_gate()Qgrid.gen_circuit()Qgrid.gen_qasm()Qgrid.get_index()Qgrid.hadamard_layer()Qgrid.make_grid()Qgrid.measure_circuit()Qgrid.print_circuit()Qgrid.save_circuit()
- cutqc2.library.Supremacy.cz_layer_generation module
- Module contents
- cutqc2.library.VQE package
- cutqc2.library.sample package
- cutqc2.library.utils package
Submodules¶
cutqc2.library.generators module¶
- cutqc2.library.generators.gen_BV(secret=None, barriers=True, measure=False, regname=None)[source]¶
Generate an instance of the Bernstein-Vazirani algorithm which queries a black-box oracle once to discover the secret key in:
f(x) = x . secret (mod 2)
The user must specify the secret bitstring to use: e.g. 00111001 (It can be given as a string or integer)
- cutqc2.library.generators.gen_adder(nbits=None, a=0, b=0, use_toffoli=False, barriers=True, measure=False, regname=None)[source]¶
Generate an n-bit ripple-carry adder which performs a+b and stores the result in the b register.
Based on the implementation of: https://arxiv.org/abs/quant-ph/0410184v1
- cutqc2.library.generators.gen_dynamics(H, barriers=True, measure=False, regname=None)[source]¶
Generate a circuit to simulate the dynamics of a given Hamiltonian
- cutqc2.library.generators.gen_hwea(width, depth, parameters='optimal', seed=None, barriers=False, measure=False, regname=None)[source]¶
Create a quantum circuit implementing a hardware efficient ansatz with the given width (number of qubits) and depth (number of repetitions of the basic ansatz).
- cutqc2.library.generators.gen_qft(width, approximation_degree, inverse=False, kvals=False, barriers=True, measure=False, regname=None)[source]¶
Generate a QFT (or iQFT) circuit with the given number of qubits
- cutqc2.library.generators.gen_qwalk(n, barriers=True, regname=None)[source]¶
Generate a quantum walk circuit with specified value of n
- cutqc2.library.generators.gen_supremacy(height, width, depth, order=None, singlegates=True, mirror=False, barriers=False, measure=False, regname=None)[source]¶
Calling this function will create and return a quantum supremacy circuit based on the implementations in https://www.nature.com/articles/s41567-018-0124-x and https://github.com/sboixo/GRCS.
- cutqc2.library.generators.gen_sycamore(height, width, depth, order=None, singlegates=True, barriers=False, measure=False, regname=None)[source]¶
Calling this function will create and return a quantum supremacy circuit as found in https://www.nature.com/articles/s41586-019-1666-5