ebook img

Computational Quantum Mechanics PDF

498 Pages·2018·8.086 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computational Quantum Mechanics

Undergraduate Lecture Notes in Physics Joshua Izaac Jingbo Wang Computational Quantum Mechanics Undergraduate Lecture Notes in Physics Undergraduate Lecture Notes in Physics (ULNP) publishes authoritative texts covering topics throughout pure and applied physics. Each title in the series is suitable as a basis for undergraduate instruction, typically containing practice problems, worked examples, chaptersummaries,andsuggestionsforfurtherreading. ULNPtitlesmustprovideatleastoneofthefollowing: • Anexceptionallyclearandconcisetreatmentofastandardundergraduatesubject. • A solid undergraduate-level introduction to a graduate, advanced, or non-standard subject. • Anovelperspectiveoranunusualapproachtoteachingasubject. ULNP especially encourages new, original, and idiosyncratic approaches to physics teach- ingattheundergraduatelevel. The purpose of ULNP is to provide intriguing, absorbing books that will continue to be thereader’s preferred referencethroughouttheiracademiccareer. Series editors NeilAshby UniversityofColorado,Boulder,CO,USA WilliamBrantley DepartmentofPhysics,FurmanUniversity,Greenville, SC,USA MatthewDeady PhysicsProgram,BardCollege,Annandale-on-Hudson,NY,USA MichaelFowler DepartmentofPhysics,UniversityofVirginia,Charlottesville, VA,USA MortenHjorth-Jensen DepartmentofPhysics,UniversityofOslo,Norway Moreinformationaboutthisseries athttp://www.springer.com/series/8917 · Joshua Izaac Jingbo Wang Computational Quantum Mechanics JoshuaIzaac JingboWang DepartmentofPhysics DepartmentofPhysics TheUniversityofWesternAustralia TheUniversityofWesternAustralia Perth,Australia Perth,Australia ISBN2192-4791 ISBN2192-4805(electronic) UndergraduateLectureNotesinPhysics ISBN978-3-319-99929-6 ISBN978-3-319-99930-2(eBook) https://doi.org/10.1007/978-3-319-99930-2 LibraryofCongressControlNumber: 2018955445 ©SpringerNatureSwitzerlandAG2018 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, orbysimilarordissimilarmethodologynowknownorhereafterdeveloped. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexempt fromtherelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceandinformationin this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material containedhereinorforanyerrorsoromissionsthatmayhavebeenmade. Thepublisherremains neutralwithregardtojurisdictionalclaimsinpublishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG Theregisteredcompanyaddressis: Gewerbestrasse11,6330Cham,Switzerland Contents I Scientific Programming: an Introduction for Physicists 1 1 Numbers and Precision 3 1.1 Fixed-Point Representation . . . . . . . . . . . . . . . . . . . 4 1.2 Floating-Point Representation . . . . . . . . . . . . . . . . . . 5 1.3 Floating-Point Arithmetic . . . . . . . . . . . . . . . . . . . . 10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 Fortran 17 2.1 Variable Declaration . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Operators and Control Statements . . . . . . . . . . . . . . . 23 2.3 String Manipulation . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . 34 2.5 Intrinsic Functions . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.7 Procedures: Functions and Subroutines. . . . . . . . . . . . . 49 2.8 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.9 Command-Line Arguments . . . . . . . . . . . . . . . . . . . 73 2.10 Timing Your Code . . . . . . . . . . . . . . . . . . . . . . . . 78 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3 Python 83 3.1 Preliminaries: Tabs, Spaces, Indents, and Cases . . . . . . . . 85 3.2 Variables, Numbers, and Precision . . . . . . . . . . . . . . . 88 3.3 Operators and Conditionals . . . . . . . . . . . . . . . . . . . 93 3.4 String Manipulation . . . . . . . . . . . . . . . . . . . . . . . 100 3.5 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.6 Loops and Flow Control . . . . . . . . . . . . . . . . . . . . . 118 3.7 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . 126 3.8 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.9 NumPy and Arrays . . . . . . . . . . . . . . . . . . . . . . . . 136 3.10 Command-Line Arguments . . . . . . . . . . . . . . . . . . . 155 3.11 Timing Your Code . . . . . . . . . . . . . . . . . . . . . . . . 158 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 v vi CONTENTS II Numerical Methods for Quantum Physics 163 4 Finding Roots 165 4.1 Big-O Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.3 Bisection Method . . . . . . . . . . . . . . . . . . . . . . . . . 168 4.4 Newton-Raphson Method . . . . . . . . . . . . . . . . . . . . 171 4.5 Secant Method . . . . . . . . . . . . . . . . . . . . . . . . . . 173 4.6 False Position Method . . . . . . . . . . . . . . . . . . . . . . 176 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5 Differentiation and Initial Value Problems 181 5.1 Method of Finite Differences . . . . . . . . . . . . . . . . . . . 181 5.2 The Euler Method(s) . . . . . . . . . . . . . . . . . . . . . . . 186 5.3 Numerical Error . . . . . . . . . . . . . . . . . . . . . . . . . 196 5.4 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 5.5 The Leap-Frog Method . . . . . . . . . . . . . . . . . . . . . . 202 5.6 Round-Off Error . . . . . . . . . . . . . . . . . . . . . . . . . 205 5.7 Explicit Runge–Kutta Methods . . . . . . . . . . . . . . . . . 209 5.8 Implicit Runge–Kutta Methods . . . . . . . . . . . . . . . . . 213 5.9 RK4: The Fourth-Order Runge Kutta Method . . . . . . . . 218 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 6 Numerical Integration 229 6.1 Trapezoidal Approximation . . . . . . . . . . . . . . . . . . . 229 6.2 Midpoint Rule . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.3 Simpson’s Rule . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.4 Newton–Cotes Rules . . . . . . . . . . . . . . . . . . . . . . . 244 6.5 Gauss–Legendre Quadrature . . . . . . . . . . . . . . . . . . . 246 6.6 Other Common Gaussian Quadratures . . . . . . . . . . . . . 252 6.7 Monte Carlo Methods . . . . . . . . . . . . . . . . . . . . . . 254 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 7 The Eigenvalue Problem 265 7.1 Eigenvalues and Eigenvectors . . . . . . . . . . . . . . . . . . 265 7.2 Power Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . 269 7.3 Krylov Subspace Techniques . . . . . . . . . . . . . . . . . . . 278 7.4 Stability and the Condition Number . . . . . . . . . . . . . . 284 7.5 Fortran: Using LAPACK . . . . . . . . . . . . . . . . . . . . 286 7.6 Python: Using SciPy . . . . . . . . . . . . . . . . . . . . . . . 298 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 8 The Fourier Transform 309 8.1 Approximating the Fourier Transform . . . . . . . . . . . . . 309 8.2 Fourier Differentiation . . . . . . . . . . . . . . . . . . . . . . 316 CONTENTS vii 8.3 The Discrete Fourier Transform . . . . . . . . . . . . . . . . . 319 8.4 Errors: Aliasing and Leaking . . . . . . . . . . . . . . . . . . 334 8.5 The Fast Fourier Transform . . . . . . . . . . . . . . . . . . . 337 8.6 Fortran: Using FFTW . . . . . . . . . . . . . . . . . . . . . . 348 8.7 Python: Using SciPy . . . . . . . . . . . . . . . . . . . . . . . 351 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 III Solving the Schrödinger Equation 357 9 One Dimension 359 9.1 The Schr¨odinger Equation . . . . . . . . . . . . . . . . . . . . 359 9.2 The Time-Independent Schr¨odinger Equation . . . . . . . . . 360 9.3 Boundary Value Problems . . . . . . . . . . . . . . . . . . . . 361 9.4 Shooting method for the Schr¨odinger Equation . . . . . . . . 368 9.5 The Numerov–Cooley Shooting Method . . . . . . . . . . . . 377 9.6 The Direct Matrix Method . . . . . . . . . . . . . . . . . . . 380 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 10 Higher Dimensions and Basic Techniques 387 10.1 The Two-Dimensional Direct Matrix Method . . . . . . . . . 387 10.2 Basis Diagonalization. . . . . . . . . . . . . . . . . . . . . . . 397 10.3 The Variational Principle . . . . . . . . . . . . . . . . . . . . 402 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 11 Time Propagation 415 11.1 The Unitary Propagation Operator . . . . . . . . . . . . . . . 416 11.2 Euler Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 418 11.3 Split Operators . . . . . . . . . . . . . . . . . . . . . . . . . . 420 11.4 Direct Time Discretisation . . . . . . . . . . . . . . . . . . . . 422 11.5 The Chebyshev Expansion . . . . . . . . . . . . . . . . . . . . 425 11.6 The Nyquist Condition . . . . . . . . . . . . . . . . . . . . . . 428 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 12 Central Potentials 439 12.1 Spherical Coordinates . . . . . . . . . . . . . . . . . . . . . . 439 12.2 The Radial Equation . . . . . . . . . . . . . . . . . . . . . . . 443 12.3 The Coulomb Potential . . . . . . . . . . . . . . . . . . . . . 445 12.4 The Hydrogen Atom . . . . . . . . . . . . . . . . . . . . . . . 447 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 13 Multi-electron Systems 459 13.1 The Multi-electron Schr¨odinger Equation . . . . . . . . . . . 459 13.2 The Hartree Approximation . . . . . . . . . . . . . . . . . . . 460 13.3 The Central Field Approximation . . . . . . . . . . . . . . . . 465 viii CONTENTS 13.4 Modelling Lithium . . . . . . . . . . . . . . . . . . . . . . . . 469 13.5 The Hartree–Fock Method . . . . . . . . . . . . . . . . . . . . 477 13.6 Quantum Dots (and Atoms in Flatland) . . . . . . . . . . . . 480 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Index 487 Preface Programming is becoming an increasingly important skill in twenty-first- century life, and nowhere more so than in physics research. Problems that were previously intractable and avoided are now becoming commonplace as computational power increases. As a result, the ability to program, under- stand common numerical techniques, and apply these to the physical world around us lends an unparalleled advantage. Numerical skills and compu- tational ability also allow us, more than ever, to cross fields and perform interdisciplinary studies, as techniques such as numerical differentiation are applicable across physics, mathematics, economics, biology, psychology, and many more. Undergraduatelife,however,isadaptingatamuchslowerrate. Quantum mechanics, as commonly taught in undergraduate physics courses, focuses mostly on systems with known analytic solutions, for example, the infinite square well, the finite square well, the simple harmonic potential, and the hydrogen atom. This belies modern research, where most practical problems inquantummechanicsdonothaveknownanalyticalsolutions. Assuch,being armed solely with techniques in analytics (often supplemented by computer algebra systems such as Mathematica or Maple) often leads to being ill- equipped to study real-life quantum systems! This textbook introduces numerical techniques required to tackle prob- lems in quantum mechanics, alongside numerous examples taken from var- ious quantum systems. By the end of the book, you should be confident in applying these techniques to solving the Schrödinger equation for arbi- trarily complex potentials in one or higher dimensions, and to simulating quantum dynamics under the influence of time-independent or time-varying external fields. You will also be exposed to the concepts of self-consistent fields, indistinguishable particles, anti-symmetrised wave function, and the basic formalism of Hartree and Hartree–Fock theory to study multi-electron systems. As this textbook is designed for senior undergraduate physics students in the third or fourth year of their studies, some familiarity with quantum systemsisexpected. However,asisoftenthecasewithphysicsundergraduate courses, no prior programming knowledge is assumed. We begin in Part I of the book by introducing core concepts of programming for scientific ix

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.