Arxiv:2102.00329V1 [Cs.LO] 30 Jan 2021 Interfering Effects

Total Page:16

File Type:pdf, Size:1020Kb

Arxiv:2102.00329V1 [Cs.LO] 30 Jan 2021 Interfering Effects A Quantum Interpretation of Bunched Logic for Quantum Separation Logic Li Zhou Gilles Barthe Max Planck Institute for Security and Privacy Max Planck Institute for Security and Privacy; IMDEA Software Institute Justin Hsu Mingsheng Ying University of Wisconsin–Madison University of Technology Sydney; Institute of Software, Chinese Academy of Sciences; Tsinghua University Nengkun Yu University of Technology Sydney Abstract—We propose a model of the substructural logic of Quantum computation is another domain where the ideas Bunched Implications (BI) that is suitable for reasoning about of separation logic seem relevant. Recent work [10], [11] quantum states. In our model, the separating conjunction of suggests that reasoning about resources (in particular, entan- BI describes separable quantum states. We develop a program glement – a resource unique in the quantum world) can bring logic where pre- and post-conditions are BI formulas describing similar benefits to quantum computing and communications. quantum states—the program logic can be seen as a counter- Motivated by this broad perspective, we propose a quan- part of separation logic for imperative quantum programs. We tum model of BI and develop a novel separation logic for exercise the logic for proving the security of quantum one-time quantum programs. Our development is guided by concrete pad and secret sharing, and we show how the program logic examples of quantum algorithms and security protocols. can be used to discover a flaw in Google Cirq’s tutorial on the Motivating Local Reasoning for Quantum Programs: Variational Quantum Algorithm (VQA). Quantum Machine Learning [12], [13] and VQAs (Vari- ational Quantum Algorithms) [14], [15] are new classes 1. Introduction of quantum algorithms that emerged in recent years as a leading application of quantum computing. These algo- The logic of Bunched Implications (BI) of O’Hearn rithms solve problems by training parameterized quantum and Pym [1], [2], [3] is a substructural logic that fea- circuits. The trained circuits are usually very large in terms tures resource-aware connectives. One such connective is ∗, of both their size and the required quantum resources, known as separating conjunction: informally, an assertion i.e., the number of involved quantum bits (qubits). This φ ∗ holds with respect to a resource R if the resource makes them particularly challenging to verify with exist- R can be split into resources R0 and R00 such that φ ing techniques such as quantum Hoare logic [16], [17] holds with respect to R0 and holds with respect to R00. and verification based on operational semantics [18], since This interpretation is particularly well suited for reasoning the dimension of the matrices used to represent assertions about programs in settings where computations can have increases exponentially w.r.t. the number of qubits. Fortu- arXiv:2102.00329v1 [cs.LO] 30 Jan 2021 interfering effects. In particular, BI has found success as an nately, these algorithms can benefit from local reasoning, assertion language for Separation Logic [4], [5], [6], a pro- since each of their operations is performed locally on a gram logic for reasoning about programs with mutable state, small number of qubits. Consider for instance the quantum and Concurrent Separation Logic [7], [8], a program logic circuit shown in Figure 1, that implements a VQA circuit for reasoning about shared-memory concurrent processes. with 2 × 2 grid qubits. Instead of reasoning about the Recent works seek to extend the separation logic frame- circuit as a whole, we would like to reason about sub- work beyond memory-manipulating programs by consider- circuits ProcC(1); ProcC(2); Proc(R)(1); ProcR(2) sepa- ing other notions of resources and other models of com- rately, and then combine the results to establish the correct- putation. Broadly speaking, separation logics are a good fit ness of the whole program. This is precisely the kind of whenever programs manipulate resources in a local fashion: reasoning enabled by Quantum Separation Logic (QSL for that is, there is a natural notion of two resources being short). separate, and a program can operate on the first resource without affecting the second. This idea underlies recent sep- Technical Challenges and Contributions: QSL will be aration logics for probabilistic programs, where separation developed by first developing a model of BI, where formulas is probabilistic independence [9]. describe quantum states and then building a separation logic 1 Reynolds [19] in the context of standard separation logic. This extra bit of freedom seems to be particular to the quantum setting, and we crucially use this feature when using the frame rule to establish uniformity. The soundness proof of our quantum frame rule requires a nontrivial calculation based on purification, a fun- damental technique used in quantum information for transforming mixed states to pure states by introducing reference systems [20]. Figure 1: VQA(2) with parameters taken in Sec. 5.3. 3) Reasoning about entangled predicates:1 The structural rules FRAME and CONST enable us to lift local rea- soning to global correctness of quantum algorithms using these assertions as pre- and post-conditions, introduc- only when no entanglement occur in the pre- and ing proof rules to reason about quantum programs. post-conditions. However, entangled predicates play an BI and Its Quantum Interpretation: To characterize the essential role in revealing the non-local (global) proper- properties of quantum systems, we first identify a quantum ties of a composite quantum system; for instance, some interpretation of BI appropriate for our target applications. entangled predicates are used when reasoning about the We choose to interpret our separating conjunction ∗ as (in)correctness of VQA (see Sec. 5.3). With the help separability of quantum states. Roughly speaking, φ1 ∗ φ2 of auxiliary variables, we set up a new rule UNCR holds in a quantum state ρ if ρ can be factored into two which enables us to prove the correctness of large quantum states ρ1 and ρ2 over disjoint registers satisfying quantum algorithms with respect to entangled pre- and φ1 and φ2, respectively. post-conditions. Intuitively, when the program (as the Proof System for Program Logic: next, we define principal system) combined with auxiliary variables (as a program logic for a quantum while-language [16] (for ancillary systems), modification can be used to create simplicity, we do not consider classical variables). Our (mathematically rather than physically) entanglement language follows the “classical control and quantum data” and rule UNCR is used to preserve correctness under paradigm. We develop a set of proof rules that are effective the modification on the auxiliary variables in the pre- for verifying quantum programs over a large set of qubits. and post-conditions (but not in the program). The key Our proof system has several novel ingredients: idea behind was first proposed in [21] for reasoning 1) Modification on BI formulas. The basic rule for assign- about parallel quantum programs; UNCR is its gener- ments in classical program logics is defined using the alization tailored for our purpose. syntactic notion of substitution. Due to the non-cloning Applications: To demonstrate the breadth of the applica- law of quantum information, the role of assignments tion range of our logic QSL, we present several case studies has to be played by initialization q := j0i and unitary from two very different areas: transformations q := U[q], and inference rules for these operations involve a quantum operation (e.g., • Our first example given in Section 5 is formal verifi- [16], [17]). Unfortunately, the rules for initialization cation of Variational Quantum Algorithm (VQA) [14], and unitary transformations are not simple adaptations [15] for finding the ground state of a quantum system, of the rule for assignment, because a quantum gen- which has potential applications in quantum chemistry eralization of substitution is not straightforward. For for designing new materials and drugs. A typical VQA atomic predicates, substitutions are not always defined. can be split into different subprograms that are suited For composite formulas, a straightforward definition of to locally reasoning. Then the frame rules together substitution is too weak for applications. We overcome with UNCR are used to derive global correctness with this hurdle by introducing a modification operation for entangled pre- and post-conditions. In particular, an atomic formulas (see Definition 3.4), which is essen- analysis based on QSL reveals that the VQA presented tially a quantum version of substitution. Extending this in the tutorial of Google’s Cirq [22] is incorrect. operation to composite formulas requires some care • In Section 6, we use QSL to verify the security of (see Definition 3.5). quantum one-time pad (QOTP) [23], [24] and quantum 2) Frame rule: The frame rule is one of the most char- secret sharing (QSS) [25], [26]. Unlike previous work, acteristic structural rules in separation logic. QSL also the QSL verification of QOTP and QSS is scalable: in- enjoys a frame rule FRAME that is similar in spirit creasing the number of registers that algorithms employ to frame rules from standard separation logics, but does not complicate the verification. In particular, rule our new interpretation of separating conjunction means FRAME with the supported assertion (SP) enables us to that the meaning of the rule is different. Furthermore, avoid the very complicated
Recommended publications
  • An Update on Google's Quantum Computing Initiative
    An Update on Google’s Quantum Computing Initiative January 31, 2019 [email protected] Copyright 2018 Google LLC Our Brains are Wired for Newtonian Physics Brains that recognize and anticipate behaviors of Heat, Light, Momentum, Gravity, etc. have an Evolutionary Advantage. Quantum phenomena contradict our intuition. Quantum Phenomena Contradict Intuition Interference, “Erasure”, etc. 0 Quantum Theory Explains ( 1) Cleanly… ...but the Math looks Strange 1 1 1 1 i i How can a Particle be √2 √2 i 1 On Two Paths at the Same Time? 1 1 √2 i P u 1 1 i P ( r) √2 i 1 Copyright 2017-2019 Google LLC Superposed States, Superposed Information l0〉 2 ( |0〉+|1〉 ) |0〉 + |1〉 = |00〉+|01〉+|10〉+|11〉 l1〉 Copyright 2017-2019 Google LLC 01 Macroscopic QM Enables New Technology Control of single quantum systems, to quantum computers 1 nm 1 μm 1 mm H atom wavefunctions: Problem: Light is 1000x larger Large “atom” has room for complex control Copyright 2017-2019 Google LLC Xmon: Direct coupling + Tunable Transmons ● Direct qubit-qubit capacitive coupling ● Turn interaction on and off with frequency g control “OFF” “ON” f10 f 21 Δ Frequency η Frequency Coupling g Qubit Qubit SQUID 2 2 Coupling rate Ωzz ≈ 4ηg / Δ Qubit A Qubit B Copyright 2017-2019 Google LLC Logic Built from Universal Gates Classical circuit: Quantum circuit: 1 bit NOT 1 qubit rotation 2 bit AND 1 Input Gates 2 qubit CNOT Wiring fan-out No copy 2 Input Gates (space+time ) time Copyright 2017-2019 Google LLC Execution of a Quantum Simulation arXiv:1512.06860 Copyright 2017-2019 Google LLC Quantum
    [Show full text]
  • A Tutorial Introduction to Quantum Circuit Programming in Dependently Typed Proto-Quipper
    A tutorial introduction to quantum circuit programming in dependently typed Proto-Quipper Peng Fu1, Kohei Kishida2, Neil J. Ross1, and Peter Selinger1 1 Dalhousie University, Halifax, NS, Canada ffrank-fu,neil.jr.ross,[email protected] 2 University of Illinois, Urbana-Champaign, IL, U.S.A. [email protected] Abstract. We introduce dependently typed Proto-Quipper, or Proto- Quipper-D for short, an experimental quantum circuit programming lan- guage with linear dependent types. We give several examples to illustrate how linear dependent types can help in the construction of correct quan- tum circuits. Specifically, we show how dependent types enable program- ming families of circuits, and how dependent types solve the problem of type-safe uncomputation of garbage qubits. We also discuss other lan- guage features along the way. Keywords: Quantum programming languages · Linear dependent types · Proto-Quipper-D 1 Introduction Quantum computers can in principle outperform conventional computers at cer- tain crucial tasks that underlie modern computing infrastructures. Experimental quantum computing is in its early stages and existing devices are not yet suitable for practical computing. However, several groups of researchers, in both academia and industry, are now building quantum computers (see, e.g., [2,11,16]). Quan- tum computing also raises many challenging questions for the programming lan- guage community [17]: How should we design programming languages for quan- tum computation? How should we compile and optimize quantum programs? How should we test and verify quantum programs? How should we understand the semantics of quantum programming languages? In this paper, we focus on quantum circuit programming using the linear dependently typed functional language Proto-Quipper-D.
    [Show full text]
  • Lemma Functions for Frama-C: C Programs As Proofs
    Lemma Functions for Frama-C: C Programs as Proofs Grigoriy Volkov Mikhail Mandrykin Denis Efremov Faculty of Computer Science Software Engineering Department Faculty of Computer Science National Research University Ivannikov Institute for System Programming of the National Research University Higher School of Economics Russian Academy of Sciences Higher School of Economics Moscow, Russia Moscow, Russia Moscow, Russia [email protected] [email protected] [email protected] Abstract—This paper describes the development of to additionally specify loop invariants and termination an auto-active verification technique in the Frama-C expression (loop variants) in case the function under framework. We outline the lemma functions method analysis contains loops. Then the verification instrument and present the corresponding ACSL extension, its implementation in Frama-C, and evaluation on a set generates verification conditions (VCs), which can be of string-manipulating functions from the Linux kernel. separated into categories: safety and behavioral ones. We illustrate the benefits our approach can bring con- Safety VCs are responsible for runtime error checks for cerning the effort required to prove lemmas, compared known (modeled) types, while behavioral VCs represent to the approach based on interactive provers such as the functional correctness checks. All VCs need to be Coq. Current limitations of the method and its imple- mentation are discussed. discharged in order for the function to be considered fully Index Terms—formal verification, deductive verifi- proved (totally correct). This can be achieved either by cation, Frama-C, auto-active verification, lemma func- manually proving all VCs discharged with an interactive tions, Linux kernel prover (i. e., Coq, Isabelle/HOL or PVS) or with the help of automatic provers.
    [Show full text]
  • A Program Logic for First-Order Encapsulated Webassembly
    A Program Logic for First-Order Encapsulated WebAssembly Conrad Watt University of Cambridge, UK [email protected] Petar Maksimović Imperial College London, UK; Mathematical Institute SASA, Serbia [email protected] Neelakantan R. Krishnaswami University of Cambridge, UK [email protected] Philippa Gardner Imperial College London, UK [email protected] Abstract We introduce Wasm Logic, a sound program logic for first-order, encapsulated WebAssembly. We design a novel assertion syntax, tailored to WebAssembly’s stack-based semantics and the strong guarantees given by WebAssembly’s type system, and show how to adapt the standard separation logic triple and proof rules in a principled way to capture WebAssembly’s uncommon structured control flow. Using Wasm Logic, we specify and verify a simple WebAssembly B-tree library, giving abstract specifications independent of the underlying implementation. We mechanise Wasm Logic and its soundness proof in full in Isabelle/HOL. As part of the soundness proof, we formalise and fully mechanise a novel, big-step semantics of WebAssembly, which we prove equivalent, up to transitive closure, to the original WebAssembly small-step semantics. Wasm Logic is the first program logic for WebAssembly, and represents a first step towards the creation of static analysis tools for WebAssembly. 2012 ACM Subject Classification Theory of computation Ñ separation logic Keywords and phrases WebAssembly, program logic, separation logic, soundness, mechanisation Acknowledgements We would like to thank the reviewers, whose comments were valuable in improving the paper. All authors were supported by the EPSRC Programme Grant ‘REMS: Rigorous Engineering for Mainstream Systems’ (EP/K008528/1).
    [Show full text]
  • COVID-19 Detection on IBM Quantum Computer with Classical-Quantum Transfer Learning
    medRxiv preprint doi: https://doi.org/10.1101/2020.11.07.20227306; this version posted November 10, 2020. The copyright holder for this preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in perpetuity. It is made available under a CC-BY-NC-ND 4.0 International license . Turk J Elec Eng & Comp Sci () : { © TUB¨ ITAK_ doi:10.3906/elk- COVID-19 detection on IBM quantum computer with classical-quantum transfer learning Erdi ACAR1*, Ihsan_ YILMAZ2 1Department of Computer Engineering, Institute of Science, C¸anakkale Onsekiz Mart University, C¸anakkale, Turkey 2Department of Computer Engineering, Faculty of Engineering, C¸anakkale Onsekiz Mart University, C¸anakkale, Turkey Received: .201 Accepted/Published Online: .201 Final Version: ..201 Abstract: Diagnose the infected patient as soon as possible in the coronavirus 2019 (COVID-19) outbreak which is declared as a pandemic by the world health organization (WHO) is extremely important. Experts recommend CT imaging as a diagnostic tool because of the weak points of the nucleic acid amplification test (NAAT). In this study, the detection of COVID-19 from CT images, which give the most accurate response in a short time, was investigated in the classical computer and firstly in quantum computers. Using the quantum transfer learning method, we experimentally perform COVID-19 detection in different quantum real processors (IBMQx2, IBMQ-London and IBMQ-Rome) of IBM, as well as in different simulators (Pennylane, Qiskit-Aer and Cirq). By using a small number of data sets such as 126 COVID-19 and 100 Normal CT images, we obtained a positive or negative classification of COVID-19 with 90% success in classical computers, while we achieved a high success rate of 94-100% in quantum computers.
    [Show full text]
  • Arxiv:1812.09167V1 [Quant-Ph] 21 Dec 2018 It with the Tex Typesetting System Being a Prime Example
    Open source software in quantum computing Mark Fingerhutha,1, 2 Tomáš Babej,1 and Peter Wittek3, 4, 5, 6 1ProteinQure Inc., Toronto, Canada 2University of KwaZulu-Natal, Durban, South Africa 3Rotman School of Management, University of Toronto, Toronto, Canada 4Creative Destruction Lab, Toronto, Canada 5Vector Institute for Artificial Intelligence, Toronto, Canada 6Perimeter Institute for Theoretical Physics, Waterloo, Canada Open source software is becoming crucial in the design and testing of quantum algorithms. Many of the tools are backed by major commercial vendors with the goal to make it easier to develop quantum software: this mirrors how well-funded open machine learning frameworks enabled the development of complex models and their execution on equally complex hardware. We review a wide range of open source software for quantum computing, covering all stages of the quantum toolchain from quantum hardware interfaces through quantum compilers to implementations of quantum algorithms, as well as all quantum computing paradigms, including quantum annealing, and discrete and continuous-variable gate-model quantum computing. The evaluation of each project covers characteristics such as documentation, licence, the choice of programming language, compliance with norms of software engineering, and the culture of the project. We find that while the diversity of projects is mesmerizing, only a few attract external developers and even many commercially backed frameworks have shortcomings in software engineering. Based on these observations, we highlight the best practices that could foster a more active community around quantum computing software that welcomes newcomers to the field, but also ensures high-quality, well-documented code. INTRODUCTION Source code has been developed and shared among enthusiasts since the early 1950s.
    [Show full text]
  • Quantum Approximation for Wireless Scheduling
    applied sciences Article Quantum Approximation for Wireless Scheduling Jaeho Choi 1 , Seunghyeok Oh 2 and Joongheon Kim 2,* 1 School of Computer Science and Engineering, Chung-Ang University, Seoul 06974, Korea; [email protected] 2 School of Electrical Engineering, Korea University, Seoul 02841, Korea; [email protected] * Correspondence: [email protected]; Tel.: +82-2-3290-3223 Received: 2 September 2020; Accepted: 6 October 2020; Published: 13 October 2020 Abstract: This paper proposes an application algorithm based on a quantum approximate optimization algorithm (QAOA) for wireless scheduling problems. QAOA is one of the promising hybrid quantum-classical algorithms to solve combinatorial optimization problems and it provides great approximate solutions to non-deterministic polynomial-time (NP) hard problems. QAOA maps the given problem into Hilbert space, and then it generates the Hamiltonian for the given objective and constraint. Then, QAOA finds proper parameters from the classical optimization loop in order to optimize the expectation value of the generated Hamiltonian. Based on the parameters, the optimal solution to the given problem can be obtained from the optimum of the expectation value of the Hamiltonian. Inspired by QAOA, a quantum approximate optimization for scheduling (QAOS) algorithm is proposed. The proposed QAOS designs the Hamiltonian of the wireless scheduling problem which is formulated by the maximum weight independent set (MWIS). The designed Hamiltonian is converted into a unitary operator and implemented as a quantum gate operation. After that, the iterative QAOS sequence solves the wireless scheduling problem. The novelty of QAOS is verified with simulation results implemented via Cirq and TensorFlow-Quantum.
    [Show full text]
  • Heuristics for Quantum Compiling with a Continuous Gate Set Marc Grau Davis, Ethan Smith, Ana Tudor, Koushik Sen, Irfan Siddiqi, Costin Iancu
    Heuristics for Quantum Compiling with a Continuous Gate Set Marc Grau Davis, Ethan Smith, Ana Tudor, Koushik Sen, Irfan Siddiqi, Costin Iancu Abstract factor in the near future of NISQ devices, this metric has been We present an algorithm for compiling arbitrary unitaries targeted by others [25, 28, 50, 56]. into a sequence of gates native to a quantum processor. As The algorithm is inspired by the A* [22] search strategy accurate CNOT gates are hard for the foreseeable Noisy- and works as follows. Given the unitary associated with a Intermediate-Scale Quantum devices era, our A* inspired quantum transformation, we attempt to alternate layers of algorithm attempts to minimize their count, while accounting single qubit gates and CNOT gates. For each layer of single for connectivity. We discuss the search strategy together with qubit gates we assign the parameterized single qubit unitary to “metrics” to expand the solution frontier. For a workload of all the qubits. We then try to place a CNOT gate wherever the circuits with complexity appropriate for the NISQ era, we pro- chip connectivity allows, and add another layer of single qubit duce solutions well within the best upper bounds published in gates. We pass the parameterized circuit into an optimizer [44], literature and match or exceed hand tuned implementations, which instantiates the parameters for the partial solution such as well as other existing synthesis alternatives. In particular, that it minimizes a distance function. At each step of the when comparing against state-of-the-art available synthesis search, the solution with the shortest “heuristic” distance from packages we show 2:4× average (up to 5:3×) reduction in the original unitary is expanded.
    [Show full text]
  • Dafny: an Automatic Program Verifier for Functional Correctness K
    Dafny: An Automatic Program Verifier for Functional Correctness K. Rustan M. Leino Microsoft Research [email protected] Abstract Traditionally, the full verification of a program’s functional correctness has been obtained with pen and paper or with interactive proof assistants, whereas only reduced verification tasks, such as ex- tended static checking, have enjoyed the automation offered by satisfiability-modulo-theories (SMT) solvers. More recently, powerful SMT solvers and well-designed program verifiers are starting to break that tradition, thus reducing the effort involved in doing full verification. This paper gives a tour of the language and verifier Dafny, which has been used to verify the functional correctness of a number of challenging pointer-based programs. The paper describes the features incorporated in Dafny, illustrating their use by small examples and giving a taste of how they are coded for an SMT solver. As a larger case study, the paper shows the full functional specification of the Schorr-Waite algorithm in Dafny. 0 Introduction Applications of program verification technology fall into a spectrum of assurance levels, at one extreme proving that the program lives up to its functional specification (e.g., [8, 23, 28]), at the other extreme just finding some likely bugs (e.g., [19, 24]). Traditionally, program verifiers at the high end of the spectrum have used interactive proof assistants, which require the user to have a high degree of prover expertise, invoking tactics or guiding the tool through its various symbolic manipulations. Because they limit which program properties they reason about, tools at the low end of the spectrum have been able to take advantage of satisfiability-modulo-theories (SMT) solvers, which offer some fixed set of automatic decision procedures [18, 5].
    [Show full text]
  • Separation Logic: a Logic for Shared Mutable Data Structures
    Separation Logic: A Logic for Shared Mutable Data Structures John C. Reynolds∗ Computer Science Department Carnegie Mellon University [email protected] Abstract depends upon complex restrictions on the sharing in these structures. To illustrate this problem,and our approach to In joint work with Peter O’Hearn and others, based on its solution,consider a simple example. The following pro- early ideas of Burstall, we have developed an extension of gram performs an in-place reversal of a list: Hoare logic that permits reasoning about low-level impera- tive programs that use shared mutable data structure. j := nil ; while i = nil do The simple imperative programming language is ex- (k := [i +1];[i +1]:=j ; j := i ; i := k). tended with commands (not expressions) for accessing and modifying shared structures, and for explicit allocation and (Here the notation [e] denotes the contents of the storage at deallocation of storage. Assertions are extended by intro- address e.) ducing a “separating conjunction” that asserts that its sub- The invariant of this program must state that i and j are formulas hold for disjoint parts of the heap, and a closely lists representing two sequences α and β such that the re- related “separating implication”. Coupled with the induc- flection of the initial value α0 can be obtained by concate- tive definition of predicates on abstract data structures, this nating the reflection of α onto β: extension permits the concise and flexible description of ∃ ∧ ∧ † †· structures with controlled sharing. α, β. list α i list β j α0 = α β, In this paper, we will survey the current development of this program logic, including extensions that permit unre- where the predicate list α i is defined by induction on the stricted address arithmetic, dynamically allocated arrays, length of α: and recursive procedures.
    [Show full text]
  • Resource-Efficient Quantum Computing By
    Resource-Efficient Quantum Computing by Breaking Abstractions Fred Chong Seymour Goodman Professor Department of Computer Science University of Chicago Lead PI, the EPiQC Project, an NSF Expedition in Computing NSF 1730449/1730082/1729369/1832377/1730088 NSF Phy-1818914/OMA-2016136 DOE DE-SC0020289/0020331/QNEXT With Ken Brown, Ike Chuang, Diana Franklin, Danielle Harlow, Aram Harrow, Andrew Houck, John Reppy, David Schuster, Peter Shor Why Quantum Computing? n Fundamentally change what is computable q The only means to potentially scale computation exponentially with the number of devices n Solve currently intractable problems in chemistry, simulation, and optimization q Could lead to new nanoscale materials, better photovoltaics, better nitrogen fixation, and more n A new industry and scaling curve to accelerate key applications q Not a full replacement for Moore’s Law, but perhaps helps in key domains n Lead to more insights in classical computing q Previous insights in chemistry, physics and cryptography q Challenge classical algorithms to compete w/ quantum algorithms 2 NISQ Now is a privileged time in the history of science and technology, as we are witnessing the opening of the NISQ era (where NISQ = noisy intermediate-scale quantum). – John Preskill, Caltech IBM IonQ Google 53 superconductor qubits 79 atomic ion qubits 53 supercond qubits (11 controllable) Quantum computing is at the cusp of a revolution Every qubit doubles computational power Exponential growth in qubits … led to quantum supremacy with 53 qubits vs. Seconds Days Double exponential growth! 4 The Gap between Algorithms and Hardware The Gap between Algorithms and Hardware The Gap between Algorithms and Hardware The EPiQC Goal Develop algorithms, software, and hardware in concert to close the gap between algorithms and devices by 100-1000X, accelerating QC by 10-20 years.
    [Show full text]
  • Pointer Programs, Separation Logic
    Chapter 6 Pointer Programs, Separation Logic The goal of this section is to drop the hypothesis that we have until now, that is, references are not values of the language, and in particular there is nothing like a reference to a reference, and there is no way to program with data structures that can be modified in-place, such as records where fields can be assigned directly. There is a fundamental difference of semantics between in-place modification of a record field and the way we modeled records in Chapter 4. The small piece of code below, in the syntax of the C programming language, is a typical example of the kind of programs we want to deal with in this chapter. typedef struct L i s t { i n t data; list next; } ∗ l i s t ; list create( i n t d , l i s t n ) { list l = (list)malloc( sizeof ( struct L i s t ) ) ; l −>data = d ; l −>next = n ; return l ; } void incr_list(list p) { while ( p <> NULL) { p−>data++; p = p−>next ; } } Like call by reference, in-place assignment of fields is another source of aliasing issues. Consider this small test program void t e s t ( ) { list l1 = create(4,NULL); list l2 = create(7,l1); list l3 = create(12,l1); assert ( l3 −>next−>data == 4 ) ; incr_list(l2); assert ( l3 −>next−>data == 5 ) ; } which builds the following structure: 63 7 4 null 12 the list node l1 is shared among l2 and l3, hence the call to incr_list(l2) modifies the second node of list l3.
    [Show full text]