1,371 research outputs found

    Learn Quantum Mechanics with Haskell

    Full text link
    To learn quantum mechanics, one must become adept in the use of various mathematical structures that make up the theory; one must also become familiar with some basic laboratory experiments that the theory is designed to explain. The laboratory ideas are naturally expressed in one language, and the theoretical ideas in another. We present a method for learning quantum mechanics that begins with a laboratory language for the description and simulation of simple but essential laboratory experiments, so that students can gain some intuition about the phenomena that a theory of quantum mechanics needs to explain. Then, in parallel with the introduction of the mathematical framework on which quantum mechanics is based, we introduce a calculational language for describing important mathematical objects and operations, allowing students to do calculations in quantum mechanics, including calculations that cannot be done by hand. Finally, we ask students to use the calculational language to implement a simplified version of the laboratory language, bringing together the theoretical and laboratory ideas.Comment: In Proceedings TFPIE 2015/6, arXiv:1611.0865

    Specific "scientific" data structures, and their processing

    Full text link
    Programming physicists use, as all programmers, arrays, lists, tuples, records, etc., and this requires some change in their thought patterns while converting their formulae into some code, since the "data structures" operated upon, while elaborating some theory and its consequences, are rather: power series and Pad\'e approximants, differential forms and other instances of differential algebras, functionals (for the variational calculus), trajectories (solutions of differential equations), Young diagrams and Feynman graphs, etc. Such data is often used in a [semi-]numerical setting, not necessarily "symbolic", appropriate for the computer algebra packages. Modules adapted to such data may be "just libraries", but often they become specific, embedded sub-languages, typically mapped into object-oriented frameworks, with overloaded mathematical operations. Here we present a functional approach to this philosophy. We show how the usage of Haskell datatypes and - fundamental for our tutorial - the application of lazy evaluation makes it possible to operate upon such data (in particular: the "infinite" sequences) in a natural and comfortable manner.Comment: In Proceedings DSL 2011, arXiv:1109.032

    Delayed-choice quantum eraser for the undergraduate laboratory

    Get PDF
    In a delayed-choice quantum eraser, interference fringes are obtained by erasing which-way information after the interfering particle has already been irreversibly detected. Following an introductory review of delayed-choice experiments and quantum erasure, we describe the experimental realization of an optical delayed-choice quantum eraser, suitable for advanced undergraduates, based on polarization-entangled pairs of single photons. In our experiment, the delay of the erasure is implemented using two different setups. The first setup employs an arrangement of mirrors to increase the optical path length of the photons carrying which-way information. In the second setup, we use fiber-optic cables to elongate the path of these photons after their passage through the polarization analyzer but prior to their arrival at the detector. We compare our results to data obtained in the absence of a delay and find excellent agreement. This shows that the timing of the erasure is irrelevant, as also predicted by quantum mechanics. The experiment can serve as a valuable pedagogical tool for conveying the fundamentals of quantum mechanics.Comment: 13 pages, 5 figures, identical to published versio

    An Exploratory Study on the Usage of Quantum Programming Languages

    Get PDF
    Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasAs in the classical realm, the usage of quantum programming languages in quantum computing allows one to instruct a quantum computer to perform certain tasks. Although several imperative, declarative, and multi-paradigm quantum programming languages with different features and goals have been developed in the last 25 years, no study has been conducted on who, how, and what for does one use a quantum programming language. In this thesis, we first identified and described several quantum programming languages and then surveyed 251 quantum practitioners to answer several questions related to the usage of quantum programming languages. Further, an analysis of the results obtained is presented and shows that most of the quantum practitioners use the languages for research and that Qiskit (Python) is the most used one. Finally, we make recommendations for further development of quantum programming languages, such as building on top of a classical programming language, running in real quantum computers, supporting language documentation, and consulting developers’ needs

    Automated Conjecturing in QuickSpec

    Get PDF
    A key component of mathematical reasoning is the ability to formulate interesting conjectures about a problem domain at hand. This task has not yet been widely studied by the automated reasoning and AI communities, but we believe interest is growing. In this paper, we give a brief overview of a theory exploration system called QuickSpec, able to automatically discover interesting conjectures about a given set of functions. QuickSpec works by interleaving term generation with random testing to form candidate equational conjectures. This is made tractable by starting from small sizes and ensuring that only terms that are irreducible with respect to already discovered equalities are considered. QuickSpec has been successfully applied to generate lemmas for automated inductive theorem proving as well as to generate specifications of functional programs. We also give a small survey of different approaches to conjecture discovery, and speculate about future directions combining symbolic methods and machine learning

    Developments in multiscale ONIOM and fragment methods for complex chemical systems

    Get PDF
    Multiskalenprobleme werden in der Computerchemie immer allgegenwärtiger und bestimmte Klassen solcher Probleme entziehen sich einer effizienten Beschreibung mit den verfügbaren Berechnungsansätzen. In dieser Arbeit wurden effiziente Erweiterungen der Multilayer-Methode ONIOM und von Fragmentmethoden als Lösungsansätze für derartige Probleme entwickelt. Dabei wurde die Kombination von ONIOM und Fragmentmethoden im Rahmen der Multi-Centre Generalised ONIOM entwickelt sowie die eine Multilayer-Variante der Fragment Combinatio Ranges. Außerdem wurden Schemata für elektronische Einbettung derartiger Multilayer-Systeme entwickelt. Der zweite Teil der Arbeit beschreibt die Implementierung im Haskell-Programm "Spicy" und demonstriert Anwendungen derartiger Multiskalen-Methoden

    Towards A Novel Environment for Simulation of Quantum Computing

    Get PDF
    In this paper, we analyze existing quantum computer simulation techniques and their realizations to minimize the impact of the exponential complexity of simulated quantum computations. As a result of this investigation, we propose a quantum computer simulator with an integrated development environment – QuIDE – supporting the development of algorithms for future quantum computers. The simulator simplifies building and testing quantum circuits and understanding quantum algorithms in an efficient way. The development environment provides flexibility of source code edition and ease of the graphical building of circuit diagrams. We also describe and analyze the complexity of algorithms used for simulation as well as present performance results of the simulator as well as results of its deployment during university classes
    corecore