Arxiv:2102.00329V1 [Cs.LO] 30 Jan 2021 Interfering Effects
Total Page:16
File Type:pdf, Size:1020Kb
Load more
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 -
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. -
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. -
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). -
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. -
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. -
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. -
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. -
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]. -
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. -
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. -
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.