Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
QUANTUM COMPUTING SYSTEM AND METHOD FOR ERROR DETECTION
Document Type and Number:
WIPO Patent Application WO/2024/100423
Kind Code:
A1
Abstract:
A quantum computing system and a method for quantum error detection are disclosed, for performing a quantum operation with fault tolerance provided by detectability of specific logical errors during initialisation, syndrome measurement and state measurement, but without computationally intensive quantum error correction. A quantum circuit of logical qubits is converted into a set of instructions for performing a quantum circuit of physical qubits.The set of instructions comprises a plurality of blocks of instructions and each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by a quantum computing system. The quantum computing system performs fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code, and performs each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits. After each instruction block, the quantum computing system performs a fault-tolerant syndrome measurement of stabilizers on the n physical qubits using the first ancilla and a second ancilla respectively. After all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, the quantum computing system performs a fault-tolerant state measurement, using the first and second ancilla, of each logical operator of formula (I) by measuring the n physical qubits. During any of the fault-tolerant steps of performing initialisation, syndrome measurement or state measurement, we discard the computer results and restart the computation of the quantum operation if any measurement of the first or second ancilla indicates a fault.

Inventors:
AMARO FERNANDEZ DAVID (GB)
SELF CHRISTOPHER (GB)
BENEDETTI MARCELLO (GB)
YAMAMOTO KENTARO (GB)
Application Number:
PCT/GB2023/052963
Publication Date:
May 16, 2024
Filing Date:
November 13, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
QUANTINUUM LTD (GB)
International Classes:
G06N10/70; G06N10/40
Foreign References:
US11144689B12021-10-12
Other References:
RUI CHAO ET AL: "Quantum error correction with only two extra qubits", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 5 May 2017 (2017-05-05), XP081276262, DOI: 10.1103/PHYSREVLETT.121.050502
RUI CHAO ET AL: "Fault-tolerant quantum computation with few qubits", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 May 2017 (2017-05-15), XP081399504, DOI: 10.1038/S41534-018-0085-Z
CHRISTOPHER CHAMBERLAND ET AL: "Very low overhead fault-tolerant magic state preparation using redundant ancilla encoding and flag qubits", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 6 March 2020 (2020-03-06), XP081616031
SELF CHRIS N ET AL: "Protecting Expressive Circuits with a Quantum Error Detection Code", ARXIV (CORNELL UNIVERSITY), 12 November 2022 (2022-11-12), Ithaca, XP093125512, Retrieved from the Internet [retrieved on 20240130], DOI: 10.48550/arxiv.2211.06703
R. CHAOB.W. REICHARDT: "Flag fault-tolerant error correction for any stabilizer code", PRX QUANTUM,, vol. 1, no. 1, 2020, pages 010302
GOTTESMAN, D., AN INTRODUCTION TO QUANTUM ERROR CORRECTION AND FAULT-TOLERANT QUANTUM COMPUTATION, 2009, Retrieved from the Internet
SCHINDLER, P. ET AL.: "A quantum information processor with trapped ions.", NEW JOURNAL OF PHYSICS, vol. 15, 2013, pages 123012, XP020254343, Retrieved from the Internet DOI: 10.1088/1367-2630/15/12/123012
HARROW, A. W.MONTANARO, A: "Quantum computational supremacy", NATURE, vol. 549, 2017, pages 2399 - 2891, Retrieved from the Internet
HARROW, A. W., HASSIDIM, A. & LLOYD, S.: "Quantum algorithm for linear systems of equations", PHYS. REV. LETT., vol. 103, 2009, pages 150502, XP055684823, Retrieved from the Internet DOI: 10.1103/PhysRevLett.103.150502
SHOR, P: "Algorithms for quantum computation: discrete logarithms and factoring", IN PROCEEDINGS 35TH ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, 1994, pages 124 - 134, XP000531934, DOI: 10.1109/SFCS.1994.365700
GIDNEY, C. & EKER°A, M: "How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits.", QUANTUM, vol. 5, 2021, pages 433, Retrieved from the Internet
ALLCOCK, J: "The prospects of monte carlo antibody loop modelling on a fault-tolerant quantum computer.", FRONTIERS IN DRUG DISCOVERY, 2022, pages 2, Retrieved from the Internet
CHEN, Z. ET AL.: "Exponential suppression of bit or phase errors with cyclic error correction.", NATURE, vol. 595, 2021, pages 383 - 387, XP037508000, Retrieved from the Internet DOI: 10.1038/s41586-021-03588-y
RYAN-ANDERSON, C. ET AL.: "Realization of real-time faulttolerant quantum error correction", PHYS. REV. X, vol. 11, 2021, pages 041058, Retrieved from the Internet
ACHARYA, R. ET AL., SUPPRESSING QUANTUM ERRORS BY SCALING A SURFACE CODE LOGICAL QUBIT, 2022, Retrieved from the Internet
POSTLER, L: "Demonstration of fault-tolerant universal quantum gate operations", NATURE, vol. 605, 2022, pages 675 - 680, Retrieved from the Internet
RYAN-ANDERSON, C. ET AL., IMPLEMENTING FAULT-TOLERANT ENTANGLING GATES ON THE FIVE-QUBIT CODE AND THE COLOR CODE, 2022, Retrieved from the Internet
SUZUKI, Y.ENDO, S.FUJII, K.TOKUNAGA, Y: "Quantum error mitigation as a universal error reduction technique: Applications from the nisq to the faulttolerant quantum computing eras", PRX QUANTUM, vol. 3, 2022, pages 010345, Retrieved from the Internet
CIRAC, J. I.ZOLLER, P.: "Goals and opportunities in quantum simulation", NATURE PHYSICS, vol. 8, 2012, pages 264 - 266, Retrieved from the Internet
LUND, A. P.BREMNER, M. J.RALPH, T. C: "Quantum sampling problems, BosonSampling and quantum supremacy", NPJ QUANTUM INFORMATION, 2017, pages 3, Retrieved from the Internet
KNILL, E.: "Fault-tolerant postselected quantum computation", SCHEMES, 2004, Retrieved from the Internet
KNILL, E: "Fault-tolerant postselected quantum computation", THRESHOLD ANALYSIS, 2004, Retrieved from the Internet
URBANEK, M.NACHMAN, B.JONG, W. A: "Error detection on quantum computers improving the accuracy of chemical calculations", PHYS. REV. A, vol. 102, 2020, pages 022427, Retrieved from the Internet
BRUZEWICZ, C. D.CHIAVERINI, J.MCCONNELL, R.SAGE, J. M: "Trapped-ion quantum computing: Progress and challenges.", APPLIED PHYSICS REVIEWS, vol. 6, 2019, pages 021314, XP012238166, Retrieved from the Internet DOI: 10.1063/1.5088164
GRASSL, M.BETH, T.R 'OTTELER, M: "On optimal quantum codes", INTERNATIONAL JOURNAL OF QUANTUM INFORMATION, vol. 02, 2004, pages 55 - 64, Retrieved from the Internet
MOLMER, K.SORENSEN, A.: "Multiparticle entanglement of hot trapped ions.", PHYS. REV. LETT., vol. 82, 1999, pages 1835 - 1838, Retrieved from the Internet
PINO, J. M ET AL.: "Demonstration of the trapped-ion quantum ccd computer architecture.", NATURE, vol. 592, 2021, pages 209 - 213, XP037419068, DOI: 10.1038/s41586-021-03318-4
LINKE, N. M. ET AL.: "Fault-tolerant quantum error detection", SCIENCE ADVANCES, vol. 3, 2017, pages e1701074, Retrieved from the Internet
HINES, J. ET AL., DEMONSTRATING SCALABLE RANDOMIZED BENCHMARKING OF UNIVERSAL GATE SETS, 2022, Retrieved from the Internet
PROCTOR, T ET AL., SCALABLE RANDOMIZED BENCHMARKING OF QUANTUM COMPUTERS USING MIRROR CIRCUITS, 2021, Retrieved from the Internet
CHAO, R.REICHARDT, B. W: "Quantum error correction with only two extra qubits", PHYS. REV. LETT., vol. 121, 2018, pages 050502
PROCTOR, T.RUDINGER, K.YOUNG, K.NIELSEN, E.BLUME-KOHOUT, R: "Measuring the capabilities of quantum computers.", NATURE PHYSICS, vol. 18, 2022, pages 75 - 79, XP055931972, DOI: 10.1038/s41567-021-01409-7
GAMBETTA, J. M.: "Validating quantum computers using randomized model circuits.", PHYS. REV. A, vol. 100, 2019, pages 032328, Retrieved from the Internet
ANDERSON, C.HAYES, D.: "Re-examining the quantum volume test: Ideal distributions, compiler optimizations, confidence intervals, and scalable resource estimations", QUANTUM, vol. 6, 2022, pages 707, Retrieved from the Internet
QISKIT PYTHON PACKAGE (V0.37.0, 2022, Retrieved from the Internet
ITOKO, T.IMAMICHI, T., SCHEDULING OF OPERATIONS IN QUANTUM COMPILER, 2020, Retrieved from the Internet
GOKHALE, P. ET AL., QUANTUM FAN-OUT: CIRCUIT OPTIMIZATIONS AND TECHNOLOGY MODELING, 2020, Retrieved from the Internet
LAO, L.BROWNE, D. E., A QUANTUM COMPILER FOR 2-LOCAL QUBIT HAMILTONIAN SIMULATION ALGORITHMS, 2021, Retrieved from the Internet
NANNICINI, G., BISHOP, L. S., GUNLUK, O. & JURCEVIC, P, OPTIMAL QUBIT ASSIGNMENT AND ROUTING VIA INTEGER PROGRAMMING, 2021, Retrieved from the Internet
STRICKER, R. ET AL.: "Experimental deterministic correction of qubit loss.", NATURE, vol. 585, 2020, pages 207 - 210, XP037241514, DOI: 10.1038/s41586-020-2667-0
FARHI, E.GOLDSTONE, J.GUTMANN, S., A QUANTUM APPROXIMATE OPTIMIZATION ALGORITHM, 2014, Retrieved from the Internet
AMARO, D. ET AL.: "Filtering variational quantum algorithms for combinatorial optimization", QUANTUM SCIENCE AND TECHNOLOGY, vol. 7, 2022, pages 015021, Retrieved from the Internet
BENEDETTI, M., LLOYD, E., SACK, S. & FIORENTINI, M.: "Parameterized quantum circuits as machine learning models.", QUANTUM SCIENCE AND TECHNOLOGY, vol. 4, 2019, pages 043001, Retrieved from the Internet
VAN DE WETERING, J: "Constructing quantum circuits with global gates", NEW JOURNAL OF PHYSICS, vol. 23, 2021, pages 043015, Retrieved from the Internet
SIVARAJAH, S.: "t I ket): a retargetable compiler for NISQ devices.", QUANTUM SCIENCE AND TECHNOLOGY, vol. 6, 2020, pages 014003, Retrieved from the Internet
C. N. SELF, M. BENEDETTI, AND D. AMARO: "Protecting Expressive Circuits with a Quantum Error Detection Code", ARXIV:2211.06703, 2022
Download PDF:
Claims:
CLAIMS 1. A computer-implemented method of performing a quantum computing operation comprising a target unitary operation with quantum error detection, the method comprising: obtaining a finite gate decomposition approximation of the target unitary operation for a quantum circuit of k logical qubits; converting, using a quantum error detection code, the finite gate decomposition for a quantum circuit of k logical qubits into a set of instructions for performing a quantum circuit of n physical qubits wherein ^ = ^ + 2 and wherein the n physical qubits comprise k physical qubits corresponding to the k logical qubits and a physical qubit t and a physical qubit b, wherein the quantum error detection code encodes the k logical qubits into the n physical qubits and wherein the quantum error detection code is a stabiliser code comprising two stabilisers on the physical qubits: ^ ^^ = ^^^^ ^^ ^^^ and the logical qubit operators, ^^ of the code are defined by: ^ ^^^^ = ^^ ^^ for ^ = 1, … , ^ ^ ^^^^ = ^^ ^^ for ^ = 1, … , ^ wherein ^ ^^^^, ^^^^^ are the Pauli X and Z single logical qubit operators on logical qubit q, wherein the set of instructions comprises a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by a quantum computing system; performing, by the quantum computing system, fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla qubit and the quantum error detection code; performing, by the quantum computing system, each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, performing, by the quantum computing system, a fault- tolerant syndrome measurement of the ^^ stabiliser and the ^^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, performing, by the quantum computing system, a fault-tolerant state measurement, using the first and second ancilla, of each logical operator, ^ ^ = {1, … , ^}, by measuring the n physical qubits; and any of the fault-tolerant steps of performing initialisation, syndrome measurement or state measurement, to discard the computer results and to restart the computation of the quantum operation based on any measurement of the first or second ancilla indicating a fault. 2. The method of claim 1 wherein the quantum computing system is a trapped-ion quantum computer with all-to-all connectivity between qubits. 3. The method of any preceding claim wherein the finite gate decomposition is composed of unitary gates from a universal gate set comprising gates which can be encoded onto the physical qubits using one or more two-qubit Mølmer–Sørensen gates and up to four Clifford group gates. 4. The method of claim 3 wherein the universal gate set comprises only single-qubit logical rotations, two-qubit logical rotations and global rotations on k or k-1 logical qubits. 5. The method of any preceding claim wherein the fault-tolerant measurement of each logical operator ^ ^^^^ ∀ ^ is combined with the last syndrome measurement after the last instruction block has been applied by measuring the ^^ stabiliser on the n physical qubits and measuring the n physical qubits and post-processing the results to decode the ^^ stabiliser and each logical operator^ ^^^^ and the quantum computing system is configured to discard the computer results and to restart the computation of the quantum operation based on the decoded ^^ stabiliser value indicating a fault during the fault tolerant steps. 6. A system for performing a quantum computing operation comprising a target unitary operation with quantum error detection, the system comprising: a classical computing system; a quantum computing system, wherein the quantum computing system comprises n primary physical qubits and first and second ancilla qubits, wherein the n physical qubits which comprise of k physical qubits and a physical qubit t and a physical qubit b, and wherein the quantum computing system is configured to implement a quantum circuit on the n physical qubits comprising the k physical qubits and the physical qubit t and the physical qubit b, using the first and second ancilla qubits; and wherein the classical computing system is configured to: obtain a finite gate decomposition approximation of the target unitary operation for a quantum circuit of k logical qubits; convert, using an quantum error detection code, the finite gate decomposition for a quantum circuit of k logical qubits into a set of instructions for performing a quantum circuit of the n physical qubits of the quantum computing system, wherein the quantum error detection code encodes the k logical qubits into the n physical qubits and the quantum error detection code is a stabiliser code comprising two stabilisers on the physical qubits: and the logical qubits operators, ^^ of the code are defined by: ^ ^^^^ = ^^ ^^ for ^ = 1, … , ^ ^ ^^^^ = ^^ ^^ for ^ = 1, … , ^ wherein ^ ^^^^, ^^^^^ are the Pauli X and Z single logical qubit operators on logical qubit q, wherein the set of instructions comprises a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by the quantum computing system; and transmit the set of instructions to the quantum computing system; and wherein the quantum computing system is configured to: receive the set of instructions: perform fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; perform each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, perform a fault-tolerant syndrome measurement of the ^^ stabiliser and the ^^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, perform, a fault-tolerant state measurement, using the first and second ancilla, of each logical operator ∀ ^ = {1, … , ^} by measuring the n physical qubits; and to discard the computer results and to restart the computation of the quantum operation based on any measurement of the first or second ancilla indicating a fault during any of the fault tolerant steps of performing initialisation, syndrome measurement or state measurement. 7. The system of claim 6 wherein the quantum computing system is a trapped-ion quantum computer with all-to-all connectivity between qubits. 8. The system of claims 6 or 7 wherein the qubits of the quantum computing system comprise only the n physical qubits and two ancilla qubits. 9. The system of any of claims 6 to 8 wherein the finite gate decomposition is composed of unitary gates from a universal gate set comprising gates which can be encoded onto the physical qubits using only two-qubit Mølmer–Sørensen gates and up to four Clifford group gates and, optionally, the universal gate set comprises global rotations on k or k-1 logical qubits. 10. The system of claim 9 wherein the universal gate set comprises only single-qubit logical rotations, two-qubit logical rotations and global rotations on k or k-1 logical qubits. 11. The system of any of claims 6 to 10 wherein the quantum computing system is further configured to combine the fault-tolerant state measurement of each logical operator ^ ^^^^ ∀ ^ with the last syndrome measurement after the last instruction block has been applied by measuring the ^^ stabiliser on the n physical qubits and measuring the n physical qubits and to transmit the results to the classical computing system and the classical computing system is further configured to post-process the transmitted results to decode the ^^ stabiliser and each logical operator ^ ^^^^ and to transmit an indication of the decoded ^^ stabiliser value to the quantum computing system, and wherein the quantum computing system is further configured to discard the computer results and to restart the computation based on the decoded ^^ stabiliser value indicating a fault. 12. A quantum computing system for performing a quantum operation comprising a target unitary operation with quantum error detection, wherein the quantum computing system comprises n primary physical qubits and first and second ancilla qubits, the primary physical qubits comprising k physical qubits and and a physical qubit t and a physical qubit b, and wherein the quantum computing system is configured to implement a quantum circuit on the n physical qubits comprising the k physical qubits and the physical qubit t and the physical qubit b, using the first and second ancilla qubit, and wherein the quantum computing system is configured to: receive a set of instructions from a classical computing system that converts, using a quantum error detection code, a finite gate decomposition for a quantum circuit of k logical qubits into a quantum circuit of n physical qubits of the quantum computing system, wherein the quantum error detection code encodes k logical qubits into the n physical qubits and is a stabiliser code comprising two stabilisers on the physical qubits, wherein the set of instructions comprises a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by the quantum computing system; perform fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; perform each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, perform a fault-tolerant syndrome measurement of the ^^ stabiliser and the ^^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, perform a fault-tolerant state measurement, using the first and second ancilla, of each logical operator^ ^^^^ ∀ ^ = {1, … , ^} by measuring the n physical qubits; and wherein the quantum computing system is configured to discard the computer results and to restart the computation of the quantum operation during any of the fault tolerant steps of performing initialisation, syndrome measurement or state measurement based on any measurement of the ancilla indicating a fault. 13. The quantum computing system of claim 12, wherein the k logical qubits are encoded to an even number of physical qubits and wherein an odd number of logical qubits is encoded into an even number of physical qubits by providing a redundant qubit d, and wherein the state of the qubit d is used for circuit optimisation. 14. The quantum computing system of claim 12 or claim 13, wherein the ancilla qubits include X and Z qubits, wherein: ^ is acting on all qubits ^^ = ^^^^ ^ ^ ^^^ ^^ ; and ^ is acting on all qubits ^ = ^ ^ ^ ^^^^ ^^^ ^^ . 15. The quantum computing system of claim 14, wherein the products of logical operators comprise one or more products of pairs of the k logical qubits as follows: (a) ^^^ = ^^ ^^ for ^ = 1, … , ^ ^^^ ^^ ^ = ^^ ^^′ for ^ ≠ ^ where ^, ^ ∈ … , (f) (i) (j) (l) 16. The quantum computing system of claim 12 wherein the at least one quantum gate on the n qubit quantum circuit of each instruction block comprises either a two-qubit Mølmer– Sørensen gate or a single qubit Clifford group gate. 17. The quantum computing system of any one of claims 12 to 16, wherein the quantum computing system is further configured to: combine the fault-tolerant measurement of each logical operator^ ^^^^ ∀ ^ with the last syndrome measurement after the last instruction block has been applied by measuring the stabiliser on the n physical qubits and measuring the n physical qubits; to transmit the results to a classical computing system; to receive an indication of the decoded ^^ stabiliser value; and to discard the computer results and to restart the computation based on the decoded ^^ stabiliser value indicating a fault. 18. A quantum computing system including a quantum computing arrangement coupled to a classical computing arrangement, wherein the classical computing arrangement is configured to receive input data thereat and also to send output data therefrom, wherein the classical computing arrangement is configured to process at least one computational task included in the input data by generating a corresponding Ansatz defining initial values of k-qubits, and to configure a quantum circuit in the quantum computing arrangement that, when executed, acts on the k-qubits, wherein the quantum computing arrangement is configured to execute the quantum circuit commencing from the Ansatz to generate computed results for the k-qubits that are measured by the quantum computing arrangement to generate k-measured qubit values, wherein the quantum computing arrangement is configured to communicate the k-measured qubit values to the classical computing arrangement for use in further computations in the quantum computing system and/or for inclusion in the output data, characterized in that the quantum computing arrangement is configured to complement the k-qubits by e-ancilla qubits in the quantum circuit and the Ansatz; the quantum computing arrangement is configured to include additional gates in the quantum circuit to couple via a quantum error detection function intermediate states of the k-qubits during execution of the quantum circuit to the e-ancilla qubits; the quantum computing arrangement is configured to measure the e-ancilla qubits at completion of execution of the quantum circuit to generate measured e-ancilla qubit values; the quantum computing system is configured to process the measured e-ancilla qubit values to determine whether an error has occurred during execution of the quantum circuit; and the quantum computing system is configured to discard the k-measured qubit values and repeat computation of the Ansatz and quantum circuit in an event that the quantum circuit has been executed with an error that is above the quantum computing error threshold. 19. A quantum computing system of claim 18, wherein there are included two e-ancilla qubits to complement the quantum circuit. 20. A quantum computing system of claim 18 or claim 19, wherein the error detection function is configured to generate the measured e-ancilla qubit values as a function of the intermediate states of all of the k-qubits during execution of the quantum circuit. 21. A quantum computing system of claim 18 or claim 19, wherein the error detection function is configured to generate the measured e-ancilla qubit values as a function of intermediate states pairs of the k-qubits during execution of the quantum circuit. 22. A quantum computing system of claim 18, 19, or 21, wherein the error detection function is configured to generate the measured e-ancilla qubit values as a function of a sub- set of the intermediate states of the k-qubits during execution of the quantum circuit. 23. A quantum computing system of any one of claims 20, 21 or 22, wherein the e-ancilla qubits include X and Z qubits, wherein ^ is acting on all qubits ^^ = ^^^^ ^ ^ ^^^ ^^ ; and ^ is acting on all qubits ^^ = ^^^^ ^ ^ ^^^ ^^ . 24. A quantum computing system of claim 23, wherein the error detection function uses codes that have a property that some high weight products of logical operators reduce to low weight encoded operations. 25. A quantum computing system of claim 24, wherein the error detection function includes one or more products of pairs of the k-qubits: (a) ^^^ = ^^ ^^ for ^ = 1, … , ^ (b) ^^^ ^^^^ = ^^ ^^^ for ^ ≠ ^^ where ^, ^^ ∈ {1, … , ^} (c) ^ ^^^ ^^^ = ^^ ^^ for ^ = 1, … , ^ (f) (i) (j) (l) (−1)^^^/^ ^^ ^^^ ^^^ = ^^ ^^ 26. A method of configuring a quantum computing system to provide quantum computing error detection, wherein the quantum computing system includes a quantum computing arrangement coupled to a classical computing arrangement, wherein the classical computing arrangement is configured to receive input data thereat and also to send output data therefrom, wherein the method includes: (a) configuring the classical computing arrangement to process at least one computational task included in the input data by generating a corresponding Ansatz defining initial values of k-qubits, and configuring a quantum circuit in the quantum computing arrangement that, when executed, acts on the k-qubits; (b) configuring the quantum computing arrangement to execute the quantum circuit commencing from the Ansatz to generate computed results for the k-qubits that are measured by the quantum computing arrangement to generate k-measured qubit values; and (c) configuring the quantum computing arrangement to communicate the k-measured qubit values to the classical computing arrangement for use in further computations in the quantum computing system and/or for inclusion in the output data, characterized in that the method further includes: (d) configuring the quantum computing arrangement to complement the k-qubits by e- ancilla qubits in the quantum circuit and Ansatz; (e) configuring the quantum computing arrangement to include additional gates in the quantum circuit to couple via a quantum error detection function intermediate states of the k-qubits during execution of the quantum circuit to the e-ancilla qubits; (f) configuring the quantum computing arrangement to measure the e-ancilla qubits at completion of execution of the quantum circuit to generate measured e-ancilla qubit values; (g) configuring the quantum computing system to process the measured e-ancilla qubit values to determine whether an error has occurred during execution of the quantum circuit; and (h) configuring the quantum computing system to discard the k-measured qubit values and repeat computation of the Ansatz and quantum circuit in an event that the quantum circuit has been executed with an error that is above the quantum computing error threshold. 27. A method of claim 26, wherein there are included two e-ancilla qubits to complement the quantum circuit. 28. A method of claim 26 or 27, wherein the method includes configuring the error detection function to generate the measured e-ancilla qubit values as a function of the intermediate states of all of the k-qubits during execution of the quantum circuit. 29. A method of any one of claims 26, 27 or 28, wherein the error detection function is configured to generate the measured e-ancilla qubit values as a function of pairs of the k- qubits during execution of the quantum circuit. 30. A method of claim 26 or 27, wherein the method includes configuring the error detection function to generate the measured e-ancilla qubit values as a function of a sub-set of the intermediate states of the k-qubits during execution of the quantum circuit. 31. A method of claim 26, wherein the e-ancilla qubits include X and Z qubits, wherein ^ is acting on all qubits ^ ^ ^ = ^^^^ ^^^^ ^^ ; and ^ is acting on all qubits ^^ = ^^^^ ^ ^ ^^^ ^^ . 32. A method of claim 31, wherein the error detection function uses codes that have a property that some high weight products of logical operators reduce to low weight encoded operations. 33. A method of claim 32 wherein the method includes configuring the error detection function to include one or more products of pairs of code qubits: (f) (g) ^ ^^^ = ^^ ^^ for ^ = 1, … , ^ (h) ^^ ^ ^^^ ^^ = ^^ ^^ (i) ^^^ ^^^^ = ^^ ^^^ for ^ ≠ ^^ where ^, ^^ ∈ {1, … , ^} (j) (l) 34. A software product for execution on a quantum computing system including a quantum computing arrangement coupled to a classical computing arrangement, wherein the software product is configured when executed to implement a method as claimed in any one of claims 26 to 33. 35. A quantum circuit for execution on a quantum computing arrangement of a quantum computing system, wherein the quantum circuit is configured to include additional e-ancilla qubits to implement the method of any one of claims 26 to 33.
Description:
QUANTUM COMPUTING SYSTEM AND METHOD FOR ERROR DETECTION Technical field [0001] The present disclosure relates to a quantum computing system, for example to a hybrid computing apparatus including a combination of a classical binary computer coupled to a quantum computer. Moreover, the present disclosure relates to a method for operating the quantum computing system, where operations are prepared by a classical computer and quantum operations are performed by a quantum computer. Furthermore, the present disclosure relates to software products recorded on machine-readable media, wherein the software products include program code which is executable to control operation of a quantum computing system. Background [0002] A longstanding problem in the development of quantum computers has been how to maintain quantum performance (such as maintaining quantum coherence) in the face of noise affecting the devices for carrying out the quantum computation such that faults occur in the processing. Quantum computers have recently become available as noisy intermediate scale quantum (NISQ) devices, and quantum computers have been simulated using classical computers. A technical problem associated with NISQ devices is that the number of available qubits limits the available resources that can be assigned to protocols for mitigating the effects of errors, that arise due to the presence of noise. [0003] Various methods have been proposed in published scientific literature for detecting and then correcting errors arising when performing computations on NISQ devices. However, although quantum error correction has been identified as essential for fault- tolerance by some authors, typical NISQ devices are not advanced enough to continuously implement resource-intensive quantum error correction to achieve fully fault-tolerant systems. The traditional definition of fault-tolerance is that a fault-tolerant circuit is a circuit where there is no single component whose failures produces an undetecable logical error. Traditionally, errors are characterised as unintended single qubit Pauli gates which are detected and corrected in order to maintain the quantum performance of a noisy quantum computer. Existing quantum computers can only implement quantum error correction protocols on very few logical qubits and simple states due to limitations in the scalability and accuracy of NISQ devices. Therefore quantum algorithms have to be carefully constructed taking into account these limitations. Summary of the disclosure [0004] The present disclosure seeks to provide a technical solution to a technical problem of implementing resource-intensive protocols for mitigating the effects of errors on NISQ devices that have limited available resources. An aim of the present disclosure is to provide an improved and resource-efficient method of detecting when errors occur when executing quantum computations using a quantum computing system which may consist of a classical computer and a quantum computer. A first method involves efficient error detection combined with efficient rejection of errors (this may involve simply discarding the result of a failed quantum circuit execution instance) and enabling the quantum computations to be repeated until an acceptable accuracy in the quantum computations is achieved. This can avoid the need for computationally expensive error correction, at least for quantum computing systems with high quality physical qubits, such as existing ion-trapped quantum computers. Moreover, an aim of the present disclosure is to provide a technical solution of an improved quantum computing system, comprising a classical computer and a quantum computer, that implements the improved methods of detecting and rejecting errors which occur when executing quantum computations on quantum hardware. The inventors of the present invention have determined that detecting and efficiently rejecting quantum computational errors can provide a practically useful level of fault tolerance, with better computational efficiency than known methods of performing both error detection and correction. The present invention provides for an encoding from logical qubits in a quantum circuit to actual physical qubits that allows for quantum error detection through measurements on the physical qubits. Efficient discarding of the erroneous partial results followed by re-starting the quantum computation, is found to be an efficient way to handle an identified error. This can provide an adequate level of quantum performance in the presence of noise, especially when executing on a quantum computing system using high quality quantum circuits based on ion-traps, and especially when initialisation and syndrome measurement are fault-tolerant steps. In some implementations, a fault-tolerant initialisation involves an even number k of logical qubits being encoded into n = k + 2 physical qubits, for any even ^ ≥ 2. In some other implementations, an odd number ^ of logical qubits is encoded onto an even number of physical qubits including a redundant qubit ^, which is then used for circuit optimisation. Then logical operators act on the qubits without fault tolerance. This is followed by fault-tolerant syndrome measurement using two ancillas, and fault-tolerant measurement of all qubits. This process can detect single qubit errors with an overhead of only four qubits; and the circuits are fault-tolerant in the sense that single faults do not give rise to undetectable logical errors. The invention has the potential to cause a quantum computer or a hybrid quantum-classical computer system to operate more reliably as well as more efficiently. Moreover, efficient detecting and discarding of computational errors can be implemented in combination with enabling quantum computations to be repeated until the quantum computational errors are below an error threshold. The current invention trades off the ability to perform every operation fault tolerantly in exchange for a reduced requirement for quantum resources. Instead of performing every operation fault tolerantly, some steps are left to be performed without fault tolerance. This provides a problem of how to choose which operations should be left to be not fault tolerant. The non-fault tolerant operations may be implemented using a universal gate set of logical quantum gates. The inventors have appreciated that the choice of the “Iceberg” code for the error detection code allows for an advantage when implemented on a device that has all-to- all connectivity between physical qubits and high fidelity two-qubit interactions such as in trapped-ion quantum computers. Additionally, trapped ion systems are generally better at performing mid circuit measurement and re-initialization of qubits, which is used for performing the syndrome extraction operation during the logical computation. In turn, mid- circuit syndrome extraction is proven to be practically and not only theoretically, beneficial, as it reduces the effect of noise. Provided is a method of performing a quantum computing operation with quantum error detection. A quantum error detection code is used to convert an operation defined by k logical qubits into a set of instructions for performing a quantum circuit of n physical qubits where n=k+2, wherein the quantum error detection code encodes the k logical qubits into the n physical qubits with stabilisers on the physical qubits, and with first and second ancilla qubits used for error detection. The method includes: performing, by a quantum computing system, fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; performing, by the quantum computing system, the instructions on the quantum circuit of n physical qubits to perform a computation; performing, by the quantum computing system, a fault-tolerant syndrome measurement of the stabilisers on the n physical qubits using the first ancilla and the second ancilla; performing, by the quantum computing system, a fault-tolerant state measurement of each logical operator using the first and second ancilla by measuring the n physical qubits; and discarding the computation of the quantum circuit and restarting the computation of the quantum operation in response to either the syndrome measurement or state measurement of the first or second ancilla indicating a fault. [0005] According to a first aspect of the invention, there is provided a method of performing a quantum operation comprising a target unitary operation with quantum error detection, the method comprising: obtaining a finite gate decomposition approximation of the target unitary for a quantum circuit of k logical qubits; converting, using an quantum error detection code, the finite gate decomposition for a quantum circuit of k logical qubits into a set of instructions for performing a quantum circuit of n physical qubits wherein ^ = ^ + 2 and wherein the n physical qubits comprise a physical qubit t and a physical qubit b, wherein the quantum error detection code encodes the k logical qubit into the n physical qubits and is a stabiliser code comprising two stabilisers on the n physical - - and the logical qubits operators, ^ ^ of the code are defined by: - ^ ^ ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ - ^ ^ ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ wherein ^ ^ ^ ^ ^ , ^ ^^ ^ ^ are the Pauli X and Z single logical qubit operators on logical qubit q, wherein the set of instructions comprises a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by a quantum computing system; performing, by the quantum computing system, fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; performing, by the quantum computing system, each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, performing, by the quantum computing system, a fault-tolerant syndrome measurement of the ^ ^ stabiliser and the ^ ^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, performing, by the quantum computing system, a fault-tolerant state measurement, using the first and second ancilla, of each logical operator ^ ^ ^ ^ ^ ∀ ^ = {1, … , ^} by measuring the n physical qubits; and during any of the fault-tolerant steps of performing initialisation, syndrome measurement or state measurement to discard the computer results and to restart the computation of the quantum operation based on any measurement of the first or second ancilla indicating a fault. A circuit or operation performed by a circuit is fault-tolerant if the circuit is one where there is no single component whose failure produces an undetecable logical error. The quantum circuit of the syndrome measurement may be based on the quantum error detection code. The quantum circuit of the initialisation may be based on the quantum error detection code. The quantum circuit of the state measurement may be based on the quantum error detection code. Preferably, the quantum computing system is a trapped-ion quantum computer with all-to- all connectivity between qubits. Preferably, the finite gate decomposition is composed of unitary gates from a universal gate set which comprises gates which can be encoded onto the physical qubits using only two- qubit Mølmer–Sørensen gates and up to four Clifford group gates and, optionally, the universal gate set comprises global rotations on k or k-1 logical qubits. Preferably, the universal gate set only comprises single-qubit logical rotations, two-qubit logical rotations and global rotations on k or k-1 logical qubits. Preferably the fault-tolerant measurement of each logical operator ^ ^ ^ ^ ^ ∀ ^ is combined with the last syndrome measurement after the last instruction block has been applied by measuring the ^ ^ stabiliser on the n physical qubits and measuring the n physical qubits and post-processing the results to decode the ^ ^ stabiliser and each logical operator ^ ^ ^ ^ ^ and the quantum computing system is configured to discard the computer results and to restart the computation of the quantum operation based on the decoded ^ ^ stabiliser value indicating a fault during the fault tolerant steps. According to a second aspect of the invention, there is provided a system for performing a quantum operation comprising a target unitary operation with quantum error detection, the system comprising: a classical computing system; a quantum computing system, wherein the quantum computing system comprises k physical qubits, a physical qubit t and a physical qubit b, and a first and second ancilla qubit, and wherein the quantum computing system is configured to implement a quantum circuit on the k physical qubits, the physical qubit t and the physical qubit b, using the first and second ancilla qubit; and wherein the classical computing system is configured to: obtain a finite gate decomposition approximation of the target unitary for a quantum circuit of k logical qubits; convert, using an quantum error detection code, the finite gate decomposition for a quantum circuit of k logical qubits into a set of instructions for performing a quantum circuit of the n physical qubits of the quantum computing system, wherein the quantum error detection code encodes the k logical qubits into the n physical qubits and is a stabiliser code comprising two - - = and the logical qubits operators, ^ ^ of the code are defined by: - ^ ^ ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ - ^ ^ ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ wherein ^ ^ ^ ^ ^ , ^ ^^ ^ ^ are the Pauli X and Z single logical qubit operators on logical qubit q, wherein the set of instructions comprises a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by the quantum computing system; and transmit the set of instructions to the quantum computing system; and wherein the quantum computing system is configured to: receive the set of instructions: perform fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; perform each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, perform a fault-tolerant syndrome measurement of the ^ ^ stabiliser and the ^ ^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, perform, a fault-tolerant state measurement, using the first and second ancilla, of each logical operator ^ ^ ^ ^ ^ ∀ ^ = {1, … , ^} by measuring the n physical qubits; and wherein the quantum computing system is configured to discard the computer results and to restart the computation of the quantum operation during any of the fault tolerant steps of performing initialisation, syndrome measurement or state measurement based on any measurement of the first or second ancilla indicating a fault. Preferably, the quantum computing system is a trapped-ion quantum computer with all-to- all connectivity between qubits. Preferably the qubits of the quantum computing system comprises only the n physical and two ancilla qubits. Preferably, the finite gate decomposition is composed of unitary gates from a universal gate set comprises gates which can be encoded onto the physical qubits using only two-qubit Mølmer–Sørensen gates and up to four Clifford group gates and, optionally, the universal gate set comprises global rotations on k or k-1 logical qubits. Preferably, the universal gate set only comprises single-qubit logical rotations, two-qubit logical rotations and global rotations on k or k-1 logical qubits. Preferably, the quantum computing system is further configured to combine the fault- tolerant state measurement of each logical operator ^ ^ ^ ^ ^ ∀ ^ with the last syndrome measurement after the last instruction block has been applied by measuring the ^ ^ stabiliser on the n physical qubits and measuring the n physical qubits and to transmit the results to the classical computing arrangement and the classical computing arrangement is further configured to post-process the transmitted results to decode the ^ ^ stabiliser and each logical operator ^ ^ ^ ^ ^ and to transmit an indication of the decoded ^ ^ stabiliser value to the quantum computing system, and wherein the quantum computing system is further configured to discard the computer results and to restart the computation based on the decoded ^ ^ stabiliser value indicating a fault. According to a third aspect of the invention, there is provided a quantum computing system for performing a quantum operation comprising a target unitary operation with quantum error detection, wherein the quantum computing system comprises k physical qubits, a physical qubit t and a physical qubit b, and a first and second ancilla qubit, and wherein the quantum computing system is configured to implement a quantum circuit on the k physical qubits, the physical qubit t and the physical qubit b, using the first and second ancilla qubit, and wherein the quantum computing system is configured to: receive a set of instructions comprising a plurality of blocks of instructions and wherein each block of instructions comprises at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by the quantum computing system; perform fault-tolerant initialisation of a logical state of k logical qubits using an n qubit quantum circuit and a first ancilla and the quantum error detection code; perform each instruction block of the plurality of instruction blocks on the quantum circuit of n physical qubits; after each instruction block, perform a fault-tolerant syndrome measurement of the ^ ^ stabiliser and the ^ ^ stabiliser on the n physical qubits using the first ancilla and a second ancilla respectively; after all instruction blocks of the plurality of instruction blocks have been applied to the n physical qubits, perform, a fault-tolerant state measurement, using the first and second ancilla, of each logical operator ^ ^ ^ ^ ^ ∀ ^ = {1, … , ^} by measuring the n physical qubits; and wherein the quantum computing system is configured to discard the computer results and to restart the computation of the quantum operation during any of the fault tolerant steps of performing initialisation, syndrome measurement or state measurement based on any measurement of the ancilla indicating a fault. Preferably, the at least one quantum gate on the n qubit quantum circuit of each instruction block is one of a two-qubit Mølmer–Sørensen gates or the four Clifford group gates. Preferably, the quantum computing system is further configured to combine the fault- tolerant measurement of each logical operator ^ ^ ^ ^ ^ ∀ ^ with the last syndrome measurement after the last instruction block has been applied by measuring the ^ ^ stabiliser on the n physical qubits and measuring the n physical qubits, to transmit the results to a classical computing arrangement, to receive an indication of the decoded ^ ^ stabiliser value, and to discard the computer results and to restart the computation based on the decoded ^ ^ stabiliser value indicating a fault. According to a fourth aspect of the invention, there is provided a quantum computing system including a quantum computing arrangement coupled to a classical computing arrangement, wherein the classical computing arrangement is configured to receive input data thereat and also to send output data therefrom, wherein the classical computing arrangement is configured to process at least one computational task included in the input data by generating a corresponding Ansatz defining initial values of k-qubits, and to configure a quantum circuit in the quantum computing arrangement that, when executed, acts on the k-qubits, wherein the quantum computing arrangement is configured to execute the quantum circuit commencing from the Ansatz to generate computed results for the k-qubits that are measured by the quantum computing arrangement to generate k-measured qubit values, wherein the quantum computing arrangement is configured to communicate the k-measured qubit values to the classical computing arrangement for use in further computations in the quantum computing system and/or for inclusion in the output data, characterized in that the quantum computing arrangement is configured to complement the k-qubits by e-ancilla qubits in the quantum circuit and the Ansatz; the quantum computing arrangement is configured to include additional gates in the quantum circuit to couple via a quantum error detection function intermediate states of the k-qubits during execution of the quantum circuit to the e-ancilla qubits; the quantum computing arrangement is configured to measure the e-ancilla qubits at completion of execution of the quantum circuit to generate measured e-ancilla qubit values; the quantum computing system is configured to process the measured e-ancilla qubit values to determine whether an error has occurred during execution of the quantum circuit; and the quantum computing system is configured to discard the k-measured qubit values and repeat computation of the Ansatz and quantum circuit in an event that the quantum circuit has been executed with an error that is above the quantum computing error threshold. [0006] Optionally, in the quantum computing system, there are included two e-ancilla qubits to complement the quantum circuit. [0007] Optionally, in the quantum computing system, the error detection function is configured to generate the measured e-ancilla qubit values as a function of the intermediate states of all of the k-qubits during execution of the quantum circuit. [0008] Optionally, in the quantum computing system, the error detection function is configured to generate the measured e-ancilla qubit values as a function of intermediate states pairs of the k-qubits during execution of the quantum circuit. [0009] Optionally, in the quantum computing system, the error detection function is configured to generate the measured e-ancilla qubit values as a function of a sub-set of the intermediate states of the k-qubits during execution of the quantum circuit. [0010] Optionally, in the quantum computing system, the e-ancilla qubits include X and Z qubits, wherein ^ is acting on all qubits ^ ^ = ^ ^ ^ ^ ^ ^ ^ ^^ ^ ^ ; and ^ is acting on all qubits ^ ^ = ^ ^ ^ ^ ^ ^ ^ ^^ ^ ^ . [0011] Optionally, in the quantum computing system, the error detection function uses codes that have a property that some high weight products of logical operators reduce to low weight encoded operations. Optionally, in the quantum computing system, the error detection function includes one or more products of pairs of the k-qubits: ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (f) (g) ^ ^^^ ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (h) ^^ ^ ^^ ^ ^ ^ = ^ ^ ^ ^ (i) ^ ^ ^ ^ ^ ^ ^ = ^ ^ ^ ^^ for ^ ≠ ^ ^ where ^, ^ ^ ∈ {1, … , ^} (j) (l) The above example assumes an even number k of logical qubits. However, an odd number k of logical qubits is also possible by including a redundant qubit d. In that case, some modifications are needed to equalities (c), (d), (g), (h), (J), (k), (l) to exploit the state of the qubit, d, as shown below. (a) ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (f) (i) (j) (l) = [0012] According to a fifth aspect of the invention, there is provided a method of configuring a quantum computing system to provide quantum computing error detection, wherein the quantum computing system includes a quantum computing arrangement coupled to a classical computing arrangement, wherein the classical computing arrangement is configured to receive input data thereat and also to send output data therefrom, wherein the method includes: (a) configuring the classical computing arrangement to process at least one computational task included in the input data by generating a corresponding Ansatz defining initial values of k-qubits, and configuring a quantum circuit in the quantum computing arrangement that, when executed, acts on the k-qubits; (b) configuring the quantum computing arrangement to execute the quantum circuit commencing from the Ansatz to generate computed results for the k-qubits that are measured by the quantum computing arrangement to generate k-measured qubit values; and (c) configuring the quantum computing arrangement to communicate the k-measured qubit values to the classical computing arrangement for use in further computations in the quantum computing system and/or for inclusion in the output data, characterized in that the method further includes: (d) configuring the quantum computing arrangement to complement the k-qubits by e- ancilla qubits in the quantum circuit and Ansatz; (e) configuring the quantum computing arrangement to include additional gates in the quantum circuit to couple via a quantum error detection function intermediate states of the k-qubits during execution of the quantum circuit to the e-ancilla qubits; (f) configuring the quantum computing arrangement to measure the e-ancilla qubits at completion of execution of the quantum circuit to generate measured e-ancilla qubit values; (g) configuring the quantum computing system to process the measured e-ancilla qubit values to determine whether an error has occurred during execution of the quantum circuit; and (h) configuring the quantum computing system to discard the k-measured qubit values and repeat computation of the Ansatz and quantum circuit in an event that the quantum circuit has been executed with an error that is above the quantum computing error threshold. [0013] Optionally, the method is implemented such that there are included two e- ancilla qubits to complement the quantum circuit. [0014] Optionally, the method includes configuring the error detection function to generate the measured e-ancilla qubit values as a function of the intermediate states of all of the k-qubits during execution of the quantum circuit. [0015] Optionally, the method is implemented such that the error detection function is configured to generate the measured e-ancilla qubit values as a function of pairs of the k- qubits during execution of the quantum circuit. [0016] Optionally, the method includes configured the error detection function to generate the measured e-ancilla qubit values as a function of a sub-set of the intermediate states of the k-qubits during execution of the quantum circuit. [0017] Optionally, the method is implemented such that the e-ancilla qubits include X and Z qubits, wherein ^ is acting on all qubits ^ ^ = ^ ^ ^ ^ ^ ^ ^ ^^ ^ ^ ; and ^ is acting on all qubits ^ ^ = ^ ^ ^ ^ ^ ^ ^ ^^ ^ ^ . [0018] Optionally, the method is implemented such that the error detection function uses codes that have a property that some high weight products of logical operators reduce to low weight encoded operations. [0019] Optionally, the method includes configuring the error detection function to include one or more products of pairs of code qubits: ^ ^ (f) (i) (j) (l) ( −1 )^^^/^ ^^ ^ ^ ^^ ^ ^ = ^ ^ ^ ^ [0020] According to a third aspect, there is provided a software product for execution on a quantum computing system including a quantum computing arrangement coupled to a classical computing arrangement, wherein the software product is configured when executed to implement a method of the second aspect. [0021] According to a fourth aspect, there is provided a quantum circuit for execution on a quantum computing arrangement of a quantum computing system, wherein the quantum circuit is configured to include additional e-ancilla qubits to implement the method of the second aspect. [0022] Additional aspects, advantages, features and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative embodiments construed in conjunction with the appended claims that follow. [0023] It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims. Description of the diagrams [0024] Embodiments of the disclosure will be described by way of example, with reference to the following drawings, wherein: FIG.1 is an illustration of a quantum computing system including a classical computing arrangement coupled to a quantum computing arrangement, wherein the classical computing arrangement and the quantum computing arrangement operate in tandem to execute computational tasks involving the generation and execution of quantum circuits; FIG. 2 is an illustration of qubits, Ansatz, quantum circuit and qubit measurement arrangement as used in the quantum computing system of FIG.1; FIG. 3A is a flow diagram of steps of a method in accordance with an embodiment of the present invention. FIG.3B is a flowchart showing an example approach for carrying out the method of FIG.3. FIG. 4 is an illustration of 1 to k qubits mapped onto qubits t and b by an error detection function; FIG.5 is an illustration of an initializing quantum circuit used for initialization values of qubits at an outset of executing a quantum circuit; FIG.6 is an illustration of syndrome extraction from a quantum circuit; FIG.7 is an illustration of measurement of qubit values after executing a quantum circuit to perform a quantum computation: FIGs. 8, 9 and 10 are illustrations of portions of quantum circuit used when implemented embodiments of the present disclosure; FIG. 11 is an illustration of initialisation, syndrome extraction and measurement, as performed in a quantum computing arrangement of the quantum computing system of FIG.1; FIG.12 illustrates a method for testing the performance of a system for performing quantum operations and data from an example of the method of FIG.3A. FIG. 13 illustrates two examples of quantum circuits for compiling quantum rotation operations. FIG.14 is a graph of data from numerical simulations of the performance of an example of the method of FIG.3A. FIG. 15 illustrates an alternative method for testing the performance of an example of the method of FIG.3A FIG.16 is a flow chart of steps of a method of the present disclosure. FIG.17 is a graph of data from numerical simulations of the performance of an example of the method of FIG.3A. FIG. 18 is a schematic example of a circuit for testing system and methods for performing quantum operations. FIG.19 is a graph of experimental results from an example of the test of FIG.15. FIG.20 illustrates an unencoded Quantum Fourier Transform (QFT)-free QPE circuit. FIG.21 illustrates the control unitary operation ^ of FIG.20. FIG.22 illustrates the control unitary operation ^ of FIG.20. FIG.23 is a sketch of an entire encoded QPE circuit. FIG.24 illustrates compiling the control unitary operation ^ of FIG.21 to logical gates. FIG.25 illustrates the encoded form of FIG.24. [0025] In the accompanying diagrams, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing. Detailed description of embodiments [0026] Referring to FIG. 1, there is shown a quantum computing system 100 that includes a classical computing arrangement 110 coupled to a quantum computing arrangement 120, wherein, in use, data exchange occurs between the classical computing arrangement 110 and the quantum computing arrangement 120. The classical computing arrangement 110 is beneficially implemented using computing apparatus based on Silicon integrated circuit binary logic devices. The quantum computing arrangement 120 is beneficially implemented as a photonics quantum computer, a trapped-ion quantum computer, a cryogenically-cooled Josephson junction quantum computer or similar, wherein entanglement and superposition of qubits occur when the quantum computing arrangement 120 is in use. [0027] In operation, input data Din is received at the classical computing arrangement 110, wherein the input data Din includes one or more computational tasks to be executed by the quantum computing system 100. The classical computing arrangement 110 processes the one or more computational tasks and determines corresponding parameters to configure the quantum computing arrangement 120. The parameters include establishing an Ansatz 130 that determines a parameterised unitary to be implemented on the quantum computing arrangement 130, and a quantum circuit 140 that is applied to process the qubits of the Ansatz 130. The quantum computing arrangement 120 further includes a measuring arrangement 150 for measuring values of the qubits after the quantum circuit 140 has been executed on the qubits. The quantum computing arrangement 120, in use, communicates the measured values of the qubits to the classical computing arrangement 110 which then outputs the measured values of the qubits in output data Dout, and/or stores the measured values of the qubits for use in future computations to be executed in the quantum computing system 100. [0028] When the quantum computing system 100 is in operation, quantum noise, stochastic thermal noise, decoherence and crosstalk arise when generating the Ansatz 130, when executing the quantum circuit 140 and when measuring values of the qubits when the quantum circuit 140 has been executed. The noise can vary from one “shot” to another executed through the quantum computing arrangement 120. Embodiments of the present disclosure pertain to an implementation of the quantum computing system 100 wherein, if an error in the measured qubit values 150 for an execution of the quantum circuit 140 in a given “shot” is detected, the “shot” is repeated until no error in the measured qubit values 150 is detected. The measured qubit values 150 of a given “shot” that are detected to be in error can beneficially be discarded by the quantum computing system 100. [0029] Referring next to FIG.2, in embodiments of the present disclosure, the Ansatz 130 is complemented by e ancilla qubits, for example two (2) ancilla qubits X and Z. During execution of the quantum circuit 140, additional quantum gates included in the quantum 140 implement an error detection function that acts upon the ancilla e-qubits Z and Z. When measuring the values of k-qubits and also the e-qubits at 150, the value of the e-qubits is indicative of whether or not an error has occurred when applying the quantum circuit 140 to the k-qubits. As shown in FIG.3, herein a method 300 for performing quantum operations with quantum error detection is introduced. Generally, a quantum operation may be performed by initialising one or more qubits in a quantum state, for example the computational state, performing a specific unitary operation on the one or more qubits, wherein the unitary operation at least in part characterises the quantum operation and then performing a measurement on at least some of the one or more qubits. The quantum operation may be implemented on a quantum computer by the quantum computer implementing a quantum circuit. A target unitary operation can be implemented on a quantum circuit by enacting a finite number of quantum gates that form an approximation to the target unitary. Quantum error detection introduces the problem of how and when to sample the quantum operation to detect error. The quantum error detection code allows for a syndrome measurement that can detect errors that may be introduced by certain operations before the syndrome measurement. The syndrome measurement is itself fault-tolerant, that is, no single component used to perform the syndrome measurement will produce an undetectable logical error. The syndrome measurement only required an additional physical qubit overhead of two ancilla qubits thus the physical qubit overhead for implementing the logical circuit is kept to just four extra physical qubits. If a fault is detected, the computation is discarded and the operation is restarted. Thus a lower overhead is provided in exchange for a probabilistic completion time based on the discard rate. The code allows for initialisation of a quantum state and quantum measurement of the state to also be performed fault-tolerantly. The syndrome measurement may therefore be used to detect errors introduced between initialisation and the first syndrome measurement, between the last syndrome measurement and the final quantum measurement of the state, and in between the syndrome measurements. A later fault tolerant step may also detect a different type of error, a flipped stabiliser error, output from an earlier fault-tolerant operation. The operations on the quantum circuit performed by the quantum computing system in between the syndrome measurements may be comprised of quantum logic gates from a universal gate set to allow arbitrary quantum unitary gates to be performed on the circuit. It is possible for the quality of the quantum operation performed by the quantum computing system, as measured by e.g. quantum volume, to be maintained, even if the gates performed in between the syndrome measurements are not fully fault-tolerant. In particular, it is possible to rely on certain operations that can be performed more easily by certain types of quantum apparatus in order to allow for improved quantum performance. The method 300 comprises a step 310 of obtaining a finite gate decomposition approximation of the target unitary, ^¸ for a quantum circuit of k logical qubits, for any real integer k. The finite gate decomposition may be composed of unitary gates from a predefined subset of all unitary gates for example a minimal universal gate set. The finite gate decomposition may be calculated based on the target unitary to obtain the finite gate decomposition or the finite gate decomposition may be received from an external source that performs the calculation. The method 300 further comprises a step 320 of converting, using a quantum error detection code, the finite gate decomposition for a quantum circuit of k logical qubits into a set of instructions for performing a quantum circuit on n physical qubits. [0030] Herein is introduced a quantum error detection code that encodes ^ (even) logical qubits, [ ^ ] = {1, 2, … , ^}, with a code distance of 2 using ^ = ^ + ^ physical qubits, wherein preferably e = 2. These ^ qubits [^] are labelled 1, … , ^, ^ (top), ^ (bottom) – see FIG.3. The code has two stabilisers: - ^ acting on all qubits ^ ^ = ^ ^ ^ ^ ^ ^ ^^^ ^ ^ - ^ acting on all qubits The logical single-qubits operators of the code are defined as illustrated in FIG.3: - ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ - ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ The Pauli-X logical operators act on t (top) and a numbered qubit while Pauli-Z logical operators act on b(bottom) and a numbered qubit. [0031] For fault-tolerant operation, there is required two additional ancilla qubits, that we generically label ^ ^ and ^ ^ . In total we can implement the code in hardware with ^ + 4 physical qubits. [0032] The code is an error detection code meaning errors can be detected but not corrected. At runtime during execution of the quantum circuit 140, when an error is detected then the current shot of the circuit 140 being executed can be discarded. [0033] The aforesaid codes, conveniently referred as being “iceberg codes”, have the useful property that some high weight products of logical operators reduce to low weight encoded operations. To demonstrate this, all products of pairs of code qubits are listed below. (a) ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (b) ^ ^ ^ ^ ^ ^ ^ = ^ ^ ^ ^^ for ^ ≠ ^ ^ where ^, ^ ^ ∈ {1, … , ^} (f) (i) ^ ^ ^ ^ ^ ^ ^ = ^ ^ ^ ^^ for ^ ≠ ^ ^ where ^, ^ ^ ∈ {1, … , ^} (j) ^ ^ ^ ^ ^^^ ^^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (l) The logical operators may be expressed in other notations: ^ ^ ^ ≡ ^^ ^ [0034] It will be appreciated that products of two logical operators, in either ^, ^ or ^, do not increase in weight and remain products of two physical operators -- (b), (f) and (j). Furthermore, it will be appreciated that global (or almost global) logical operators are reduced to products of only two physical operators – (c), (d), (e), (h), (i), (k) and (l). This makes it possible to implement what would otherwise be extremely challenging multi-qubit logical unitaries on k or k-1 qubits using only two-qubit physical qubit operations. A system therefore only needs to be able to provide all-to-all connectivity between qubits, that is, the system just needs to be able to provide gates between any two physical qubits. Global logical operators acting on k or k-1 logical qubits are also supported by physical operators on two physical qubits. A logical unitary generated by, for example, logical operator ^^ ^ ^ ^^ ^ ^ , is supported by a corresponding physical unitary generated by ^ ^ ^ ^ . As single qubit, two qubit, k-1, and k qubit logical Pauli operators are supported by two-qubit physical Pauli operators, single, two, k-1, and k rotation operators are supported by two-qubit physical rotations of the form ^ where ^ ∈ {^, ^, ^}. Beneficially, trapped-ion computers can perform such two qubit operations with high fidelity. The steps of obtaining the finite gate decomposition and converting the finite gate decomposition may be performed by a classical computing system. For example this may be a classical computer with a processor that is able to transmit the set of instructions to a quantum computing system where the quantum computing system comprises at least k physical qubits and a top physical qubit and a bottom physical qubit, which the quantum computing system is configured to implement a quantum circuit on along with at least two ancilla qubits. Generally the quantum computer may be implemented with any type of quantum hardware and be applied for any kind of application or algorithm. The quantum computing system receives a set of instructions for carrying out the target unitary, ^, according to the decomposition using the quantum gate set, wherein the set of instructions comprises a plurality of blocks of instructions. The method 300 further comprises the quantum computing system fault-tolerantly initialising the logical state of the k logical qubits using an n qubit quantum circuit and a first ancilla, ^ ^ in step 340. The choice of initial logical state may be arbitrary and may be chosen according to the operation that is being performed, for example, a uniform superposition over all logical qubit states for a Grover’s search algorithm implementation. However, the initialisation should be fault tolerant when enacted using the quantum error detection code. This may be done by using only a single ancilla. A fault tolerant initialisation of a state on the n physical qubits corresponding to an all zeroes logical state using the iceberg code and the ancilla, ^ ^ , is set out below in conjunction with the description of FIG.5. The method 300 further comprises quantum computing system performing (step 350) each block of instructions of the plurality of blocks of instructions. Each block of instructions may comprise instructions which when carried out by the quantum computing system cause it to enact a quantum circuit on the n physical qubits corresponding to a finite number of logical quantum gates on the k logical qubits. Carrying out all of the instructions of all of the blocks of instructions enacts the quantum circuit on the n physical qubits that corresponds to the finite quantum logical gate decomposition that implements the finite approximation of the target unitary. It is not necessary for the instruction blocks to be enacted fault tolerantly for the quantum operation to be implemented while maintaining non-classical processing. An appropriate choice of gate set for the finite gate decomposition may still allow for detection of at least some logical errors when performing each instruction block when using the Iceberg code. Each block of instructions may comprise at least one instruction for performing at least one quantum gate on a n qubit quantum circuit by a quantum computing system. As the instructions were prepared using the quantum error detection code, each gate on the n physical qubits will correspond to a gate on the k logical qubits. The finite approximation of the unitary may be compiled using only gates from a universal gate set. Generally, any universal gate set may be chosen. However, it is preferable to use a gate set that takes advantage of the mapping of global logical operations to two qubit physical operations. In particular, global rotations on the logical qubits are mapped to two-qubit rotations on the physical qubit. The universal gate set for the logical gates may comprise at least one of single ^ ^ qubit rotations, ^ ^ ( ^ ) = exp (−^ ^ ^), ^ ^ ( ^ ) = exp (−^ ^ ^), or two-qubit logical rotations ^ ^ ^ . This is particularly advantageous for quantum computing systems implemented using trapped ions. The logical circuit for enacting the target unitary U may be compiled by a classical computing system, and then transmitted to the quantum computing system to be carried out in its encoded physical form. A generic approach to compiling a target unitary U into a logical circuit is to first compile U into a gate set that only contains single-qubit rotations – RX(θ) = exp(−iθX/2) and RZ (θ) = exp(−iθZ/2) – and two-qubit logical rotations – RXX(θ) = exp(−iθXX/2), RY Y (θ) = exp(−iθY Y /2), RZZ (θ) = exp(−iθZZ/2). This can be done using the TKET compiler as described in “System and Method for Generating a Quantum Circuit”, US patent 11,144,689 B1. Once expressed using single and two-qubit logical gates, each gate in the circuit can be directly compiled into its encoded physical form using Mølmer–Sørensen, MSij (θ), gates, where , along with up to four single-qubit Clifford gates, H, S, S† , CNOT. This is not fault-tolerant because two-qubit Pauli errors of the form ^ ^ ^ ^ , ^ ^ ^, or ^ ^ ^ ^ after a ^^ ^^ (^) gate produce undetectable logical errors for any pair ^, ^ ∈ [n]. However, single qubit Pauli errors and two qubit Pauli errors where the two Pauli operators are different from each other are detectable so the number of non-detectable errors is reduced compared to not using the Iceberg code. Furthermore, physical gates of the form rotation of the set of logical rotations of the form exp (−^ ^ ^ ^^^ ^), for ^ ∈ (0, 2^), where ^ ^ ^^^ is any one of the operators (a)-(l), including, for example, ^ ^ ^^^ = ^^ ^ ^^ ^ ^ ^ . The universal gate set may be ^ defined as the set of logical rotations of the form exp (−^ ^ ^ ^^^ ^), for ^ ∈ (0, 2^). Therefore global rotations on k and k-1 logical qubits are included in the universal gate set without requiring any higher cost physical operator. Thus the performance of the system implementing the compiled circuit may be improved without any further cost in physical resources. After each instruction block is performed, and before the next one is, the method 300 comprises a step 360 wherein the quantum computing system performs a fault-tolerant syndrome measurement of the ^ ^ and ^ ^ stabilisers using the first ancilla, ^ ^ , and a second ancilla, ^ ^ , respectively. The syndrome measurement may be performed using only two ancillas. The syndrome measurements may be performed at predetermined steps during the execution of the circuit or at predetermined times. The size of each block of instructions may vary from each other block. The blocks may be equally sized e.g. they describe the same number of gates, however this may be adjusted to preserve any logical operations e.g. to make sure a syndrome measurement is not inserted between the Hadamards and ^^ ^^ ( ^ ) gate The syndrome measurement may enable readout of the stabiliser eigenvalue without disturbing the logical information. The quantum circuit for syndrome measurement may be based on the quantum error detection code. For example, before the quantum computer system is configured to implement the quantum circuit for the syndrome measurement, the syndrome measurement circuit on the n physical qubits may be checked using the quantum error detection code to determine the quantum circuit it maps to on the k logical qubits, and it is checked that the circuit does not disturb the logical information. This may be similarly done for the initialisation and/or the state measurement. The fault-tolerant non-destructive syndrome measurement may be performed by enacting a quantum circuit that performs CNOT gates between the physical qubits and the ancillas and making a single-qubit measurement of the ancilla. The ancilla may be reset and reused between measurements. The circuit instructions may be arranged so that the ancillas act as flag qubits to each other, allowing the detection of ancillary errors that would otherwise propagate to the rest of the qubits. While various circuits for syndrome measurements may be used, an example is described later in conjunction with the description of FIG.6. After all instruction blocks of the plurality of instruction blocks have been applied to the quantum circuit, the method comprises a step 370 wherein the quantum computing system measures performs a measurement of the k logical qubits by performing a fault-tolerant measurement of all of the n physical qubits. The final measurement of all qubits may be combined with the last syndrome measurement performed after the last block of instructions. A final fault-tolerant measurement of the stabilisers and a measurement of a logical qubit operator for each qubit, e.g. ^ ^ , ∀ ^ ∈ {1 … ^}, occurs after any previous non- fault tolerant operations. An example of a fault tolerant measurement of the quantum circuit is described later in conjunction with the description of FIG.7. The quantum computing system is configured to discard the computer results (step 390) and to restart the computation of the quantum operation based on any measurement of the ancilla indicating a fault. The code space may be defined as the joint subspace of +1 for both stabilisers so that a readout of -1 for either stabiliser from the first or second ancilla indicates the presence of an error. The probability of an attempt at performing the computation surviving until measurement will depend, at least in part, on the probability of a detectable fault occurring during the non-fault tolerant operations between syndrome measurements. The probability of detecting a fault may be increased by increasing the number of syndrome measurements during the operations. The more faults that are detected, the greater the quality of the performance by the quantum computing system in carrying out the quantum operation. Therefore there is a positive effect in increasing the frequency of syndrome measurements within the circuit. However, the discard rate will correspondingly be increased. Therefore the invention provides for a trade-off between quantum computation performance and the number of repetitions required based on the discard rate. [0035] Next, fault tolerant operation will be described. In devising embodiments of the present disclosure, the inventors have identified fault-tolerant quantum circuits, described below in (A), for the following tasks: - Initialisation of the logical codes state |0 ^ ^, where ^ ^ ^ |0 ^ ^ ^[^] = +1|0 ^ ^ ^[^] for ^ = 1, … , ^. - Syndrome extraction to simultaneously and non-destructively measure both stabilisers ^ ^ and ^ ^ . - Final measurement involving non-destructive measurement of the stabiliser ^ ^ and destructive measurement of all ^ qubits in their ^ basis, from which the stabiliser ^ ^ can be reconstructed. The quantum circuits that have been identified for these tasks are fault-tolerant in the sense that there are no single faults that give rise to an undetectable logical error. Single faults are defined to be local Pauli errors arising from the failure of a quantum circuit element, for example in the quantum circuit 140. Tests have been carried out to verify fault-tolerance that are described in detail in (B). [0036] It will be appreciated that generic logical operations of the code, such as a logical rotation exp (−^^^ ^ ^ ), are not implemented fault-tolerantly. Furthermore: the choice of finite gate set decomposition can be further selected to be easy to implement on trapped ion quantum computers (A) Circuits [0037] Initialisation: An example circuit for fault-tolerant initialisation, for k logical qubits, is illustrated in FIG. 5. The are initialised in the all zeros code state ^ ^[^ |0 ^ ] , which is the state such that = for all ^ ∈ [^], by preparing the physical qubits in the Greenberger–Horne–Zeilinger (GHZ) state, the creation of which is well known. From the definition of the stabilisers and logical operators it can be seen that the all-zeros code state is the GHZ state of the n physical qubits. In embodiments of the present disclosure, there is used a fault-tolerant quantum circuit to achieve this. Generally, a H gate is operated on the top physical qubit and CNOT gates are applied between adjacent pairs of physical qubits { ^, 1 } , { 1,2 } , { 2,3 } { ^, ^ } with a control on the first qubit of the pair. Then a CNOT gate is performed between the top qubit and the first ancilla and then the bottom qubit and the ancilla before a Z basis measurement of the first ancilla with results corresponding to {+1, −1}. If a fault has occurred, the measurement of the ancilla qubit ^ ^ will return −1 else it will measure +1. When a fault is detected, the results of executing the quantum circuit 140 are discarded. [0038] Syndrome extraction: An example circuit for fault-tolerant syndrome measurement, for k+2 physical qubits, is illustrated in FIG. 6. Beneficially, there is simultaneously, non-destructively extract the stabiliser eigenvalues of ^ ^ and ^ ^ . The eigenvalue of ^ ^ is obtained from a readout of the ^ ^ ancilla and ^ ^ from the ^ ^ ancilla. Measurement of a −1 on either ancilla means we discard the results. In embodiments of the present disclosure, there is used a flagged scheme (see reference [Chao2020] below), whereby the ancilla ^ ^ acts as a flag qubit for ^ ^ and vice-versa. [0039] In embodiments of the present disclosure, there are beneficially used syndrome extraction circuits that have an ^^ … ^^ structure, where ^ and ^ denote different arrangements of ^^^^ gates on the physical qubits. The order of the CNOT gates in these circuits must be respected to preserve the fault-tolerance. The ^ and ^ blocks are illustrated for the ^ + 2 physical qubits as illustrated in FIG.6. Generally, the A block is first applied on the top physical qubit, the [1] physical qubit, and the two ancillas, the B block is then applied k-2 times, and then the A block is applied again on the final, kth physical qubit, the bottom qubit and the two ancillas. The B block is applied to the two ancillas and a pair of adjacent qubits for each pair of adjacent qubits, { 2,3 } , { 3,4 } , … {^ − 1, ^}. [0040] Final measurement: FIG. 7 shows an example of a final fault-tolerant measurement where the final syndrome measurement is combined with measurement of the logical qubits for k logical qubits/k+2 physical qubits. First ^ ^ is measured and then all qubits are destructively measured to evaluate ^ ^ and all logical Z operators in a post-processing step. The destructive measurement of all ^ = ^ + 2 physical code qubits in their ^ basis allows reconstruction of the logical operators ^ ^ ^ as well as the stabiliser ^ ^ . This is beneficially prefixed with a non-destructive extraction of the eigenvalue of ^ ^ , using a flagged circuit described in [Chao2020]. Here ^ ^ encodes the readout of ^ ^ and ^ ^ acts as a flag qubit for that readout. Measurement of either ^ ^ or ^ ^ in the |1 > state, or reconstruction of a ( −1 ) eigenvalue of the ^ ^ stabiliser means the results are discarded as illustrated in FIG.7. (B) Verification of fault-tolerance [0041] As described previously, the circuits that have been identified in (A) are fault- tolerant in the sense that there are no single faults that give rise to an undetectable logical error. Where single faults are defined to be local Pauli errors arising from the failure of a circuit element, specifically there is considered the following set of single faults as illustrated in FIGs. 8, 9 and 10; these diagrams depict State Preparation and Measurement (SPAM) errors, One qubit gate errors and Two qubit gate errors, respectively. [0042] Referring next to FIG.11, in devising embodiments of the present disclosure, there have been tests implemented that have exhaustively verified (up to code sizes ^ = 16) that there are no single faults that give rise to an undetectable logical error. As an example, there has been shown by the inventors that the classification of the effect of all single faults acting on the ^ = 16 code into six classes describing their effect. [0043] Referring to FIG.11, it will be appreciated that local errors are classified based on whether they trigger the detection qubit (left three bars), or do not (right three bars). Within these groups the error can correspond to no error (for example a stabiliser operation), a flipped stabiliser or a logical error. There is shading used to juxtapose the cases based on whether they are ideal behaviour (striped) or non-ideal behaviour that is not a fail or a failure (solid grey). The three circuits are shown to be fault-tolerant because the number of undetected logical errors is zero. Herein is provided a method for testing the performance of method of performing quantum operations with quantum error detection. In particular, the provided method is suitable for testing methods and systems for performing operations with quantum error detection of the invention. To test the methods and systems of the invention, a test unitary may be assigned to be the target unitary. The invention may be performed with the test unitary for k logical qubits and then a corresponding experiment is performed wherein k qubits are initialised in the same state as the k logical qubits and then the same test unitary is applied without using the encoding of the invention. In each experiment, the final state is measured. The experiments are repeated until a survival probability can be calculated. The survival probability is the probability of measuring the expected final state from the target unitary being applied to the initial state. The survival probabilities of the method with encoding, the invention, and the method without encoding, the control, may be compared. The invention and the control may be compared different values of k and they may be compared for different number of syndrome measurements. The test unitary may be implemented by compiling the target gate into a quantum circuit of finite gates in which case the same gate decomposition should be used for the invention and the control. Preferably, the test unitary is equivalent to identity and is decomposed into a mirror circuit in which randomly selected unitaries are performed as part of the quantum circuit and then the inverse of the randomly selected unitary is performed and the expected final state is the same as the initial state. An example of the testing method is provided and data resulting from an implementation of the example testing method is also included. A parameterised mirror circuit drawn from a highly expressive family of random circuits may be used as test unitaries. In FIG.12(a-b), an example of the construction of the random circuits and the correspondence between physical and logical operators is provided. In FIG. 12(a) physical compilation of a mirror circuit on 8 logical qubits with the Iceberg code is shown. The circuit implements a parameterised physical unitary and its inverse. The unitary has a layered structure where in each layer physical qubits [ ^ ] = { 1, … , {^, ^} are randomly paired and a random physical rotation exp (−^^^ ^ ^ ^ /2) is applied on each pair ^, ^ ∈[n] for θ ∈ (0, 2π) and σ ∈ {X, Y, Z}. We illustrate this by showing one layer, where each physical rotation is labelled with its rotation basis. In FIG. 12(b), a corresponding logical mirror circuit to that of FIG.12(a) is shown. Shading is used to indicate the correspondence between each two-qubit physical rotation in (a) and logical rotation ^^^(−^^^ ^ ^^^ /2)with logical operator ^^ ^ ^^ = . Note that the last logical operator ^^^^^ has physical support on only two physical qubits but acts globally on all logical qubits. FIG. 12(c) shows data from an experiment with the survival probability (symbols) and discard rate (bars) plotted vs number of layers. Number of layers includes the layers in the unitary and its inverse. The survival probability is the probability of measuring the initial logical quantum state |0^ on all logical qubits –as expected in the absence of noise. The encoded circuit, where the logical unitary ^ ^ ^ is compiled with the Iceberg code as depicted in FIG.12(a), is compared with the unencoded circuit, where it is compiled into phase gadgets as described in the supplementary information below. Logical circuits with and without global logical gates are differentiated. FIG.13 demonstrates compilations of the rotation ^ ^^^ (^) = exp (−^^^^ ^^^ /2) generated by ^ ^ ^^^ ^ ^ ^ ^ . FIG.13(a) shows the compilation with the Iceberg code, where the by a single two-qubit. ^^ ^^ (^) gate, as well as four single-qubit Hadamard gates. Fig.13(b) shows an example of the compiled ^ ⊗^∈[^]^^ (^) in the unencoded circuit, where the physical circuit for the same rotation utilises a phase gadget. Since the logical generator of the rotation is a global operator, ⊗ ^∈[^] ^^ ^ , a ladder of CNOT gates is used to compute the parity before applying a single gate. Then another CNOT ladder is used to uncompute the parity. Additionally, Hadamard gates on all qubits at the start and end apply a basis change. The number of layers may be varied, for example from 4 to 256, and the survival probability of the unencoded circuits and the circuits encoded with the Iceberg code are compared. That is, the probability of measuring the initial logical state after implementing a logical unitary and its inverse. In the absence of noise the survival probability is 1 and it decreases with the number of errors in the circuit. Two kinds of logical circuits are analysed: those that contain global logical gates and those that do not. This analysis separates the effect of the compression of global gates from the effect of encoding and error detection. The experiments may be run with at least two randomly chosen circuits; one with global rotations and one without. In the Supplementary Information, we give numerical evidence that these are typical instances. With global logical gates, a more favourable scenario is effectively implemented for the Iceberg code. Indeed the compilation of global logical gates with the code is performed by a single two-qubit MS gate, while two staircases of CNOT gates involving all qubits are necessary in the unencoded compilation. These compilations are described in more detail in the Supplementary Information. In FIG. 12(c), left panel, we see that the Iceberg code significantly improves the survival probability of circuits with global rotations. Without global rotations the unencoded circuit is much simpler than the encoded circuit and does not have the overhead of the initialisation, syndrome measurement and measurement circuitry. For example, at 128 layers the unencoded circuit has depth 331 including 372 two qubit gates, while the encoded circuit has depth 549 with 657 two-qubit gates –when compiled into native hardware gates. In Fig.12(c), right panel, we see that the Iceberg code gives a satisfactory survival probability even for circuits without global rotations. It is important to emphasise that this is a worst case scenario for the Iceberg code, yet we observe good results thanks to the encoding and error detection. Without global rotations the unencoded circuit is much simpler than the encoded circuit and does not have the overhead of the initialisation, syndrome measurement and measurement circuitry. For example, at 128 layers the unencoded circuit has depth 331 including 372 two- qubit gates, while the encoded circuit has depth 549 with 657 two-qubit gates –when compiled into native hardware gates. In Fig.2(c), right panel, we see that the Iceberg code gives a satisfactory survival probability even for circuits without global rotations. It is important to emphasise that this is a worst case scenario for the Iceberg code, yet we observe good results thanks to the encoding and error detection. Numerical simulations may be carried out to investigate the effect of adding layers and logical qubits on performance. Example data from numerical simulations of the performance of random mirror circuits for more logical qubits is shown in FIG.14 for 8 logical qubits encoded into the 12-qubit Quantinuum H1-2 trapped-ion quantum computer. We simulate 32 instances of the random circuits described in Fig. 2, including global rotations. a Median survival probability is plotted against number of layers for (filled symbols) encoded circuits and (hollow symbols) unencoded circuits for different numbers of logical qubits. b Median discard rates for the encoded circuits in each case. Mid-circuit rounds of syndrome measurement are applied every 16 layers. Error bars in (a) and (b) show the 99% confidence interval on the median, obtained from bootstrap resampling. For the numerical simulations, it is preferably to include global rotations in the universal gate set. A simplified error model may be used based on the specifics of the model on which it is implemented. For example, example data as shown in FIG.14 was found using a simplified error model based on the specifics of Quantinuum H1-2 [12]. Full details are given in the Supplementary Information. FIG.14(a) shows that for a fixed survival probability the encoded circuit (filled symbols) can have approximately four times more layers than the unencoded circuit (hollow symbols). For small number of layers, adding qubits leads to a larger performance gap between encoded and unencoded circuits. The price to pay for using the Iceberg code is given by the discard rate. FIG. 14(b) shows an increase in discard rate as we add qubits and layers. This can be compensated by increasing the number of circuit repetitions. In summary this analysis shows the usefulness of the Iceberg code for a large family of highly non-trivial circuits, and for the current generation of trapped-ion quantum computers. Herein an alternative method is provided for testing the performance of method of performing quantum operations with quantum error detection. In particular, the provided method is suitable for testing methods and systems for performing operations with quantum error detection of the invention. The method comprises a sample efficient, randomised sampling scheme to verify that non-classical processing is happening inside a noisy quantum computer. A test of non-classical processing may be applied for a varied number of syndrome measurements and logical qubits. An example and data demonstrating the application of the test to an example of the invention are provided using the Quantum Volume (QV) test. The QV test is a commonly used holistic bench-mark of a quantum processor. It utilises random circuits with an equal number of qubits and layers. Each layer randomly pairs the qubits and applies a general SU(4) gate on each pair. Each circuit is measured in its computational basis and a statistic called heavy output frequency (HOF) is computed from the results. The test is passed if the lower uncertainty bound of the average HOF is greater than 2/3, when averaged over many random circuits. The bounds on HOF may be computed using a bootstrapped approach [32]. FIG.15 shows an example of the QV test for demonstrating a logical QV of 2 8 and showing the positive effective of increasing the number of syndrome measurements when using the Iceberg code. In FIG.15(a), the 8-qubit logical circuit for the quantum volume test is encoded into 10 physical qubits plus two ancillas (a1 and a2). The circuit includes the initialisation of all logical qubits in the |0^ state, a varying number of mid-circuit syndrome measurements, a final partial syndrome measurement, and the measurement of all qubits. The case of 2x mid- circuit syndrome measurements is sketched. In FIG.15(b), average heavy output frequency is plotted against discard rate. The passing threshold 2/3 is indicated with a dashed black horizontal line. Vertical errors bars show the bounds on the mean estimate of heavy output frequency. On the horizontal axes we plot the mean discard rate with error bars showing the sample standard deviation. We run 2x syndrome measurements, indicated with a star, for the full 100 circuits required to pass the QV test. For the other QV tests we run 45 circuits instead. In FIG. 15(c), experimental results for the individual circuits are shown for 2x syndrome measurements. On the left axes (drawn in red) we plot the heavy output frequency of each circuit after discard, as well as the cumulative mean (increasing upwards) and its bounds. The passing threshold 2/3 is indicated with a dashed line and right axis (plotted as blue bars) shows the discard rate. The QV circuits may be generated using Qiskit and then compiled into the universal gate set of the Iceberg code. Figure [4] shows an example of circuits that may be run for k = 8. Circuits may be broken to insert a varying number of intermediate syndrome measurements. For 0x, 1x and 3x rounds of syndrome measurement we run an abridged QV test that stops at 45 circuits, where the mean HOF seem to have stabilised. The 2x case is continued to the full 100 circuits to demonstrate the passing of the QV test. The HOF for the individual circuits, as well as its cumulative mean and bootstrapped bounds are plotted for the 2x case in Fig.15(c). As shown in Fig. 15(b) adding syndrome measurements increases the HOF and consequently increases the confidence in passing the QV test. This improvement comes at the cost of an increased discard rate. [0044] Referring next to FIG.16, there are illustrated steps 400 to 470 of a method for implementing error detection in the quantum computing system 100 using the codes as described in the foregoing. The method includes configuring the quantum computing system 100 to provide quantum computing error detection. The quantum computing system 100 includes the quantum computing arrangement 120 coupled to a classical computing arrangement 110, wherein the classical computing arrangement 110 is configured to receive input data thereat and also to send output data therefrom. In the step 400 of the method, the step 400 includes configuring the classical computing arrangement 110 to process at least one computational task included in the input data by generating a corresponding Ansatz 130 defining initial values of k-qubits, and configuring a quantum circuit 140 in the quantum computing arrangement 120 that, when executed, acts on the k-qubits; In the step 410 of the method, the step 410 includes configuring the quantum computing arrangement 100 to execute the quantum circuit 140 commencing from the Ansatz 130 to generate computed results for the k-qubits that are measured by the quantum computing arrangement to generate k-measured qubit values. In the step 420 of the method, the step 420 includes configuring the quantum computing arrangement 120 to communicate the k-measured qubit values to the classical computing arrangement 110 for use in further computations in the quantum computing system and/or for inclusion in the output data. When implemented error detection, the following additional steps are implemented: In the step 430 of the method, the step 430 includes configuring the quantum computing arrangement to complement the k-qubits by e-ancilla qubits in the quantum circuit and Ansatz. In the step 440 of the method, the step 440 includes configuring the quantum computing arrangement to include additional gates in the quantum circuit to couple via a quantum error detection function intermediate states of the k-qubits during execution of the quantum circuit to the e-ancilla qubits. In the step 450 of the method, the step 450 includes configuring the quantum computing arrangement to measure the e-ancilla qubits at completion of execution of the quantum circuit to generate measured e-ancilla qubit values. In the step 460 of the method, the step 460 includes configuring the quantum computing system to process the measured e-ancilla qubit values to determine whether an error has occurred during execution of the quantum circuit; and In the step 470 of the method, the step 470 includes configuring the quantum computing system to discard the k-measured qubit values and repeat computation of the Ansatz and quantum circuit in an event that the quantum circuit has been executed with an error that is above the quantum computing error threshold. [0045] Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as “including”, “comprising”, “incorporating”, “consisting of’, “have”, “is” used to describe and claim the present invention are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural; as an example, “at least one of’ indicates “one of’ in an example, and “a plurality of’ in another example; moreover, “one or more’’ is to be construed in a likewise manner. [0046] The phrases “in an embodiment”, “according to an embodiment” and the like generally mean the particular feature, structure, or characteristic following the phrase is included in at least one embodiment of the present disclosure, and may be included in more than one embodiment of the present disclosure. Importantly, such phrases do not necessarily refer to the same embodiment. [0047] The term “computer” or “computing-based device” is used herein to refer to any device with processing capability such that it executes instructions. Those skilled in the art will realize that such processing capabilities are incorporated into many different devices and therefore the terms “computer” and “computing-based device” each include personal computers (PCs), servers, mobile telephones (including smart phones), tablet computers, set- top boxes, media players, games consoles, personal digital assistants, wearable computers, and many other devices. [0048] The methods described herein are performed, in some examples, by software in machine readable form on a tangible, non-transitory storage medium, e.g., in the form of a computer program comprising computer program code adapted to perform the operations of one or more of the methods described herein when the program is run on a computer and where the computer program may be embodied on a non-transitory computer readable medium. The software is suitable for execution on a parallel processor or a serial processor such that the method operations may be carried out in any suitable order, or simultaneously. [0049] This acknowledges that software is a valuable, separately tradable commodity. It is intended to encompass software, which runs on or controls “dumb” or standard hardware, to carry out the desired functions. It is also intended to encompass software which “describes” or defines the configuration of hardware, such as HDL (hardware description language) software, as is used for designing silicon chips, or for configuring universal programmable chips, to carry out desired functions. [0050] Those skilled in the art will realize that storage devices utilized to store program instructions are optionally distributed across a network. For example, a remote computer is able to store an example of the process described as software. A local or terminal computer is able to access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a digital signal processor (DSP), programmable logic array, or the like. [0052] Any range or device value given herein may be extended or altered without losing the effect sought, as will be apparent to the skilled person. [0053] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. [0054 It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. No single feature or group of features is necessary or indispensable to every embodiment. [0055] Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements, and/or steps are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, blocks, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. In addition, the articles “a,” “an,” and “the” as used in this application and the appended claims are to be construed to mean “one or more” or “at least one” unless specified otherwise. [0056] As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: A, B, or C” is intended to cover: A; B; C; A and B; A and C; B and C; and A, B, and C. Conjunctive language such as the phrase “at least one of X, Y, and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be at least one of X, Y, or Z. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y, and at least one of Z to each be present. [0057] The operations of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from, combined with other blocks, or rearranged in any of the methods without departing from the scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought. [0058] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples, and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the scope of this specification. Supplementary information Mirror Circuit Experiments Our mirror circuit experiments use 8 logical qubits encoded into 10 physical qubits. Experiments were executed on the Quantinuum H1-2 trapped-ion quantum computer between the 13th September and 4th October 2022. In the following we discuss the experiments in more detail. First, we give a full discussion of the construction of the random mirror circuits, followed by additional practical details of the experiment. Next we give an in-depth account of the numerical simulations presented in the main text including the simplified noise model employed and the simulation method. Finally, we present numerical evidence that the random circuits used in our experiments are typical of the random circuit families we construct. Random circuit construction As described above, random unitaries are constructed starting from the encoded physical circuit. The unitaries are built in layers. Within each layer physical qubits are paired (^, ^) for ^ ^ ≠ ∈ [^] to give ^ + 1 pairings. For each pairing we uniformly choose ^ ∈ {^, ^, ^}, uniformly sample an angle ^ ∈ (0, 2^), and apply a two-qubit rotation to the pair, of the form: Logical gates are all physically compiled using a ^ ^^ = gate along with up to four single-qubit Clifford gates. An example of the physical compilation of ^ ^^^ (^) is shown in Fig.13(a). Once the physical random unitary is constructed we map it to the corresponding logical unitary. All physical operators ^ ^ ^^^ = ^ ^ ^ ^ represent a logical Pauli operator, the full set of relations is given in Eqs. (a)-(l). Logical operators can be single- and two-qubit rotations or rotations with generators that act on k or k−1 qubits. Single-qubit rotations are compiled directly. Two-qubit rotations are compiled using the two-qubit rotation ^^ ^^ ( ^ ) along with up to four single-qubit Clifford gates. Global rotations on k or k − 1 qubits are compiled with a phase gadget whose kernel is a ^^ ^^ (^) gate. Figure 13(b) shows an example of the compiled ^ ⊗^∈ ^^ (^) in the unencoded circuit. Additional experimental details Circuits are initially constructed in the gateset: {^, ^, ^ ^ , ^^^^, ^^ ( ^ ) }, using the construction of the initialisation, syndrome measurement and final measurement circuits given in Fig.1 as well as the construction of the random circuits described previously. These circuits are then compiled into the native gateset of the Quantinuum hardware [25] using the TKET compiler [44]. We consider from 4 random layers up to a maximum of 256. When reporting the number of layers we count the layers in both the unitary and its inverse, in order to count the total number of layers between initialisation and final measurement. In our experiments on circuits encoded with the Iceberg code we insert one round of syndrome measurement between the unitary and its inverse for 32, 64, 128 & 256 layers, while we perform no intermediate syndrome measurements for 4, 8 & 16 layers. Circuits are run for different numbers of repeats, here we report the total number of repeats (measurment shots) run in each case. For unencoded circuits with global rotations all cases have 300 shots; without global rotations 4, 8 & 16 layers run with 300 shots, 32 layers with 400, 64 layers with 600, 128 layers with 800 and 256 layers with 500. For the encoded circuits both with and without global rotations use the same shot numbers: 4, 8, 16 & 32 layers run with 200 shots, 64 layers with 400, 128 layers with 800 and 256 layers with 500. Numerical simulations The numerical simulations in the main text cover k = 10, 12, 14, 16 logical qubits. For each k, we consider increasingly deep circuits, from l = 4 layers up to a maximum of 128. At each l, we generate 32 random mirror circuits allowing global logical rotations. Syndrome measurement rounds are inserted after every 16 layers. The noisy output of these circuits is simulated using a Monte-Carlo statevector approach described below. For each circuit we draw 32 statevector samples from the error model. We simulate both the unencoded and encoded version of each random circuit and compute the survival probabilities exactly for each statevector. Averaging the survival probabilities over these 32 statevector samples gives the estimated survival probability of the random circuit. We simulate a simplified noise model that includes state preparation and measurement (SPAM) errors, as well as depolarising errors acting after gates. SPAM errors are represented with a bit-flip channel applied after qubit initialisation and before measurements, ℰ ^^^^^^^ (^) = (1 − ^ ^ )^ + ^ ^ ^^^ . After each single (1q) and two-qubit (2q) gate we apply a depolarising error channel to the qubits acted on by the gate. The operator-sum expressions for these depolarising channels are ℰ + where ^ is the identity and X, Y, Z are the Pauli matrices. Based on randomised benchmarking of the Quantinuum H1-2 hardware we use the following values for the parameters of the error channels: initialisation errors have a bitflip error rate ^ ^ = 4 × 10 ^^ , measurement errors have a bitflip error rate ^ ^ = 3 × 10 ^^ , single qubit gate errors have a depolarising rate ^ ^^ = 4 × 10 ^^ and two qubit gate errors have a depolarising rate ^ ^^ = 3 × 10 ^^ . Our noisy simulations are Monte-Carlo statevector simulations. For each noise channel we randomly select one of the Kraus operators of the channel with the correct probabilities. The noise channel is replaced with this randomly chosen Kraus operator. Once this is done for all error channels this turns the noisy quantum evolution back into a unitary operator that can be studied with a statevector simulator. By repeatedly sampling different Kraus operators of the noise channels we can approximate the full noisy evolution. This makes larger system sizes accessible by avoiding working with the, exponentially larger, density matrices. In our quantum error detection circuits we carry out mid-circuit measurements and post- selection. These are implemented in our state-vector simulations with projectors in the computational basis. This allows us to compute both the probability of discard at that mid- circuit measurement and the normalised post-selected state vector (assuming the probability of discard is less than one). The numerical results presented in the main text were obtained using a Qiskit [33] state vector simulator. The circuits are prepared in the gateset: following the construction of the initialisation, syndrome measurement and final measurement circuits given in Figs.5-7 along with the random circuits described previously. We consider the noise model acting on the circuits in this gateset. In both the unencoded and encoded cases the survival probability is computed exactly from each statevector. In the unencoded case, this is simply the probability amplitude of the all-zeros computational basis state. In the encoded case, we must first extract the full probability distribution of outcomes in the computational basis, we then decode each computational basis state and add up the contributions to the logical all-zeros state. FIG. 17 shows the distribution of the survival probabilities at each circuit depth for 100 random instances (left) including global rotations and (right) without global rotations, using box plots. Star icons indicate the performance of the random instances that was used in experiments in the main text. Results were obtained from noisy simulations using a simplified noise model. Typicality of the instances used in experiments In our experimental results we consider single instances of the random circuit families we describe. For a fixed number of layers, we generate one random circuit for the ‘with global rotations’ case and another random circuit for the ‘without global rotations’ version. The circuits generated at different numbers of layers are independent of each other. Here we give numerical evidence that these instances are typical instances of the random circuit families. At each depth we generate 100 instances of the two random circuit families and Fig.17 plots the distribution of the survival probabilities we observe as a box plot. Outliers are identified as points that lie more than 1.5 times the interquartile range above(below) the upper(lower) quartile. Each instance is numerically simulated using the simplified error model and statevector simulation method described previously under “Numerical Simulations”. For each circuit we average over 100 statevector samples from the error model. The random instances that were used in experiments are indicated in Fig.17 with star icons. These cases correspond to fixed seeds for random generators. We see that none of these instances correspond to outliers and they are spread above and below the median. Logica l Quantum Volume Exper iments We have carried out a logical Quantum Volume (QV) test of 8 qubits encoded in 10 physical qubits using the Iceberg code running on Quantinuum’s H1-2 trapped-ion quantum computer. The data presented in the main text was obtained between the 27th July and the 8th October 2022. Here we give more details of these experiments – beginning with a short review of the QV test, followed by a discussion of the preparation of the logical circuits including the optimisations we apply. Next we discuss the encoding of the QV circuits into the Iceberg code. Finally, we give further practical details of the experiment and present additional experimental results. Fig.18(a) shows a schematic example of a Quantum Volume (QV) circuit for N = 8 qubits. The circuit consists of N layers, within each layer the qubits are randomly paired and the pairs are acted on by a random SU(4). Fig.18(b) shows compression of SU(4) blocks in QV circuits. We show a schematic of the first two layers of a six qubit QV test, where A and B are random SU(4) unitaries. Qubits 4 and 6 were randomly paired in both layers meaning A and B act on the same qubits. They can be combined into a single SU (4) unitary. This will generally result in a shorter circuit depth than applying A and B separately. QV test summary The QV test is a sample efficient, randomised sampling scheme to verify that non-classical processing is happening inside a noisy quantum computer [31, 32]. The test applies random square circuits of the form shown in Fig.18(a) to k qubits. These circuit have k layers, within each layer the qubits are randomly paired and a random SU(4) unitary is applied to that pair. Finally, all of the qubits are measured in the computational basis. Each random circuit is simulated noiselessly to obtain the ideal output distribution and from the ideal distribution we determine the set of heavy outputs. These are computational basis states that occur with higher probability than the median. The circuit is executed on a noisy quantum processor with a small number of shots (e.g. 100). The heavy output frequency of the noisy output is computed by counting up the number of shots that measure a computational basis state from the set of heavy outputs. Heavy output frequency is averaged over the random circuits and the QV test is passed if the average is > 2/3. If a device passes a QV test of k qubits, it has quantum volume 2 k . Average heavy output frequency is not a fidelity measure, for noiseless circuits it is ≈ 85% and for completely depolarised states it is 50%. Preparation of the logical QV circuits We use quantum volume circuits generated from Qiskit [33] and implement the ‘medium’ optimisation method described in Ref. [32]. Using this method SU(4) blocks are combined together when allowed. An example of when this would occur is shown in Fig.18(b). Following these optimisations, the SU(4) blocks are decomposed into single-qubit rotations – ^ ^^ (^) and ^ ^^ (^) – and two-qubit logical rotations – ^ ^^^ ^ (^), ^ ^^^ ^ (^) , ^ ^^^ ^ (^) . This is done using the TKET compiler [43,44]. At this stage we further optimise by squashing together single-qubit logical rotations as much as possible. For example, a sequence of gates ^ ^^ (^)^ ^^ (^)^ ^^ (^)^ ^^ (^)^ ^^ (^)^ ^^ (^) can be replaced with a shorter sequence ^ ^^ (^)^ ^^ (^)^ ^^ (^) that applies the same logical rotation. Additionally, we can remove Pauli- Z rotations that act immediately after initialisation and immediately before measurement. FIG. 19 shows additional experimental results showing the heavy output frequency of individual Quantum Volume (QV) circuits for 0x, 1x, 2x and 3x syndrome measurements. In each panel, the left axes (drawn in red) plots the heavy output frequency of each circuit after discarding, as well as the cumulative mean and its bootstrapped bounds. The passing threshold 2/3 is indicated with a dashed line, as well as 0 and 1 being highlighted with dotted lines. The right axes (plotted as blue bars) shows the number of shots retained after discarding. Experiments with 0x syndrome measurements used 75 shots, with 1x syndrome measurement used 100 shots, and with 2x and 3x syndrome measurements used 150 measurement shots. Encoding the QV circuits Once expressed using single and two-qubit logical rotations the QV circuit can be directly translated into its physical form, using Eqs. (a)-(l). This logical circuit is then combined with initialisation and measurement instruction sets. We note that due to the structure of the Iceberg code, where all single-qubit logical X rotations involve the physical qubit t and all single-qubit logical Z rotations involve the physical b, the compiled physical circuit does no longer present the parallel form of the logical QV circuit. Syndrome measurements are inserted between equally sized chunks of the QV instruction set. When doing this we do not respect the layered structure of the QV circuit, meaning the syndrome measurement circuits may be inserted inside a QV layer. However, we must be careful not to break up logical operations, e.g. to insert a syndrome measurement between the Hadamards and ^^ ^^ (^)gate The final executable circuits for the k = 8 logical QV test act on 12 physical qubits and have circuit depths of ∼ 700 up to over 1000 depending on the number of syndrome measurements, including up to ∼ 350 two-qubit gates. Additional experimental details and results Circuits are initially constructed in the gateset: {^, ^, ^ ^ , ^^^^, ^^(^)}, following the construction of the initialisation, syndrome measurement and final measurement circuits given in Fig. 1 as well as the construction of the encoded QV circuits described previously. These circuits are then compiled into the native gateset of the Quantinuum hardware [25] using the TKET compiler [44]. Our experiments were run with 0x, 1x, 2x, 3x syndrome measurements. For 0x rounds of syndrome measurement we carry out 75 repeats of the experiment (measurement shots), for 1x we use 100 shots and for 2x and 3x we perform 150 shots. We vary the number of shots with the goal of retaining 10-20 shots of each circuit after discards, while the discard rate varies with the number of syndrome measurements. All circuits run to the end, with the outcome of mid-circuit error detection measurements being saved to classical syndrome registers. When the measurement results have been collected we discard results where an error was detected. The results that are not discarded are post-processed to reconstruct the values of the logical as well as ^ ^ . If ^ ^ detects an error we discard the result. The remaining decoded are processed to compute the heavy output frequency. The heavy output frequencies for each individual QV circuit with 0x, 1x, 2x and 3x syndrome measurements are shown in Fig. 19, as well as the discard rates. The reported cumulative averages are calculated using Qiskit [33]. The bounds shown are calculated using the bootstrapped approach described in Ref. [32]. Example: Encoding and compiling a QPE circuit with [6, 4, 2] code The inven^on has been used in a demonstra^on of quantum phase es^ma^on (QPE) with quantum error detec^on, on a Quan^nuum System H1 ion-trapping quantum computer. A Bayesian approach to QPE was combined with a [k+2, k, 2] quantum error detec^on code to provide encoding and compiling of a QPE circuit. This offers protec^on with limited quantum resources, by discarding erroneous execu^ons of quantum circuits. For instance, the [k + 2, k, 2] code for even k is a stabilizer code whose code space is stabilized by X ⊗k+2 and Z ⊗k+2 (dubbed Iceberg code in [45]). In this work, we employ the code with k = 4, i.e. [6, 4, 2] code, to encode four logical qubits. The logical qubits and two redundant physical qubits, denoted by L := {1, 2, 3, 4} and A := {a X , a Z }, form the six-qubit code on T := L ∪ A. More concretely, the three-qubit QPE circuit, with one dummy qubit appended, is encoded into six physical qubits. Note that the nota^on a X (a Z ) is equivalent to top t (bo^om b) represen^ng the qubit for encoding. We introduce two addi^onal ancillary qubits to carry out fault-tolerant state prepara^on, syndrome extrac^ons, andfinal measurement, leading to eight qubits used in total. We , and their simultaneous eigenstates associated with the eigenvalue +1 define the four-qubit logical space. Reading out −1 upon measuring {SX, SZ} signals the errors that do not commute with the stabilizer operators, and thus such circuit execu^ons are discarded. The undetectable errors by stabilizer (syndrome) measurements lead to logical errors disturbing the encoded system. The encoded quantum states are manipulated by logical Pauli operators which commute with the stabilizers and obey All the logical opera^ons are compiled to the universal logical gate set, which, in the form of physical gates, is given by [45] where we have defined a Pauli exponen^al operator R P (θ) := e −iθP/2 for a rota^on angle θ and a Pauli operator P. The structure of the encoded QPE circuit is shown below, with a descrip^on of explicit compila^on of each component. The encoded circuit starts with encoding the ini^al state. The two extra ancillary qubits are dedicated to performing the fault-tolerant ini^aliza^on. We split the logical opera^on (ctrl-u) s into ⌊s / f⌋ blocks, where ^ ∈ ℕ and ^ ∈ ℕ denote the number of repe^^ons and the frequency of the syndrome measurements, respec^vely. Applica^on of each block is followed by a syndrome measurement to inspect whether the encoded state is stabilized by {S X , S Z }. As soon as one syndrome measurement is read off as −1, the circuit execu^on is aborted. Furthermore, we insert a stabilizer S X in the middle of each block, which acts on the code space as the iden^ty. However, it suppresses the coherent physical errors in the form of a single-qubit Z rota^on accumula^ng in ^me. A^er all the logical unitary opera^ons are performed, we make afinal measurement to ensure that both stabilizers are measured to 1 and read off logical Pauli expecta^on values. Some features of the code are adapted to exploit the capability of Quan^nuum’s H1-1 trapped-ion computer [45]. The state prepara^on, syndrome measurements, and projec^ve measurement are performed in a fault-tolerant manner. While non-fault-tolerantly implemented, a logical operator ^ ^^^^ (^) is, up to single-qubit Clifford gates, compiled to a single Mølmer-Sørensen MS gate, ^ ^^^^ ( ^ ) which is na^vely implemented on the trapped-ion computer with the gate infidelity ∼ 2 × 10 −3 . As such, Quan^nuum’s high-fidelity MS gate opera^ons combined with the all-to-all connec^vity is expected to lead to logical circuit execu^ons with a low logical error rate. Lastly, the Quan^nuum device is equipped with condi^onal exit, a func^onality to immediately abort the circuit execu^on condi^oned on classical registers. Thanks to this feature, one can save run^me by discarding calcula^ons as soon as a syndrome measurement detects errors without running the remaining calcula^ons in vain. In the example of a Bayesian approach to QPE, measurement outcomes are generated from the unencoded QPE circuit shown in FIG.20. Note the fourth qubit is absent in the experiments with unencoded circuits, but it is added so that the circuit is encoded with [k + 2, k, 2] code, where k has to be even. The reason why it is ini^alized to |+^ is explained below with reference to FIG.25. The control unitary opera^ons are given in FIG.21 and FIG.22. In the second equality of each equa^on, we note that a controlled Pauli exponen^al operator ctrl-R P (θ) can be decomposed into a product of Pauli exponen^al operators using the following iden^ty, Also, we introduced the shorthand nota^on of a ctrl-RP(θ) gate that shows only the Pauli operator P on the exponent with the angle θ suppressed. Note that R Z (β) in FIG. 20 can be absorbed into the ctrl-v in FIG.22. We discuss each component of the encoded circuit in FIG.20and how they are compiled to the universal gates. The encoded circuit is expressed in FIG.23 Fault-tolerant protocols are known for state prepara^on, syndrome measurements, andfinal measurement in [k+2, k, 2] QED code. Here, we briefly comment on each primi^ve by referring to the preceding literature for further details. • The Hartree-Fock state |+00+^ (exact ground state ^ −^^^2^3/2 with α = −0.07113) is fault tolerantly encoded following Appendix D of [46]. It uses 9 two-qubit (RZZ) gates and 2 ancillary qubits to detect faults. • The fault-tolerant syndrome measurements of SX and SZ are performed in the form proposed in [45], which uses 12 two-qubit gates and 2 ancillary qubits. • Thefinal measurement is based on the implementa^on in [46]. The primi^ve consists of syndrome measurement of S Z stabilizer and destruc^ve X measurements on all the physical qubits. If no errors are detected, the measurement outcomes are post-processed to extract the observable. There are 8 two-qubit gates and 2 ancillary qubits in the measurement circuit. Converting ctrl-v in FIG.22 to ctrl-v and compile it to logical gates is straightforward. We focus on how to compile ctrl-u. For FIG.24, we first pull out I ⊗ S ⊗ S ⊗ I and I ⊗ S ⊗ S ⊗ I in FIG. 21 to convert Y operators into X operators which simplifies the compilation. The operators I ⊗S ⊗S ⊗I and I ⊗S ⊗S ⊗I can be absorbed either in the initial state or the final state without affecting the measurement outcome. For FIG.25, we use to form of FIG.24 where the stabilizer condition S X = S Z = 1 is used to reduce the weight of Pauli operators. Furthermore, we exploit the fourth logical qubit initialize to |+^, which implies X 4 = 1. Then, we find which is ^ ^ ^ ^^ in the subspace such that SX = SZ = X4 = 1 holds. Thus, we have compiled all the logical operators to two-qubit Pauli exponential operators to obtain FIG.25, which are readily implemented by the native two-qubit gate, RZZ(θ) and single-qubit gates. Each ctrl-u in FIG. 25uses 6 two-qubit gates. This provides a compilation method for an odd number of logical qubits and is enabled by including a redundant qubit d and exploiting the state of the qubit d for circuit optimisation, as shown below. Using the same terminology as earlier in this patent specification, the error detection function includes one or more products of pairs of the k-qubits: (a) ^ ^ ^ = ^ ^ ^ ^ for ^ = 1, … , ^ (b) ^ ^ ^ ^ ^ ^ ^ = ^ ^ ^ ^^ for ^ ≠ ^ ^ where ^, ^ ^ ∈ {1, … , ^} (f) (i) (j) (l)

BIBLIOGRAPHY OF LITERATURE RELATING TO QUANTUM COMPUTING [Chao2020] R. Chao, and B.W. Reichardt, 2020. Flag fault-tolerant error correction for any stabilizer code. PRX Quantum, 1(1), p.010302. [1] Gottesman, D. An introduction to quantum error correction and fault-tolerant quantum computation (2009). URL https://arxiv.org/abs/0904.2557. [2] Lidar, D. A. & Brun, T. A. Quantum Error Correction (Cambridge University Press, 2013). [3] Orzel, C. Quantum Simulation.2399-2891 (IOP Publishing, 2017). URL https://dx.doi.org/10.1088/ 978-0-7503-1516-6. [4] Harrow, A. W., Hassidim, A. & Lloyd, S. Quantum algorithm for linear systems of equations. Phys. Rev. Lett. 103, 150502 (2009). URL https://link.aps.org/doi/ 10.1103/PhysRevLett.103.150502. [5] Shor, P. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings 35th Annual Symposium on Foundations of Computer Science, 124– 134 (1994). [6] Gidney, C. & Eker˚a, M. How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits. Quantum 5, 433 (2021). URL https://doi.org/10.22331/ q-2021-04-15-433. [7] Allcock, J. et al. The prospects of monte carlo antibody loop modelling on a fault-tolerant quantum computer. Frontiers in Drug Discovery 2 (2022). URL https://www.frontiersin.org/articles/ 10.3389/fddsv.2022.908870. [8] Chen, Z. et al. Exponential suppression of bit or phase errors with cyclic error correction. Nature 595, 383–387 (2021). URL https://doi.org/10.1038% 2Fs41586-021-03588-y. [9] Ryan-Anderson, C. et al. Realization of real-time faulttolerant quantum error correction. Phys. Rev. X 11, 041058 (2021). URL https://link.aps.org/doi/10. 1103/PhysRevX.11.041058. [10] Acharya, R. & et al. Suppressing quantum errors by scaling a surface code logical qubit (2022). URL https: //arxiv.org/abs/2207.06431. [11] Postler, L. et al. Demonstration of fault-tolerant universal quantum gate operations. Nature 605, 675–680 (2022). URL https://doi.org/10.1038% 2Fs41586-022-04721-1. [12] Ryan-Anderson, C. et al. Implementing fault-tolerant entangling gates on the five-qubit code and the color code (2022). URL https://arxiv.org/abs/2208.01863. [13] Suzuki, Y., Endo, S., Fujii, K. & Tokunaga, Y. Quantum error mitigation as a universal error reduction technique: Applications from the nisq to the faulttolerant quantum computing eras. PRX Quantum 3, 010345 (2022). URL https://link.aps.org/doi/10. 1103/PRXQuantum.3.010345. [14] Cirac, J. I. & Zoller, P. Goals and opportunities in quantum simulation. Nature physics 8, 264–266 (2012). URL https://doi.org/10.1038/nphys2275. [15] Harrow, A. W. & Montanaro, A. Quantum computational supremacy. Nature 549, 203–209 (2017). URL https://doi.org/10.1038%2Fnature23458. [16] Lund, A. P., Bremner, M. J. & Ralph, T. C. Quantum sampling problems, BosonSampling and quantum supremacy. npj Quantum Information 3 (2017). URL https://doi.org/10.1038%2Fs41534-017-0018-2. [17] Knill, E. Fault-tolerant postselected quantum computation: Schemes (2004). URL https://arxiv.org/abs/ quant-ph/0402171. [18] Knill, E. Fault-tolerant postselected quantum computation: Threshold analysis (2004). URL https://arxiv. org/abs/quant-ph/0404104. [19] Urbanek, M., Nachman, B. & de Jong, W. A. Error detection on quantum computers improving the accuracy of chemical calculations. Phys. Rev. A 102, 022427 (2020). URL https://link.aps.org/doi/10. 1103/PhysRevA.102.022427. [20] Schindler, P. et al. A quantum information processor with trapped ions. New Journal of Physics 15, 123012 (2013). URL https://doi.org/10.1088/1367-2630/15/ 12/123012. [21] Bruzewicz, C. D., Chiaverini, J., McConnell, R. & Sage, J. M. Trapped-ion quantum computing: Progress and challenges. Applied Physics Reviews 6, 021314 (2019). URL https://doi.org/10.1063/1.5088164. [22] Grassl, M., Beth, T. & R¨otteler, M. On optimal quantum codes. International Journal of Quantum Information 02, 55–64 (2004). URL https://doi.org/10.1142/ S0219749904000079. [23] Molmer, K. & Sorensen, A. Multiparticle entanglement of hot trapped ions. Phys. Rev. Lett.82, 1835– 1838 (1999). URL https://link.aps.org/doi/10. 1103/PhysRevLett.82.1835. [24] Quantinuum H1-2. https://www.quantinuum.com/ July 27–Oct 82022. [25] Pino, J. M. et al. Demonstration of the trapped-ion quantum ccd computer architecture. Nature 592, 209–213 (2021). [26] Linke, N. M. et al. Fault-tolerant quantum error detection. Science Advances 3, e1701074 (2017). URL https://www.science.org/doi/abs/10. 1126/sciadv.1701074. [27] Hines, J. et al. Demonstrating scalable randomized benchmarking of universal gate sets (2022). URL https: //arxiv.org/abs/2207.07272. [28] Proctor, T. et al. Scalable randomized benchmarking of quantum computers using mirror circuits (2021). URL https://arxiv.org/abs/2112.09853. [29] Chao, R. & Reichardt, B. W. Quantum error correction with only two extra qubits. Phys. Rev. Lett.121, 050502 (2018). URL https://link.aps.org/doi/10. 1103/PhysRevLett.121.050502. [30] Proctor, T., Rudinger, K., Young, K., Nielsen, E. & Blume-Kohout, R. Measuring the capabilities of quantum computers. Nature Physics 18, 75–79 (2022). [31] Cross, A. W., Bishop, L. S., Sheldon, S., Nation, P. D. & Gambetta, J. M. Validating quantum computers using randomized model circuits. Phys. Rev. A 100, 032328 (2019). URL https://link.aps.org/doi/10. 1103/PhysRevA.100.032328. [32] Baldwin, C. H., Mayer, K., Brown, N. C., Ryan- Anderson, C. & Hayes, D. Re-examining the quantum volume test: Ideal distributions, compiler optimizations, confidence intervals, and scalable resource estimations. Quantum 6, 707 (2022). URL https://doi.org/10. 22331/q-2022-05-09-707. [33] Qiskit Python Package (v0.37.0) https://pypi.org/ project/qiskit/ (2022). [34] Itoko, T. & Imamichi, T. Scheduling of operations in quantum compiler (2020). URL https://arxiv.org/ abs/2011.04936. [35] Gokhale, P. et al. Quantum fan-out: Circuit optimizations and technology modeling (2020). URL https: //arxiv.org/abs/2007.04246. [36] Lao, L. & Browne, D. E.2qan: A quantum compiler for 2-local qubit hamiltonian simulation algorithms (2021). URL https://arxiv.org/abs/2108.02099. [37] Nannicini, G., Bishop, L. S., Gunluk, O. & Jurcevic, P. Optimal qubit assignment and routing via integer programming (2021). URL https://arxiv.org/abs/2106. 06446. [38] Stricker, R. et al. Experimental deterministic correction of qubit loss. Nature 585, 207–210 (2020). [39] Farhi, E., Goldstone, J. & Gutmann, S. A quantum approximate optimization algorithm (2014). URL https: //arxiv.org/abs/1411.4028. [40] Amaro, D. et al. Filtering variational quantum algorithms for combinatorial optimization. Quantum Science and Technology 7, 015021 (2022). URL https: //doi.org/10.1088/2058-9565/ac3e54. [41] Benedetti, M., Lloyd, E., Sack, S. & Fiorentini, M. Parameterized quantum circuits as machine learning models. Quantum Science and Technology 4, 043001 (2019). URL https://doi.org/10.1088/2058-9565/ab4eb5. [42] van de Wetering, J. Constructing quantum circuits with global gates. New Journal of Physics 23, 043015 (2021). URL https://doi.org/10.1088/1367-2630/abf1b3. [43] Sivarajah, S. et al. t|ket^: a retargetable compiler for NISQ devices. Quantum Science and Technology 6, 014003 (2020). URL https://doi.org/10.1088/20589565/ab8e92. [44] Pytket Python Package (v1.4.1) https://pypi. org/project/pytket/, Pytket-Quantinuum extension (v0.4.0) https://pypi.org/project/ pytket-quantinuum/, Pytket-Qiskit extension (v0.26.0) https://pypi.org/project/pytket-qiskit/ (2022). [45] ] C. N. Self, M. Benedetti, and D. Amaro, Protecting Expressive Circuits with a Quantum Error Detection Code (2022), arXiv:2211.06703 [quant-ph]. [46] ] R. Chao and B. W. Reichardt, Quantum error correction with only two extra qubits, Phys. Rev. Lett.121, 050502 (2018)