├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md └── org ├── acknowledgments.org ├── appendix.org ├── bibliography.org ├── chapter001.org ├── chapter002.org ├── chapter003.org ├── chapter004.org ├── chapter005.org ├── chapter006.org ├── chapter007.org ├── chapter008.org ├── chapter009.org ├── dedication.org ├── keyword_index.org ├── preface.org ├── titlepage.org └── toc.org /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: sritchie 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /Gemfile.lock 2 | /_site 3 | /.sass-cache 4 | 5 | *.bin 6 | *.com 7 | *.bci 8 | 9 | ltximg 10 | 11 | *.aux 12 | *.out 13 | *.pyg 14 | *.toc 15 | *.tex 16 | sicm.pdf 17 | sicm_clojure.pdf 18 | _minted* 19 | 20 | # For output from auctex. 21 | auto 22 | .cpcache -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | LICENSING TERMS 2 | 3 | The contents of this repository are licensed under the Creative Commons 4 | Attribution-NonCommercial-ShareAlike 3.0 Unported License 5 | (http://creativecommons.org/licenses/by-nc-sa/3.0/). -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Structure and Interpretation of Classical Mechanics 2 | 3 | This repository contains an unofficial org-mode version of the complete text of 4 | "Structure and Interpretation of Classical Mechanics" by Gerald Jay Sussman and 5 | Jack Wisdom. It is a port of the [CC BY-NC-SA-licensed second 6 | edition](https://mitpress.mit.edu/sites/default/files/titles/content/sicm_edition_2/book.html) 7 | hosted by [MIT Press](https://mitpress.mit.edu/), obtained by converting 8 | @tgvaughan's [HTML Port](https://github.com/tgvaughan/sicm) to 9 | [org-mode](https://orgmode.org) format via [Pandoc](https://pandoc.org) and then 10 | doing much more conversion by hand. 11 | 12 | Everything currently lives in the `org` folder. 13 | 14 | This work is licensed under the Creative commons 15 | Attribution-NonCommercial-ShareAlike 3.0 Unported License ([CC BY-SA 16 | 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/)). 17 | -------------------------------------------------------------------------------- /org/acknowledgments.org: -------------------------------------------------------------------------------- 1 | --- title: Acknowledgments next: title: Chapter 1 url: chapter001.html 2 | prev: title: Preface url: preface.html layout: main --- <> 3 | 4 | ** Acknowledgments 5 | :PROPERTIES: 6 | :CUSTOM_ID: acknowledgments 7 | :CLASS: unnumbered 8 | :END: 9 | We would like to thank the many people who have helped us to develop 10 | this book and the curriculum it is designed to support. We have had 11 | substantial help from the wonderful students who studied with us in our 12 | classical mechanics class. They have forced us to be clear; they have 13 | found bugs that we had to fix in the software, in the presentation, and 14 | in our thinking. 15 | 16 | We have had considerable technical help in the development and 17 | presentation of the subject matter from Harold Abelson. Abelson is one 18 | of the developers of the Scmutils software system. He put mighty effort 19 | into some sections of the code. We also consulted him when we were 20 | desperately trying to understand the logic of mechanics. He often could 21 | propose a direction to lead out of an intellectual maze. 22 | 23 | Matthew Halfant started us on the development of the Scmutils system. He 24 | encouraged us to get into scientific computation, using Scheme and 25 | functional style as an active way to explain the ideas, without the 26 | distractions of imperative languages such as C. In the 1980s he wrote 27 | some of the early Scheme procedures for numerical computation that we 28 | still use. 29 | 30 | Dan Zuras helped us with the invention of the unique organization of the 31 | Scmutils system. It is because of his insight that the system is 32 | organized around a generic extension of the chain rule for taking 33 | derivatives. He also helped in the heavy lifting that was required to 34 | make a really good polynomial GCD algorithm, based on ideas we learned 35 | from Richard Zippel. 36 | 37 | This book, and a great deal of other work of our laboratory, could not 38 | have been done without the outstanding work of Chris Hanson. Chris 39 | developed and maintained the Scheme system underlying this work. More 40 | recently, Taylor Campbell and others have continued the development of 41 | MIT/GNU Scheme. In addition, Chris took us through a pass of 42 | reorganization of the Scmutils system that forced the clarification of 43 | many of the ideas of types and of generic operations that make our 44 | system as good as it is. 45 | 46 | <> 47 | 48 | Guillermo Juan Rozas, co-developer of the Scheme system, made major 49 | contributions to the Scheme compiler, and implemented a number of other 50 | arcane mechanisms that make our system efficient enough to support our 51 | work. 52 | 53 | Besides contributing to some of the methods for the solution of linear 54 | equations in the Scmutils system, Jacob Katzenelson provided valuable 55 | feedback that improved the presentation of the material. 56 | 57 | Julie Sussman, PPA, provided careful reading and serious criticism that 58 | forced us to reorganize and rewrite major parts of the text. Julie 59 | worked with first-edition coauthor Meinhard (Hardy) Mayer to create the 60 | index. She also developed and maintained Gerald Jay Sussman over these 61 | many years. 62 | 63 | Cecile Wisdom, saint, is a constant reminder, by her faith and example, 64 | of what is really important. This project would not have been possible 65 | without the loving support and unfailing encouragement she has given 66 | Jack Wisdom. Their children, William, Edward, Thomas, John, and 67 | Elizabeth Wisdom, daily enrich his life with theirs. 68 | 69 | Many have contributed to our understanding of dynamics over the years. 70 | Boris Chirikov, Michel Hénon, Peter Goldreich, and Stan Peale have had 71 | particular influence. We also acknowledge the influence of the late Res 72 | Jost. 73 | 74 | Numerous others have contributed to this work, either in the development 75 | of the software or in the development of the content, including Bill 76 | Siebert, Panayotis Skordos, Kleanthes Koniaris, Kevin Lin, James 77 | McBride, Rebecca Frankel, Thomas F. Knight, Pawan Kumar, Elizabeth 78 | Bradley, Alice Seckel, Jihad Touma, and Kenneth Yip. We have had 79 | extremely useful feedback from and discussions with Piet Hut, Jon Doyle, 80 | David Finkelstein, Peter Fisher, Guy Lewis Steele Jr., and Robert 81 | Hermann. 82 | 83 | We want to thank the generations of students who have taken our classes 84 | and worked through our problems. They have provided exceptional feedback 85 | and encouragement. Our students Will Farr, Mark Tobenkin, Keith 86 | Winstein, Alexey Radul, Micah Brodsky, Damon Vander Lind, Peter 87 | Iannucci, William Throwe, and Leo Stein were especially helpful. 88 | 89 | We thank the MIT Computer Science and Artificial Intelligence Laboratory 90 | for its hospitality and logistical support. We acknowledge the Panasonic 91 | Corporation for support of Gerald Jay Sussman through an endowed chair. 92 | We thank Breene M. Kerr for <>support of Jack Wisdom through an 93 | endowed chair. We thank the MIT Mathematics and EECS departments for 94 | sabbatical support for Meinhard Mayer, who collaborated with us on the 95 | first edition. We are sad to report that Hardy is no longer with us. We 96 | sorely miss him. 97 | 98 | <> 99 | -------------------------------------------------------------------------------- /org/appendix.org: -------------------------------------------------------------------------------- 1 | [Go to [[file:book.html][first]], [[file:bibliography.html][previous]], 2 | [[file:index.html][next]] section;    [[file:toc.html][contents]];    3 | [[file:index.html][index]]] 4 | 5 | <> 6 | * [[file:toc.html#app-1][*List of Exercises*]] 7 | :PROPERTIES: 8 | :CUSTOM_ID: list-of-exercises 9 | :CLASS: front-title 10 | :END: 11 | | [[file:chapter001.html#Exe_1-1][*1.1*]] | *[[file:chapter001.html#Exe_1-10][1.10]]* | *[[file:chapter001.html#Exe_1-19][1.19]]* | *[[file:chapter001.html#Exe_1-28][1.28]]* | *[[file:chapter001.html#Exe_1-37][1.37]]* | 12 | | *[[file:chapter001.html#Exe_1-2][1.2]]* | *[[file:chapter001.html#Exe_1-11][1.11]]* | *[[file:chapter001.html#Exe_1-20][1.20]]* | *[[file:chapter001.html#Exe_1-29][1.29]]* | *[[file:chapter001.html#Exe_1-38][1.38]]* | 13 | | *[[file:chapter001.html#Exe_1-3][1.3]]* | *[[file:chapter001.html#Exe_1-12][1.12]]* | *[[file:chapter001.html#Exe_1-21][1.21]]* | *[[file:chapter001.html#Exe_1-30][1.30]]* | *[[file:chapter001.html#Exe_1-39][1.39]]* | 14 | | *[[file:chapter001.html#Exe_1-4][1.4]]* | *[[file:chapter001.html#Exe_1-13][1.13]]* | *[[file:chapter001.html#Exe_1-22][1.22]]* | *[[file:chapter001.html#Exe_1-31][1.31]]* | *[[file:chapter001.html#Exe_1-40][1.40]]* | 15 | | *[[file:chapter001.html#Exe_1-5][1.5]]* | *[[file:chapter001.html#Exe_1-14][1.14]]* | *[[file:chapter001.html#Exe_1-23][1.23]]* | *[[file:chapter001.html#Exe_1-32][1.32]]* | *[[file:chapter001.html#Exe_1-41][1.41]]* | 16 | | *[[file:chapter001.html#Exe_1-6][1.6]]* | *[[file:chapter001.html#Exe_1-15][1.15]]* | *[[file:chapter001.html#Exe_1-24][1.24]]* | *[[file:chapter001.html#Exe_1-33][1.33]]* | *[[file:chapter001.html#Exe_1-42][1.42]]* | 17 | | *[[file:chapter001.html#Exe_1-7][1.7]]* | *[[file:chapter001.html#Exe_1-16][1.16]]* | *[[file:chapter001.html#Exe_1-25][1.25]]* | *[[file:chapter001.html#Exe_1-34][1.34]]* | *[[file:chapter001.html#Exe_1-43][1.43]]* | 18 | | *[[file:chapter001.html#Exe_1-8][1.8]]* | *[[file:chapter001.html#Exe_1-17][1.17]]* | *[[file:chapter001.html#Exe_1-26][1.26]]* | *[[file:chapter001.html#Exe_1-35][1.35]]* | *[[file:chapter001.html#Exe_1-44][1.44]]* | 19 | | *[[file:chapter001.html#Exe_1-9][1.9]]* | *[[file:chapter001.html#Exe_1-18][1.18]]* | *[[file:chapter001.html#Exe_1-27][1.27]]* | *[[file:chapter001.html#Exe_1-36][1.36]]* |   | 20 | |   | | | | | 21 | | *[[file:chapter002.html#Exe_2-1][2.1]]* | *[[file:chapter002.html#Exe_2-6][2.6]]* | *[[file:chapter002.html#Exe_2-11][2.11]]* | *[[file:chapter002.html#Exe_2-16][2.16]]* | *[[file:chapter002.html#Exe_2-21][2.21]]* | 22 | | *[[file:chapter002.html#Exe_2-2][2.2]]* | *[[file:chapter002.html#Exe_2-7][2.7]]* | *[[file:chapter002.html#Exe_2-12][2.12]]* | *[[file:chapter002.html#Exe_2-17][2.17]]* |   | 23 | | *[[file:chapter002.html#Exe_2-3][2.3]]* | *[[file:chapter002.html#Exe_2-8][2.8]]* | *[[file:chapter002.html#Exe_2-13][2.13]]* | *[[file:chapter002.html#Exe_2-18][2.18]]* |   | 24 | | *[[file:chapter002.html#Exe_2-4][2.4]]* | *[[file:chapter002.html#Exe_2-9][2.9]]* | *[[file:chapter002.html#Exe_2-14][2.14]]* | *[[file:chapter002.html#Exe_2-19][2.19]]* |   | 25 | | *[[file:chapter002.html#Exe_2-5][2.5]]* | *[[file:chapter002.html#Exe_2-10][2.10]]* | *[[file:chapter002.html#Exe_2-15][2.15]]* | *[[file:chapter002.html#Exe_2-20][2.20]]* |   | 26 | |   | | | | | 27 | | *[[file:chapter003.html#Exe_3-1][3.1]]* | *[[file:chapter003.html#Exe_3-5][3.5]]* | *[[file:chapter003.html#Exe_3-9][3.9]]* | *[[file:chapter003.html#Exe_3-13][3.13]]* |   | 28 | | *[[file:chapter003.html#Exe_3-2][3.2]]* | *[[file:chapter003.html#Exe_3-6][3.6]]* | *[[file:chapter003.html#Exe_3-10][3.10]]* | *[[file:chapter003.html#Exe_3-14][3.14]]* |   | 29 | | *[[file:chapter003.html#Exe_3-3][3.3]]* | *[[file:chapter003.html#Exe_3-7][3.7]]* | *[[file:chapter003.html#Exe_3-11][3.11]]* | *[[file:chapter003.html#Exe_3-15][3.15]]* |   | 30 | | *[[file:chapter003.html#Exe_3-4][3.4]]* | *[[file:chapter003.html#Exe_3-8][3.8]]* | *[[file:chapter003.html#Exe_3-12][3.12]]* | *[[file:chapter003.html#Exe_3-16][3.16]]* |   | 31 | |   | | | | | 32 | | *[[file:chapter004.html#Exe_4-1][4.1]]* | *[[file:chapter004.html#Exe_4-3][4.3]]* | *[[file:chapter004.html#Exe_4-5][4.5]]* | *[[file:chapter004.html#Exe_4-7][4.7]]* | *[[file:chapter004.html#Exe_4-9][4.9]]* | 33 | | *[[file:chapter004.html#Exe_4-2][4.2]]* | *[[file:chapter004.html#Exe_4-4][4.4]]* | *[[file:chapter004.html#Exe_4-6][4.6]]* | *[[file:chapter004.html#Exe_4-8][4.8]]* | *[[file:chapter004.html#Exe_4-10][4.10]]* | 34 | |   | | | | | 35 | | *[[file:chapter005.html#Exe_5-1][5.1]]* | *[[file:chapter005.html#Exe_5-6][5.6]]* | *[[file:chapter005.html#Exe_5-11][5.11]]* | *[[file:chapter005.html#Exe_5-16][5.16]]* | *[[file:chapter005.html#Exe_5-21][5.21]]* | 36 | | *[[file:chapter005.html#Exe_5-2][5.2]]* | *[[file:chapter005.html#Exe_5-7][5.7]]* | *[[file:chapter005.html#Exe_5-12][5.12]]* | *[[file:chapter005.html#Exe_5-17][5.17]]* |   | 37 | | *[[file:chapter005.html#Exe_5-3][5.3]]* | *[[file:chapter005.html#Exe_5-8][5.8]]* | *[[file:chapter005.html#Exe_5-13][5.13]]* | *[[file:chapter005.html#Exe_5-18][5.18]]* |   | 38 | | *[[file:chapter005.html#Exe_5-4][5.4]]* | *[[file:chapter005.html#Exe_5-9][5.9]]* | *[[file:chapter005.html#Exe_5-14][5.14]]* | *[[file:chapter005.html#Exe_5-19][5.19]]* |   | 39 | | *[[file:chapter005.html#Exe_5-5][5.5]]* | *[[file:chapter005.html#Exe_5-10][5.10]]* | *[[file:chapter005.html#Exe_5-15][5.15]]* | *[[file:chapter005.html#Exe_5-20][5.20]]* |   | 40 | |   | | | | | 41 | | *[[file:chapter006.html#Exe_6-1][6.1]]* | *[[file:chapter006.html#Exe_6-4][6.4]]* | *[[file:chapter006.html#Exe_6-7][6.7]]* | *[[file:chapter006.html#Exe_6-10][6.10]]* |   | 42 | | *[[file:chapter006.html#Exe_6-2][6.2]]* | *[[file:chapter006.html#Exe_6-5][6.5]]* | *[[file:chapter006.html#Exe_6-8][6.8]]* | *[[file:chapter006.html#Exe_6-11][6.11]]* |   | 43 | | *[[file:chapter006.html#Exe_6-3][6.3]]* | *[[file:chapter006.html#Exe_6-6][6.6]]* | *[[file:chapter006.html#Exe_6-9][6.9]]* | *[[file:chapter006.html#Exe_6-12][6.12]]* |   | 44 | |   | | | | | 45 | | *[[file:chapter007.html#Exe_7-1][7.1]]* | *[[file:chapter007.html#Exe_7-2][7.2]]* | *[[file:chapter007.html#Exe_7-3][7.3]]* | *[[file:chapter007.html#Exe_7-4][7.4]]* | *[[file:chapter007.html#Exe_7-5][7.5]]* | 46 | |   | | | | | 47 | | *[[file:chapter009.html#Exe_9-1][9.1]]* | *[[file:chapter009.html#Exe_9-2][9.2]]* |   |   |   | 48 | 49 | <> 50 | 51 | [Go to [[file:book.html][first]], [[file:bibliography.html][previous]], 52 | [[file:index.html][next]] section;    [[file:toc.html][contents]];    53 | [[file:index.html][index]]] 54 | -------------------------------------------------------------------------------- /org/bibliography.org: -------------------------------------------------------------------------------- 1 | --- title: References prev: title: Chapter 9 url: chapter009.html 2 | layout: main --- 3 | 4 | <> 5 | ** References 6 | :PROPERTIES: 7 | :CUSTOM_ID: references 8 | :CLASS: unnumbered 9 | :END: 10 | [1] Harold Abelson and Gerald Jay Sussman with Julie Sussman, 11 | /Structure and Interpretation of Computer Programs/, 2nd edition, MIT 12 | Press and McGraw-Hill, 1996. 13 | 14 | [2] Ralph H. Abraham and Jerrold E. Marsden, /Foundations of 15 | Mechanics/, 2nd edition, Addison-Wesley, 1978. 16 | 17 | [3] Ralph H. Abraham, Jerrold E. Marsden, and Tudor Rat¸iu, 18 | /Manifolds, Tensor Analysis, and Applications/, 2nd edition, Springer 19 | Verlag, 1993. 20 | 21 | [4] V. I. Arnold, “Small Denominators and Problems of Stability of 22 | Motion in Classical and Celestial Mechanics,” /Russian Math. Surveys/, 23 | *18*, 6 (1963). 24 | 25 | [5] V. I. Arnold, /Mathematical Methods of Classical Mechanics/, 26 | Springer Verlag, 1980. 27 | 28 | [6] V. I. Arnold, V. V. Kozlov, and A. I. Neishtadt, “Mathematical 29 | Aspects of Classical and Celestial Mechanics,” /Dynamical Systems III/, 30 | Springer Verlag, 1988. 31 | 32 | [7] June Barrow-Green, “Poincaré and the Three Body Problem,” /History 33 | of Mathematics/, vol. 11, American Mathematical Society, London 34 | Mathematical Society, 1997. 35 | 36 | [8] Max Born, /Vorlesungen über Atommechanik/, Springer, 1925--30. 37 | 38 | [9] Constantin Carathéodory, /Calculus of variations and partial 39 | differential equations of the first order/, (translated by Robert B. 40 | Dean and Julius J. Brandstatter), Holden-Day, 1965--67. 41 | 42 | [10] Constantin Carathéodory, /Geometrische Optik/, in /Ergebnisse der 43 | Mathematik und ihrer Grenzgebiete/, Bd. 4, Springer, 1937. 44 | 45 | [11] Élie Cartan, /Leçons sur les invariants intégraux/, Hermann, 1922; 46 | reprinted 1971. 47 | 48 | [12] Boris V. Chirikov, “A Universal Instability of Many-Dimensional 49 | Oscillator Systems,” /Physics Reports/ *52*, 5, pp. 263--379 (1979). 50 | 51 | [13] Alonzo Church, /The Calculi of Lambda-Conversion/, Princeton 52 | University Press, 1941. 53 | 54 | [14] Richard Courant and David Hilbert, /Methods of Mathematical 55 | Physics/, 2 vols., Wiley-Interscience, 1957. 56 | 57 | [15] Jean Dieudonné, /Treatise on Analysis/, Academic Press, 1969. 58 | 59 | [16] Albert Einstein, /Relativity, the Special and General Theory/, 60 | Crown Publishers, 1961. 61 | 62 | <> 63 | [17] Hans Freudenthal, /Didactical Phenomenology of Mathematical 64 | Structures/, Kluwer, 1983. 65 | 66 | [18] Giovanni Gallavotti, /The Elements of Mechanics/, Springer Verlag, 67 | 1983. 68 | 69 | [19] F. R. Gantmakher, /Lektsii po analitichesko/ˇı /mekhanike/ 70 | (Lectures on analytical mechanics), Fizmatgiz, 1960; English translation 71 | by G. Yankovsky, Mir Publishing, 1970. 72 | 73 | [20] Herbert Goldstein, /Classical Mechanics/, 2nd edition, 74 | Addison-Wesley, 1980. 75 | 76 | [21] Michel Hénon, “Numerical Exploration of Hamiltonian Systems,” 77 | /Chaotic Behavior of Deterministic Systems/, North-Holland Publishing 78 | Company, 1983. 79 | 80 | [22] Michel Hénon and Carl Heiles, “The Applicability of the Third 81 | Integral of Motion: Some Numerical Experiments,” /Astronomical Journal/, 82 | *69*, pp. 73--79 (1964). 83 | 84 | [23] Robert Hermann, /Differential Geometry and the Calculus of 85 | Variations/, Academic Press, 1968. 86 | 87 | [24] IEEE Std 1178-1990, /IEEE Standard for the Scheme Programming 88 | Language/, Institute of Electrical and Electronic Engineers, Inc., 1991. 89 | 90 | [25] E. L. Ince, /Ordinary Differential Equations/, Longmans, Green and 91 | Co., 1926; Dover Publications, 1956. 92 | 93 | [26] Jorge V. José and Eugene J. Saletan, /Classical Dynamics: A 94 | Contemporary Approach/, Cambridge University Press, 1998. 95 | 96 | [27] Res Jost, “Poisson Brackets: An Unpedagogical Lecture,” in /Reviews 97 | of Modern Physics/, *36*, p. 572 (1964). 98 | 99 | [28] P. E. B. Jourdain, /The Principle of Least Action/, Open Court 100 | Publishing Company, 1913. 101 | 102 | [29] Cornelius Lanczos, /The Variational Principles of Mechanics/, 4th 103 | edition, University of Toronto Press, 1970; Dover Publications, 1982. 104 | 105 | [30] L. D. Landau and E. M. Lifshitz, /Mechanics/, 3rd edition, /Course 106 | of Theoretical Physics/, vol. 1, Pergamon Press, 1976. 107 | 108 | [31] Edward Lorenz, “Deterministic Nonperiodic Flow,” /Journal of 109 | Atmospheric Science/ *20*, p. 130 (1963). 110 | 111 | [32] Jerrold E. Marsden and Tudor S. Rat¸iu, /Introduction to Mechanics 112 | and Symmetry/, Springer Verlag, 1994. 113 | 114 | [33] Philip Morse and Hermann Feshbach, /Methods of Theoretical 115 | Physics/, 2 vols., McGraw-Hill, 1953. 116 | 117 | [34] Lothar Nordheim, /The Principles of Mechanics/, in /Handbuch der 118 | Physik/, vol. 2, Springer, 1927. 119 | 120 | [35] Henri Poincaré, /Les Méthodes nouvelles de la Mécanique céleste/, 121 | Paris, 1892; Dover Publications, 1957; English translation by the 122 | National Aeronautics and Space Administration, technical report NASA TT 123 | F-452. 124 | 125 | <> 126 | [36] H. C. Plummer, /An Introductory Treatise on Dynamical Astronomy/, 127 | Cambridge University Press, 1918; Dover Publications, 1960. 128 | 129 | [37] Florian Scheck, /Mechanics, From Newton's Laws to Deterministic 130 | Chaos/, 2nd edition, Springer-Verlag, 1994. 131 | 132 | [38] P. Kenneth Seidelmann, editor, /Explanatory Supplement to the 133 | Astronomical Almanac/, University Science Books, 1992. 134 | 135 | [39] Jean-Marie Souriau, /Structure des Systèmes Dynamiques,/ Dunod 136 | Université, Paris, 1970; English translation: Birkh¨auser Boston, 1998. 137 | 138 | [40] Michael Spivak, /Calculus on Manifolds/, W. A. Benjamin, 1965. 139 | 140 | [41] Stanly Steinberg, “Lie Series, Lie Transformations, and Their 141 | Applications,” in /Lie Methods in Optics/, J. Sánchez Mondragón and K. 142 | B. Wolf, editors, Springer Verlag, 1986, pp. 45--103. 143 | 144 | [42] Shlomo Sternberg, /Celestial Mechanics/, W. A. Benjamin, 1969. 145 | 146 | [43] E. C. G. Sudarshan and N. Mukunda, /Classical Dynamics: A Modern 147 | Perspective/, John Wiley & Sons, 1974. 148 | 149 | [44] J. B. Taylor, unpublished, 1968. 150 | 151 | [45] Walter Thirring, /A Course in Mathematical Physics 1: Classical 152 | Dynamical Systems/, translated by Evans M. Harell, Springer-Verlag, 153 | 1978. 154 | 155 | [46] E. T. Whittaker, /A Treatise on Analytical Dynamics/, Cambridge 156 | University Press, 1937. 157 | 158 | [47] J. Wisdom, “The Origin of the Kirkwood Gaps: A Mapping for 159 | Asteroidal Motion Near the 3/1 Commensurability,” /Astron. J./, *87*, p. 160 | 557 (1982). 161 | 162 | [48] J. Wisdom, “A Mapping for the Hénon-Heiles System,” unpublished 163 | notes, (1987). 164 | 165 | [49] J. Wisdom and M. Holman, “Symplectic Maps for the N-Body Problem,” 166 | /Astron. J./, *102*, p. 1528 (1991). 167 | 168 | <> 169 | -------------------------------------------------------------------------------- /org/chapter007.org: -------------------------------------------------------------------------------- 1 | --- title: Canonical Perterbation Theory chapter: 7 next: title: Chapter 2 | 8 url: chapter008.html prev: title: Chapter 6 url: chapter006.html 3 | layout: chapter --- <> {% include chapter_title.html %} 4 | 5 | #+begin_quote 6 | Having treated the motion of the moon about the earth, and having 7 | obtained an elliptical orbit, [Newton] considered the effect of the 8 | sun on the moon's orbit by taking into account the variations of the 9 | latter. However, the calculations caused him great difficulties ... 10 | Indeed, the problems he encountered were such that [Newton] was 11 | prompted to remark to the astronomer John Machin that “... his head 12 | never ached but with his studies on the moon.” 13 | 14 | June Barrow-Green, /Poincaré and the Three Body Problem/ 15 | [[[file:bibliography.html#bib_7][7]]], [[file:chapter001.html#p15][p. 16 | 15]] 17 | 18 | Closed-form solutions of dynamical systems can be found only rarely. 19 | However, some systems differ from a solvable system by the addition of 20 | a small effect. The goal of perturbation theory is to relate aspects 21 | of the motion of the given system to those of the nearby solvable 22 | system. We can try to find a way to transform the exact solution of 23 | this approximate problem into an approximate solution to the original 24 | problem. We can also use perturbation theory to try to predict 25 | qualitative features of the solutions by describing the characteristic 26 | ways in which solutions of the solvable system are distorted by the 27 | additional effects. For instance, we might want to predict where the 28 | largest resonance regions are located or the locations and sizes of 29 | the largest chaotic zones. Being able to predict such features can 30 | give insight into the behavior of the particular system of interest. 31 | 32 | Suppose, for example, we have a system characterized by a Hamiltonian 33 | that breaks up into two parts as follows: 34 | 35 | $$\begin{matrix} 36 | {H = H_{0} + \mathit{\epsilon}H_{1},} & \left( 7.1 \right) \\ 37 | \end{matrix}$$ 38 | 39 | where /H/_{0} is solvable and /ϵ/ is a small parameter. The difference 40 | between our system and a solvable system is then a small additive 41 | complication. 42 | 43 | <> 44 | 45 | There are a number of strategies for doing this. One strategy is to 46 | seek a canonical transformation that eliminates from the Hamiltonian 47 | the terms of order /ϵ/ that impede solution---this typically 48 | introduces new terms of order /ϵ/^{2}. Then one seeks another 49 | canonical transformation that eliminates the terms of order /ϵ/^{2} 50 | impeding solution, leaving terms of order /ϵ/^{3}. We can imagine 51 | repeating this process until the part that impedes solution is of such 52 | high order in /ϵ/ that it can be neglected. Having reduced the problem 53 | to a solvable problem, we can reverse the sequence of transformations 54 | to find an approximate solution of the original problem. Does this 55 | process converge? How do we know we can ever neglect the remaining 56 | terms? Let's follow this path and see where it goes. 57 | 58 | * *7.1 Perturbation Theory with Lie Series* 59 | :PROPERTIES: 60 | :CUSTOM_ID: h1-42 61 | :CLASS: level1 62 | :END: 63 | Given a system, we look for a decomposition of the Hamiltonian in the 64 | form 65 | 66 | $$\begin{matrix} 67 | {H\left( {t,q,p} \right) = H_{0}\left( {t,q,p} \right) + \mathit{\epsilon}H_{1}\left( {t,q,p} \right),} & \left( 7.2 \right) \\ 68 | \end{matrix}$$ 69 | 70 | where /H/_{0} is solvable. We assume that the Hamiltonian has no 71 | explicit time dependence; this can be ensured by going to the extended 72 | phase space if necessary. We also assume that a canonical 73 | transformation has been made so that /H/_{0} depends solely on the 74 | momenta: 75 | 76 | $$\begin{matrix} 77 | {\partial_{1}H_{0} = 0.} & \left( 7.3 \right) \\ 78 | \end{matrix}$$ 79 | 80 | We carry out a Lie transformation and find the conditions that the Lie 81 | generator /W/ must satisfy to eliminate the order /ϵ/ terms from the 82 | Hamiltonian. 83 | 84 | The Lie transform and associated Lie series specify a canonical 85 | transformation: 86 | 87 | $$\begin{array}{rll} 88 | {H\prime} & {= E_{\mathit{\epsilon},W}^{\prime}H = e^{\mathit{\epsilon}L_{W}}H} & \\ 89 | q & {= {({E_{\mathit{\epsilon},W}^{\prime}Q})}{({t,q\prime,p\prime})} = {({e^{\mathit{\epsilon}L_{W}}Q})}{({t,q\prime,p\prime})}} & \\ 90 | p & {= {({E_{\mathit{\epsilon},W}^{\prime}P})}{({t,q\prime,p\prime})} = {({e^{\mathit{\epsilon}L_{W}}P})}{({t,q\prime,p\prime})}} & \\ 91 | {({t,q,p})} & {= {({E_{\mathit{\epsilon},W}^{\prime}I})}{({t,q\prime,p\prime})} = {({e^{\mathit{\epsilon}L_{W}}I})}{({t,q\prime,p\prime})},} & {(7.4)} \\ 92 | \end{array}$$ 93 | 94 | <> 95 | 96 | where /Q/ = /I/_{1} and /P/ = /I/_{2} are the coordinate and momentum 97 | selectors and /I/ is the identity function. Recall the definitions 98 | 99 | $$\begin{array}{lll} 100 | {e^{\mathit{\epsilon}L_{W}}F} & {= F + \mathit{\epsilon}L_{W}F + \frac{1}{2}\mathit{\epsilon}^{2}L_{W}^{2}F + \cdots} & \\ 101 | & {= F + \mathit{\epsilon}\left\{ {F,W} \right\} + \frac{1}{2}\mathit{\epsilon}^{2}\left\{ {\left\{ {F,W} \right\},W} \right\} + \cdots,} & \left( 7.5 \right) \\ 102 | \end{array}$$ 103 | 104 | with /L_{W}F/ = {/F/, /W/ }. 105 | 106 | Applying the Lie transformation to /H/ gives us 107 | 108 | $$\begin{array}{lll} 109 | {H\prime} & {= e^{\mathit{\epsilon}L_{W}}H} & \\ 110 | & {= H_{0} + \mathit{\epsilon}L_{W}H_{0} + \frac{1}{2}\mathit{\epsilon}^{2}L_{W}^{2}H_{0} + \cdots} & \\ 111 | & {\text{           } + \mathit{\epsilon}H_{1} + \mathit{\epsilon}^{2}L_{W}H_{1} + \cdots} & \\ 112 | & {= H_{0} + \mathit{\epsilon}\left( {L_{W}H_{0} + H_{1}} \right) + \mathit{\epsilon}^{2}\left( {\frac{1}{2}L_{W}^{2}H_{0} + L_{W}H_{1}} \right) + \cdots.} & \left( 7.6 \right) \\ 113 | \end{array}$$ 114 | 115 | The first-order term in /ϵ/ is zero if /W/ satisfies the condition 116 | 117 | $$\begin{matrix} 118 | {L_{W}H_{0} + H_{1} = 0,} & \left( 7.7 \right) \\ 119 | \end{matrix}$$ 120 | 121 | which is a linear partial differential equation for /W/. The 122 | transformed Hamiltonian is 123 | 124 | $$\begin{array}{lll} 125 | {H\prime} & {= H_{0} + \mathit{\epsilon}^{2}\left( {\frac{1}{2}L_{W}^{2}H_{0} + L_{W}H1} \right) + \cdots} & \\ 126 | & {= H_{0} + \frac{1}{2}\mathit{\epsilon}^{2}L_{W}H_{1} + \cdots,} & \left( 7.8 \right) \\ 127 | \end{array}$$ 128 | 129 | where we have used condition ([[file:chapter007.html#disp_7.7][7.7]]) 130 | to simplify the /ϵ/^{2} contribution. 131 | 132 | This basic step of perturbation theory has eliminated terms of a 133 | certain order (order /ϵ/) from the Hamiltonian, but in doing so has 134 | generated new terms of higher order (here /ϵ/^{2} and higher). 135 | 136 | At this point we can find an approximate solution by truncating 137 | Hamiltonian ([[file:chapter007.html#disp_7.8][7.8]]) to /H/_{0}, which 138 | is solvable. The approximate solution for given initial conditions 139 | /s/_{0} = (/t/_{0}, /q/_{0}, /p/_{0}) is obtained by finding the 140 | corresponding 141 | 142 | $\left( {t_{0},q_{0}^{\prime},p_{0}^{\prime}} \right)$ 143 | 144 | using the inverse of transformation 145 | ([[file:chapter007.html#disp_7.4][7.4]]). Then the system is evolved 146 | to time /t/ using the solutions of the truncated Hamiltonian /H/_{0}, 147 | giving the state (/t/, /q/′, /p/′). The phase-space coordinates of the 148 | evolved point are transformed back to the original variables using the 149 | transformation ([[file:chapter007.html#disp_7.4][7.4]]) to 150 | <>state /s/ = (/t/, /q/, /p/). The approximate solution is 151 | 152 | $$\begin{array}{lll} 153 | s & {= \left( {\left( {E_{\mathit{\epsilon},W}^{\prime}I} \right) \circ \left( {E_{t - t_{0},H_{0}}I} \right) \circ \left( {E_{- \mathit{\epsilon},W}^{\prime}I} \right)} \right)\left( s_{0} \right)} & \\ 154 | & {= \left( {E_{- \mathit{\epsilon},W}^{\prime}E_{t - t_{0},H_{0}}E_{\mathit{\epsilon},W}^{\prime}I} \right)\left( s_{0} \right)} & \\ 155 | & {= \left( {e^{- \mathit{\epsilon}L_{W}}e^{{({t - t_{0}})}D_{H_{0}}}e^{\mathit{\epsilon}L_{W}}I} \right)\left( s_{0} \right),} & \left( 7.9 \right) \\ 156 | \end{array}$$ 157 | 158 | using the identity ([[file:chapter006.html#disp_6.111][6.111]]). 159 | Notice that the time evolution of /H/_{0} is expressed in terms of the 160 | evolution operator /E/ rather than the Lie-transform operator /E/′, 161 | because the time must also be advanced. The power-series expansion for 162 | 163 | $E_{\Delta t,H_{0}}$ 164 | 165 | is expressed in terms of 166 | 167 | $D_{H_{0}}$ 168 | 169 | rather than 170 | 171 | $L_{H_{0}}$ 172 | 173 | (see [[file:chapter006.html#disp_6.136][6.136]]). If the Lie transform 174 | 175 | $E_{\mathit{\epsilon},W}^{\prime} = e^{\mathit{\epsilon}L_{W}}$ 176 | 177 | must be evaluated by summing the series, then we must specify the 178 | order to which the sum extends. 179 | 180 | Assuming everything goes okay, we can imagine repeating this process 181 | to eliminate the order /ϵ/^{2} terms and so on, bringing the 182 | transformed Hamiltonian as close as we like to /H/_{0}. Unfortunately, 183 | there are complications. We can understand some of these complications 184 | and how to deal with them by considering some specific applications. 185 | 186 | * *7.2 Pendulum as a Perturbed Rotor* 187 | :PROPERTIES: 188 | :CUSTOM_ID: h1-42a 189 | :CLASS: level1 190 | :END: 191 | The pendulum is a simple one-degree-of-freedom system, for which the 192 | solutions are known. If we consider the pendulum as a free rotor with 193 | the added complication of gravity, then we can carry out a 194 | perturbation step as just described to see how well it approximates 195 | the known motion of the pendulum. 196 | 197 | The motion of a pendulum is described by the Hamiltonian 198 | 199 | $$\begin{matrix} 200 | {H\left( {t,\theta,p} \right) = \frac{p^{2}}{2\alpha} - \mathit{\epsilon}\beta\cos\left( \theta \right),} & \left( 7.10 \right) \\ 201 | \end{matrix}$$ 202 | 203 | with coordinate /θ/ and conjugate angular momentum /p/, where /α/ = 204 | /ml/^{2} and /β/ = /mgl/. The parameter /ϵ/ allows us to scale the 205 | perturbation; it is 1 for the actual pendulum. We divide the 206 | Hamiltonian into the free-rotor Hamiltonian and the perturbation from 207 | gravity: 208 | 209 | $$\begin{matrix} 210 | {H = H_{0} + \mathit{\epsilon}H_{1},} & \left( 7.11 \right) \\ 211 | \end{matrix}$$ 212 | 213 | <> 214 | 215 | where 216 | 217 | $$\begin{array}{rll} 218 | {H_{0}\left( {t,\theta,p} \right)} & {= \frac{p^{2}}{2\alpha}} & \\ 219 | {\mathit{\epsilon}H_{1}\left( {t,\theta,p} \right)} & {= - \mathit{\epsilon}\beta\cos\theta.} & \left( 7.12 \right) \\ 220 | \end{array}$$ 221 | 222 | The Lie generator /W/ satisfies condition 223 | ([[file:chapter007.html#disp_7.7][7.7]]): 224 | 225 | $$\begin{matrix} 226 | {\left\{ {H_{0},W} \right\} + H_{1} = 0,} & \left( 7.13 \right) \\ 227 | \end{matrix}$$ 228 | 229 | or 230 | 231 | $$\begin{matrix} 232 | {- \frac{p}{\alpha}\partial_{1}W\left( {t,\theta,p} \right) - \beta\cos\theta = 0.} & \left( 7.14 \right) \\ 233 | \end{matrix}$$ 234 | 235 | So 236 | 237 | $$\begin{matrix} 238 | {W\left( {t,\theta,p} \right) = - \frac{\alpha\beta\sin\theta}{p},} & \left( 7.15 \right) \\ 239 | \end{matrix}$$ 240 | 241 | where the arbitrary integration constant is ignored. 242 | 243 | The transformed Hamiltonian is /H/′ = /H/_{0} + /o/(/ϵ/^{2}). If we 244 | can ignore the /ϵ/^{2} contributions, then the transformed Hamiltonian 245 | is simply 246 | 247 | $$\begin{matrix} 248 | {H\prime\left( {t,\theta\prime,p\prime} \right) = \frac{\left( p\prime \right)^{2}}{2\alpha},} & \left( 7.16 \right) \\ 249 | \end{matrix}$$ 250 | 251 | with solutions 252 | 253 | $$\begin{array}{lll} 254 | {\theta\prime} & {= \theta_{0}^{\prime} + \frac{p_{0}^{\prime}}{\alpha}\left( {t - t_{0}} \right)} & \\ 255 | {p\prime} & {= p_{0}^{\prime}.} & \left( 7.17 \right) \\ 256 | \end{array}$$ 257 | 258 | To connect these solutions to the solutions of the original problem, 259 | we use the Lie series 260 | 261 | $$\begin{array}{lll} 262 | \theta & {= \left( {e^{\mathit{\epsilon}L_{W}}Q} \right)\left( {t,\theta\prime,p\prime} \right)} & \\ 263 | & {= \theta\prime + \mathit{\epsilon}\left\{ {Q,W} \right\}\left( {t,\theta\prime,p\prime} \right) + \cdots} & \\ 264 | & {= \theta\prime + \mathit{\epsilon}\partial_{2}W\left( {t,\theta\prime,p\prime} \right) + \cdots} & \\ 265 | & {= \theta\prime + \mathit{\epsilon}\frac{\alpha\beta\sin\theta\prime}{\left( p\prime \right)^{2}} + \cdots.} & \left( 7.18 \right) \\ 266 | \end{array}$$ 267 | 268 | <> 269 | 270 | Similarly, 271 | 272 | $$\begin{matrix} 273 | {p = p\prime + \mathit{\epsilon}\frac{\alpha\beta\cos\theta\prime}{p\prime} + \cdots.} & \left( 7.19 \right) \\ 274 | \end{matrix}$$ 275 | 276 | Note that if the Lie series is truncated it is not exactly a canonical 277 | transformation; only the infinite series is canonical. 278 | 279 | The initial values 280 | 281 | $\theta_{0}^{\prime}$ 282 | 283 | and 284 | 285 | $p_{0}^{\prime}$ 286 | 287 | are determined from the initial values of /θ/ and /p/ by the inverse 288 | Lie transformation: 289 | 290 | $$\begin{array}{lll} 291 | {\theta\prime} & {= \left( {e^{- \mathit{\epsilon}L_{W}}Q} \right)\left( {t,\theta,p} \right)} & \\ 292 | & {= \theta - \mathit{\epsilon}\frac{\alpha\beta\sin\theta}{\left( p \right)^{2}} + \cdots} & \left( 7.20 \right) \\ 293 | \end{array}$$ 294 | 295 | and 296 | 297 | $$\begin{matrix} 298 | {p\prime = p - \mathit{\epsilon}\frac{\alpha\beta\cos\theta}{p} + \cdots.} & \left( 7.21 \right) \\ 299 | \end{matrix}$$ 300 | 301 | Note that if we truncate the coordinate transformations after the 302 | first-order terms in /ϵ/ (or any finite order), then the inverse 303 | transformation is not exactly the inverse of the transformation. 304 | 305 | The approximate solution for given initial conditions (/t/_{0}, 306 | /θ/_{0}, /p/_{0}) is obtained by finding the corresponding 307 | 308 | $\left( {t_{0},\theta_{0}^{\prime},p_{0}^{\prime}} \right)$ 309 | 310 | using the transformation ([[file:chapter007.html#disp_7.20][7.20]]) 311 | and ([[file:chapter007.html#disp_7.21][7.21]]). Then the system is 312 | evolved using the solutions 313 | ([[file:chapter007.html#disp_7.17][7.17]]). The phase-space 314 | coordinates of the evolved point are transformed back to the original 315 | variables using the transformation 316 | ([[file:chapter007.html#disp_7.18][7.18]]) and 317 | ([[file:chapter007.html#disp_7.19][7.19]]). 318 | 319 | We define the two parts of the pendulum Hamiltonian: 320 | 321 | {% highlight scheme %} (define ((H0 alpha) state) (let ((p (momentum 322 | state))) (/ (square p) (* 2 alpha)))) (define ((H1 beta) state) (let 323 | ((theta (coordinate state))) (* -1 beta (cos theta)))) {% endhighlight 324 | %} 325 | 326 | The Hamiltonian for the pendulum can be expressed as a series 327 | expansion in the parameter /ϵ/ by 328 | 329 | {% highlight scheme %} (define (H-pendulum-series alpha beta epsilon) 330 | (series (H0 alpha) (* epsilon (H1 beta)))) {% endhighlight %} 331 | 332 | where the series procedure is a constructor for a series whose first 333 | terms are given and all further terms are zero. The Lie generator that 334 | eliminates the order /ϵ/ terms is 335 | 336 | {% highlight scheme %} (define ((W alpha beta) state) (let ((theta 337 | (coordinate state)) (p (momentum state))) (/ (* -1 alpha beta (sin 338 | theta)) p))) {% endhighlight %} 339 | 340 | We check that W satisfies condition 341 | ([[file:chapter007.html#disp_7.7][7.7]]): 342 | 343 | {% highlight scheme %} ((+ ((Lie-derivative (W 'alpha 'beta)) (H0 344 | 'alpha)) (H1 'beta)) (up 't 'theta 'p)) {% endhighlight %} 345 | 346 | {% highlight scheme %} 0 {% endhighlight %} 347 | 348 | and that it has the desired effect on the Hamiltonian: 349 | 350 | {% highlight scheme %} (show-expression (series:sum (((exp (* 'epsilon 351 | (Lie-derivative (W 'alpha 'beta)))) (H-pendulum-series 'alpha 'beta 352 | 'epsilon)) (up 't 'theta 'p)) 2)) {% endhighlight %} 353 | 354 | $$\frac{\frac{1}{2}p^{2}}{\alpha} + \frac{\frac{1}{2}\alpha\beta^{2}\mathit{\epsilon}^{2}\left( {\sin\left( \theta \right)} \right)^{2}}{p^{2}}$$ 355 | 356 | Indeed, the order /ϵ/ term has been removed and an order /ϵ/^{2} term 357 | has been introduced. 358 | 359 | Ignoring the /ϵ/^{2} terms in the new Hamiltonian, the solution is 360 | 361 | {% highlight scheme %} (define (((solution0 alpha beta) t) state0) 362 | (let ((t0 (time state0)) (theta0 (coordinate state0)) (p0 (momentum 363 | state0))) (up t (+ theta0 (/ (* (- t t0) p0) alpha)) p0))) {% 364 | endhighlight %} 365 | 366 | The transformation from primed to unprimed phase-space coordinates is, 367 | including terms up to order, 368 | 369 | {% highlight scheme %} (define ((C alpha beta epsilon order) state) 370 | (series:sum (((Lie-transform (W alpha beta) epsilon) identity) state) 371 | order)) {% endhighlight %} 372 | 373 | <> 374 | 375 | To second order in /ϵ/ the transformation generated by W is 376 | 377 | {% highlight scheme %} (show-expression ((C 'alpha 'beta 'epsilon 2) 378 | (up 't 'theta 'p))) {% endhighlight %} 379 | 380 | $$\begin{pmatrix} 381 | t \\ 382 | {- \frac{\frac{1}{2}\alpha^{2}\beta^{2}\mathit{\epsilon}^{2}\cos\left( \theta \right)\,\sin\left( \theta \right)}{p^{4}} + \frac{\alpha\beta\mathit{\epsilon}\sin\left( \theta \right)}{p^{2}} + \theta} \\ 383 | {- \frac{\frac{1}{2}\alpha^{2}\beta^{2}\mathit{\epsilon}^{2}}{p^{3}} + \frac{\alpha\beta\mathit{\epsilon}\cos\left( \theta \right)}{p} + p} \\ 384 | \end{pmatrix}$$ 385 | 386 | The inverse transformation is 387 | 388 | {% highlight scheme %} (define (C-inv alpha beta epsilon order) (C 389 | alpha beta (- epsilon) order)) {% endhighlight %} 390 | 391 | With these components, the perturbative solution (equation 392 | [[file:chapter007.html#disp_7.9][7.9]]) is 393 | 394 | {% highlight scheme %} (define (((solution epsilon order) alpha beta) 395 | delta-t) (compose (C alpha beta epsilon order) ((solution0 alpha beta) 396 | delta-t) (C-inv alpha beta epsilon order))) {% endhighlight %} 397 | 398 | The resulting procedure maps an initial state to the solution state 399 | advanced by delta-t. 400 | 401 | We can examine the behavior of the perturbative solution and compare 402 | it to the true behavior of the pendulum. There are several 403 | considerations. We have truncated the Lie series for the phase-space 404 | transformation. Does the missing part matter? If the missing part does 405 | not matter, how well does this perturbation step work? 406 | 407 | [[#Fig_7-1][Figure 7.1]] shows that as we increase the number of terms 408 | in the Lie series for the phase-space coordinate transformation the 409 | result appears to converge. The lone trajectory includes only terms of 410 | first order. The others, including terms of second, third, and fourth 411 | order, are closely clustered. On the left edge of the graph (at /θ/ = 412 | −/π/), the order of the solution increases from the top to the bottom 413 | of the graph. In the middle (at /θ/ = 0), the fourth-order curve is 414 | between the second-order curve and the third-order curve. In addition 415 | to the error in phase-space path, there is also an error in the 416 | period---the higher-order orbits have longer periods <>than the 417 | first-order orbit. The parameters are /α/ = 1.0 and /β/ = 0.1. We have 418 | set /ϵ/ = 1. Each trajectory was started at /θ/ = 0 with /p/ = 0.7. 419 | Notice that the initial point on the solution varies between 420 | trajectories. This is because the transformation is not perfectly 421 | inverted by the truncated Lie series. 422 | 423 | #+caption: *Figure 7.1* The perturbative solution in the phase plane, 424 | including terms of first, second, third, and fourth order in the 425 | phase-space coordinate transformation. The solutions appear to 426 | converge. 427 | [[file:images/Art_P1187.jpg]] 428 | 429 | [[#Fig_7-2][Figure 7.2]] compares the perturbative solution (with 430 | terms up to fourth order) with the actual trajectory of the pendulum. 431 | The initial points coincide, to the precision of the graph, because 432 | the terms to fourth order are sufficient. The trajectories deviate 433 | both in the phase plane and in the period, but they are still quite 434 | close. 435 | 436 | The trajectories of [[#Fig_7-1][figures 7.1]] and [[#Fig_7-2][7.2]] 437 | are all for the same initial state. As we vary the initial state we 438 | find that for trajectories in the circulation region, far from the 439 | separatrix, the perturbative solution does quite well. However, if we 440 | get close to the separatrix or if we enter the oscillation region, the 441 | perturbative solution is nothing like the real solution, and it does 442 | not even seem to converge. [[#Fig_7-3][Figure 7.3]] shows what happens 443 | when we try to use the perturbative solution inside the oscillation 444 | region. Each trajectory was started at /θ/ = 0 with /p/ = 0.55. The 445 | parameters are /α/ = 1.0 and /β/ = 0.1, as before. 446 | 447 | <> 448 | 449 | #+caption: *Figure 7.2* The perturbative solution in the phase plane, 450 | including terms of fourth order in the phase-space coordinate 451 | transformation, is compared with the actual trajectory. The actual 452 | trajectory is the lower of the two curves. The parameters are the same 453 | as in [[file:chapter007.html#Fig_7-1][figure 7.1]]. 454 | [[file:images/Art_P1188.jpg]] 455 | 456 | This failure of the perturbation solution should not be surprising. We 457 | assumed that the real motion was a distorted version of the motion of 458 | the free rotor. But in the oscillation region the assumption is not 459 | true---the pendulum is not rotating at all. The perturbative solutions 460 | can be valid (if they work at all!) only in a region where the 461 | topology of the real orbits is the same as the topology of the 462 | perturbative solutions. 463 | 464 | We can make a crude estimate of the range of validity of the 465 | perturbative solution by looking at the first correction term in the 466 | phase-space transformation ([[file:chapter007.html#disp_7.18][7.18]]). 467 | The correction in /θ/ is proportional to /ϵαβ//(/p/′)^{2}. This is not 468 | a small perturbation if 469 | 470 | $$\begin{matrix} 471 | {\left| p\prime \right| < \sqrt{\mathit{\epsilon}\alpha\beta}.} & \left( 7.22 \right) \\ 472 | \end{matrix}$$ 473 | 474 | This sets the scale for the validity of the perturbative solution. 475 | 476 | We can compare this scale to the size of the oscillation region (see 477 | [[file:chapter007.html#Fig_7-4][figure 7.4]]). We can obtain the width 478 | of the region of oscillation of the pendulum^{[[#endnote_1][1]]} by 479 | considering the separatrix. The value <>of the Hamiltonian on 480 | the separatrix is the same as the value at the unstable equilibrium: 481 | /H/(/t/, /θ/ = /π/, /p/ = 0) = /βϵ/. The separatrix has maximum 482 | momentum /p/^{sep} at /θ/ = 0: 483 | 484 | #+caption: *Figure 7.3* The perturbative solution does not converge in 485 | the oscillation region. As we include more terms in the Lie series for 486 | the phase-space transformation, the resulting trajectory develops 487 | loops near the hyperbolic fixed point that increase in size with the 488 | order. 489 | [[file:images/Art_P1189.jpg]] 490 | 491 | $$\begin{matrix} 492 | {H\left( {t,0,p^{\text{sep}}} \right) = H\left( {t,\pi,0} \right).} & \left( 7.23 \right) \\ 493 | \end{matrix}$$ 494 | 495 | Solving for /p/^{sep}, the half-width of the region of oscillation, we 496 | find 497 | 498 | $$\begin{matrix} 499 | {p^{\text{sep}} = 2\sqrt{\alpha\beta\mathit{\epsilon}}.} & \left( 7.24 \right) \\ 500 | \end{matrix}$$ 501 | 502 | Comparing equations ([[file:chapter007.html#disp_7.22][7.22]]) and 503 | ([[file:chapter007.html#disp_7.24][7.24]]), we see that the 504 | requirement that the terms in the perturbation solution be small 505 | excludes a region of the phase space with the same scale as the region 506 | of oscillation of the pendulum. 507 | 508 | What the perturbation theory is doing is deforming the phase-space 509 | coordinate system so that the problem looks like the free-rotor 510 | problem. This deformation is sensible only in the circulating case. 511 | So, it is not surprising that the perturbation theory fails in the 512 | oscillation region. What may be surprising is how well the 513 | perturbation theory works just outside the oscillation region. The 514 | <>range of /p/ in which the perturbation theory is not valid 515 | scales in the same way as the width of the oscillation region. This 516 | need not have been the case---the perturbation theory could have 517 | failed over a wider range. 518 | 519 | #+caption: *Figure 7.4* The oscillation region of the pendulum is 520 | delimited by the separatrix. The maximum momentum occurs at the 521 | zero-crossing of the angle. Energy is conserved, so the energy is the 522 | same at the point of maximum momentum and at the unstable fixed point. 523 | At the unstable fixed point the energy is entirely potential energy, 524 | because the momentum is zero. We use this to compute the maximum 525 | momentum (where the potential energy is zero and all of the energy is 526 | kinetic). 527 | [[file:images/Art_P1190.jpg]] 528 | 529 | *Exercise 7.1: Symplectic residual* 530 | 531 | For the transformation (C alpha beta epsilon order), compute the 532 | residuals in the symplectic test for various orders of truncation of 533 | the Lie series. 534 | 535 | *** *7.2.1 Higher Order* 536 | :PROPERTIES: 537 | :CUSTOM_ID: h3_7-2-1 538 | :CLASS: level3 539 | :END: 540 | We can improve the perturbative solution by carrying out additional 541 | perturbation steps. The overall plan is the same as before. We perform 542 | a Lie transformation with a new generator that eliminates the desired 543 | terms from the Hamiltonian. 544 | 545 | After the first step the Hamiltonian is, to second order in /ϵ/, 546 | 547 | <> 548 | 549 | $$\begin{array}{lll} 550 | {H\prime\left( {t,\theta\prime,p\prime} \right)} & {= \frac{\left( p\prime \right)^{2}}{2\alpha} + \mathit{\epsilon}^{2}\frac{\alpha\beta^{2}}{2\left( p\prime \right)^{2}}\left( {\sin\theta\prime} \right)^{2} + \cdots} & \\ 551 | & {= \frac{\left( p\prime \right)^{2}}{2\alpha} + \mathit{\epsilon}^{2}\frac{\alpha\beta^{2}}{4\left( p\prime \right)^{2}}\left( {1 - \cos\left( {2\theta\prime} \right)} \right) + \cdots} & \\ 552 | & {= H_{0}\left( p\prime \right) + \mathit{\epsilon}^{2}H_{2}\left( {t,\theta\prime,p\prime} \right) + \cdots.} & \left( 7.25 \right) \\ 553 | \end{array}$$ 554 | 555 | Performing a Lie transformation with generator /W/′ yields the 556 | Hamiltonian 557 | 558 | $$\begin{array}{lll} 559 | {H''} & {= e^{\mathit{\epsilon}^{2}L_{W\prime}}H\prime} & \\ 560 | & {= H_{0} + \mathit{\epsilon}^{2}\left( {L_{W\prime}H_{0} + H_{2}} \right) + \cdots.} & \left( 7.26 \right) \\ 561 | \end{array}$$ 562 | 563 | So the condition on /W/′ that the second-order terms are eliminated is 564 | 565 | $$\begin{matrix} 566 | {L_{W\prime}H_{0} + H_{2} = 0.} & \left( 7.27 \right) \\ 567 | \end{matrix}$$ 568 | 569 | This is 570 | 571 | $$\begin{matrix} 572 | {- \frac{p\prime}{\alpha}\partial_{1}W\prime\left( {t,\theta\prime,p\prime} \right) + \frac{\alpha\beta^{2}}{4\left( p\prime \right)^{2}}\left( {1 - \cos\left( {2\theta\prime} \right)} \right) = 0.} & \left( 7.28 \right) \\ 573 | \end{matrix}$$ 574 | 575 | A generator that satisfies this condition is 576 | 577 | $$\begin{matrix} 578 | {W\prime\left( {t,\theta\prime,p\prime} \right) = \frac{\alpha^{2}\beta^{2}}{4\left( p\prime \right)^{3}}{\theta\prime} + \frac{\alpha^{2}\beta^{2}}{8\left( p\prime \right)^{3}}\sin\left( {2\theta\prime} \right).} & \left( 7.29 \right) \\ 579 | \end{matrix}$$ 580 | 581 | There are two contributions to this generator, one proportional to 582 | /θ/′ and the other involving a trigonometric function of /θ/′. 583 | 584 | The phase-space coordinate transformation resulting from this Lie 585 | transform is found as before. For given initial conditions, we first 586 | carry out the inverse transformation corresponding to /W/, then that 587 | for /W/′, solve for the evolution of the system using /H/_{0}, then 588 | transform back using /W/′ and then /W/. For initial state /s/_{0} = 589 | (/t/_{0}, /θ/_{0}, /p/_{0}) and advanced state /s/ = (/t, θ/, /p/), 590 | the approximate solution is 591 | 592 | $$\begin{matrix} 593 | \begin{array}{lll} 594 | s & {= \left( {E_{- \mathit{\epsilon},W}^{\prime}E_{- \mathit{\epsilon}^{2},W\prime}^{\prime}E_{{({t - t_{0}})},H_{0}}E_{\mathit{\epsilon}^{2},W\prime}^{\prime}E_{\mathit{\epsilon},W}^{\prime}I} \right)\left( s_{0} \right)} & \\ 595 | & {= \left( {e^{- \mathit{\epsilon}L_{W}}e^{- \mathit{\epsilon}^{2}L_{W\prime}}e^{{({t - t_{0}})}D_{H_{0}}}e^{\mathit{\epsilon}^{2}L_{W\prime}}e^{\mathit{\epsilon}L_{W}}I} \right)\left( s_{0} \right).} & \left( 7.30 \right) \\ 596 | \end{array} & \\ 597 | \end{matrix}$$ 598 | 599 | <> 600 | 601 | #+caption: *Figure 7.5* The solution using a second perturbation step, 602 | eliminating /ϵ/^{2} terms from the Hamiltonian, is compared to the 603 | actual solution. The initial agreement is especially good, but the 604 | error increases with time. 605 | [[file:images/Art_P1191.jpg]] 606 | 607 | The solution obtained in this way is compared to the actual evolution 608 | of the pendulum in [[file:chapter007.html#Fig_7-5][figure 7.5]]. Terms 609 | in all Lie series up to /ϵ/^{4} are included. The perturbative 610 | solution, including this second perturbative step, is much closer to 611 | the actual solution in the initial segment than the first-order 612 | perturbative solution ([[file:chapter007.html#Fig_7-2][figure 7.2]]). 613 | The time interval spanned is 10. Over longer times the second-order 614 | perturbative solution diverges dramatically from the actual solution, 615 | as shown in [[file:chapter007.html#Fig_7-6][figure 7.6]]. These 616 | solutions begin at /θ/ = 0 with /p/ = 0.7. The parameters are /α/ = 617 | 1.0 and /β/ = 0.1. The time interval spanned is 100. 618 | 619 | A problem with the perturbative solution is that there are terms in 620 | /W/′ and in the corresponding phase-space coordinate transformation 621 | that are proportional to /θ/′, and /θ/′ grows linearly with time. So 622 | the solution can be valid only for small times; the interval of 623 | validity depends on the frequency of the particular trajectory under 624 | investigation and the size of the coefficients multiplying the various 625 | terms. Such terms in a perturbative representation of the solution 626 | that are proportional to time are called /secular terms/. They limit 627 | the validity of the perturbation theory to small times. 628 | 629 | <> 630 | 631 | #+caption: *Figure 7.6* The two-step perturbative solution is shown 632 | over a longer time. The actual solution is a closed curve in the phase 633 | plane; this perturbative solution wanders all over the place and gets 634 | worse with time. 635 | [[file:images/Art_P1192.jpg]] 636 | 637 | *** *7.2.2 Eliminating Secular Terms* 638 | :PROPERTIES: 639 | :CUSTOM_ID: h3_7-2-2 640 | :CLASS: level3 641 | :END: 642 | A solution to the problem of secular terms was developed by Lindstedt 643 | and Poincaré. The goal of each perturbation step is to eliminate terms 644 | in the Hamiltonian that prevent solution. However, the term in /H/′ 645 | that led to the secular term in the generator /W/′ does not actually 646 | impede solution. So a better procedure is to leave that term in the 647 | Hamiltonian and find the generator /W/″ that eliminates only the term 648 | that is periodic in /θ/′. So /W/″ must satisfy 649 | 650 | $$\begin{matrix} 651 | {- \frac{p\prime}{\alpha}\partial_{1}W''\left( {t,\theta\prime,p\prime} \right) - \frac{\alpha\beta^{2}}{4\left( p\prime \right)^{2}}\cos\left( {2\theta\prime} \right) = 0.} & \left( 7.31 \right) \\ 652 | \end{matrix}$$ 653 | 654 | The generator is 655 | 656 | $$\begin{matrix} 657 | {W''\left( {t,\theta\prime,p\prime} \right) = \frac{\alpha^{2}\beta^{2}}{8\left( p\prime \right)^{3}}\sin\left( {2\theta\prime} \right).} & \left( 7.32 \right) \\ 658 | \end{matrix}$$ 659 | 660 | <> 661 | 662 | After we perform a Lie transformation with this generator, the new 663 | Hamiltonian is 664 | 665 | $$\begin{matrix} 666 | {H''\left( {t,\theta'',p''} \right) = \frac{\left( p'' \right)^{2}}{2\alpha} + \mathit{\epsilon}^{2}\frac{\alpha\beta^{2}}{4\left( p'' \right)^{2}} + \cdots.} & \left( 7.33 \right) \\ 667 | \end{matrix}$$ 668 | 669 | Including terms up to the /ϵ/^{2} term, the solution is 670 | 671 | $$\begin{array}{lll} 672 | {\theta''} & {= \theta_{0}^{''} + \left( {\frac{p_{0}^{''}}{\alpha} - \mathit{\epsilon}^{2}\frac{\alpha\beta^{2}}{2\left( p_{0}^{''} \right)^{3}}} \right)\left( {t - t_{0}} \right)} & \\ 673 | {p''} & {= p_{0}^{''}.} & \left( 7.34 \right) \\ 674 | \end{array}$$ 675 | 676 | We construct the solution for a given initial condition as before by 677 | composing the transformations, the solution of the modified 678 | Hamiltonian, and the inverse transformations. The approximate solution 679 | is 680 | 681 | $$\begin{array}{lll} 682 | \left( {t,\theta,p} \right) & {= \left( {E_{- \mathit{\epsilon},W}^{\prime}E_{- \mathit{\epsilon}^{2},W''}^{''}E_{{({t - t_{0}})},H''}E_{\mathit{\epsilon}^{2},W''}^{\prime}E_{\mathit{\epsilon},W}^{\prime}I} \right)\left( {t_{0},\theta_{0},p_{0}} \right)} & \\ 683 | & {= \left( {e^{- \mathit{\epsilon}L_{W}}e^{- \mathit{\epsilon}^{2}L_{W''}}e^{{({t - t_{0}})}D_{H''}}e^{\mathit{\epsilon}^{2}L_{W''}}e^{\mathit{\epsilon}L_{W}}I} \right)\left( {t_{0},\theta_{0},p_{0}} \right).} & \left( 7.35 \right) \\ 684 | \end{array}$$ 685 | 686 | The resulting phase-space evolution is shown in 687 | [[file:chapter007.html#Fig_7-7][figure 7.7]]. Now the perturbative 688 | solution is a closed curve in the phase plane and is in pretty good 689 | agreement with the actual solution. 690 | 691 | By modifying the solvable part of the Hamiltonian we are modifying the 692 | frequency of the solution. The secular terms appeared because we were 693 | trying to approximate a solution with one frequency as a Fourier 694 | series with the wrong frequency. As an analogy, consider 695 | 696 | $$\begin{array}{lll} 697 | {\sin\left( {\omega + \Delta\omega} \right)t} & {= \sin\omega t\cos\Delta\omega t + \cos\omega t\sin\Delta\omega t} & \\ 698 | & {= \sin\omega t\left( {1 - \frac{\left( {\Delta\omega t} \right)^{2}}{2} + \cdots} \right)} & \\ 699 | & {\,\,\,\,\, + \cos\omega t\,\left( {\Delta\omega t + \cdots} \right).} & \left( 7.36 \right) \\ 700 | \end{array}$$ 701 | 702 | The periodic terms are multiplied by terms that are polynomials in the 703 | time. These polynomials are the initial segment of the power series 704 | for periodic functions. The infinite series are convergent, but if the 705 | series are truncated the error is large at large times. 706 | 707 | Continuing the perturbative solution to higher orders is now a 708 | straightforward repetition of the steps carried out so far. At each 709 | step in the perturbation solution there will be new contributions to 710 | <>the solvable part of the Hamiltonian that absorb potential 711 | secular terms. The contribution is just the angle-independent part of 712 | the Hamiltonian after the Hamiltonian is written as a Fourier series. 713 | The constant part of the Fourier series is the same as the average of 714 | the Hamiltonian over the angle. So at each step in the perturbation 715 | theory, the average of the perturbation is included with the solvable 716 | part of the Hamiltonian and the periodic part is eliminated by a Lie 717 | transformation. 718 | 719 | #+caption: *Figure 7.7* The two-step perturbative solution without 720 | secular terms is compared to the actual solution. The perturbative 721 | solution is now a closed curve and is very close to the actual 722 | solution. 723 | [[file:images/Art_P1193.jpg]] 724 | 725 | * *7.3 Many Degrees of Freedom* 726 | :PROPERTIES: 727 | :CUSTOM_ID: h1-43 728 | :CLASS: level1 729 | :END: 730 | Other problems are encountered in applying perturbation theory to 731 | systems with more than a single degree of freedom. Consider an /n/ 732 | degrees-of-freedom Hamiltonian of the form 733 | 734 | $$\begin{matrix} 735 | {H = H_{0} + \mathit{\epsilon}H_{1},} & \left( 7.37 \right) \\ 736 | \end{matrix}$$ 737 | 738 | where /H/_{0} depends only on the momenta and therefore is solvable. 739 | We assume that the Hamiltonian has no explicit time dependence. 740 | <>We further assume that the coordinates are all angles and that 741 | /H/_{1} is a multiply periodic function of the coordinates. 742 | 743 | Carrying out a Lie transformation with generator /W/ produces the 744 | Hamiltonian 745 | 746 | $$\begin{array}{lll} 747 | {H\prime} & {= e^{\mathit{\epsilon}L_{W}}H} & \\ 748 | & {= H_{0} + \mathit{\epsilon}\left( {L_{W}H_{0} + H_{1}} \right) + \cdots,} & \left( 7.38 \right) \\ 749 | \end{array}$$ 750 | 751 | as before. The condition that the order /ϵ/ terms are eliminated is 752 | 753 | $$\begin{matrix} 754 | {\left\{ {H_{0},W} \right\} + H_{1} = 0,} & \left( 7.39 \right) \\ 755 | \end{matrix}$$ 756 | 757 | a linear partial differential equation. By assumption, the Hamiltonian 758 | /H/_{0} depends only on the momenta. We define 759 | 760 | $$\begin{matrix} 761 | {\omega_{0}\left( p \right) = \partial_{2}H_{0}\left( {t,\theta,p} \right),} & \left( 7.40 \right) \\ 762 | \end{matrix}$$ 763 | 764 | where /θ/ = (/θ/^{0}, ..., /θ/^{/n/−1}), and /p/ = [/p/_{0}, ..., 765 | /p/_{/n/−1}]. So /ω/_{0}(/p/) is the up tuple of frequencies of the 766 | unperturbed system. The condition on /W/ is 767 | 768 | $$\begin{matrix} 769 | {w_{0}\left( p \right)\partial_{1}W\left( {t,\theta,p} \right) = H_{1}\left( {t,\theta,p} \right).} & \left( 7.41 \right) \\ 770 | \end{matrix}$$ 771 | 772 | As /H/_{1} is a multiply periodic function of the coordinates, we can 773 | write it as a Poisson series:^{[[#endnote_2][2]]} 774 | 775 | $$\begin{matrix} 776 | {H_{1}\left( {t,\theta,p} \right) = {\sum\limits_{k}{A_{k}\left( p \right)\,\cos\left( {k \cdot \theta} \right),}}} & \left( 7.42 \right) \\ 777 | \end{matrix}$$ 778 | 779 | where /k/ = [/k/_{0}, ..., /k/_{/n/−1}] ranges over all /n/-tuples of 780 | integers. Similarly, we assume /W/ can be written as a Poisson series: 781 | 782 | $$\begin{matrix} 783 | {W\left( {t,\theta,p} \right) = {\sum\limits_{k}{B_{k}\left( p \right)\,\sin\left( {k \cdot \theta} \right).}}} & \left( 7.43 \right) \\ 784 | \end{matrix}$$ 785 | 786 | Substituting these into the condition that order /ϵ/ terms are 787 | eliminated, we find 788 | 789 | $$\begin{matrix} 790 | {\sum\limits_{k}{B_{k}\left( p \right)\left( {k \cdot \omega_{0}\left( p \right)} \right)\,\cos\left( {k \cdot \theta} \right) = {\sum\limits_{k}{A_{k}\left( p \right)\,\cos\left( {k \cdot \theta} \right).}}}} & \left( 7.44 \right) \\ 791 | \end{matrix}$$ 792 | 793 | <> 794 | 795 | The cosines are orthogonal so the coefficients of corresponding cosine 796 | terms must be equal: 797 | 798 | $$\begin{matrix} 799 | {B_{k}\left( p \right) = \frac{A_{k}\left( p \right)}{k \cdot \omega_{0}\left( p \right)}} & \left( 7.45 \right) \\ 800 | \end{matrix}$$ 801 | 802 | and that the required Lie generator is 803 | 804 | $$\begin{matrix} 805 | {W\left( {t,\theta,p} \right) = {\sum\limits_{k}{\frac{A_{k}\left( p \right)}{k \cdot \omega_{0}\left( p \right)}\sin\left( {k \cdot \theta} \right).}}} & \left( 7.46 \right) \\ 806 | \end{matrix}$$ 807 | 808 | There are a couple of problems. First, if /A/_{0,...,0} is nonzero 809 | then the expression for /B/_{0,...,0} involves a division by zero. So 810 | the expression for /B/_{0,...,0} is not correct. The problem is that 811 | the corresponding term in /H/_{1} does not involve /θ/. So the 812 | integration for /B/_{0,...,0} should introduce linear terms in /θ/. 813 | But this is the same situation that led to the secular terms in the 814 | perturbation approximation to the pendulum. Having learned our lesson 815 | there, we avoid the secular terms by adjoining this term to the 816 | solvable Hamiltonian and excluding /k/ = [0, ..., 0] from the sum for 817 | /W/. We have 818 | 819 | $$\begin{matrix} 820 | {H\prime = H_{0} + \mathit{\epsilon}A_{0,\ldots,0} + \cdots,} & \left( 7.47 \right) \\ 821 | \end{matrix}$$ 822 | 823 | and 824 | 825 | $$\begin{matrix} 826 | {W\left( {t,\theta,p} \right) = {\sum\limits_{k \neq {\lbrack{0,\ldots,0}\rbrack}}{\frac{A_{k}\left( p \right)}{k \cdot \omega_{0}\left( p \right)}\sin\left( {k \cdot \theta} \right).}}} & \left( 7.48 \right) \\ 827 | \end{matrix}$$ 828 | 829 | Another problem is that there are many opportunities for small 830 | denominators that would make the perturbation large and therefore not 831 | a perturbation. As we saw in the perturbation approximation for the 832 | pendulum in terms of the rotor, we must exclude certain regions from 833 | the domain of applicability of the perturbation approximation. These 834 | excluded regions are associated with commensurabilities among the 835 | frequencies /ω/_{0}(/p/). Consider the phase-space transformation of 836 | the coordinates 837 | 838 | $$\begin{array}{lll} 839 | \theta & {= \left( {e^{\mathit{\epsilon}L_{W}}Q} \right)\left( {t,\theta\prime,p\prime} \right)} & \\ 840 | & {= \theta\prime + \mathit{\epsilon}\partial_{2}W\left( {t,\theta\prime,p\prime} \right) + \cdots} & \\ 841 | & {= \theta\prime + \mathit{\epsilon}{\sum\limits_{k \neq {\lbrack{0,\ldots,0}\rbrack}}\left( {\frac{DA_{k}\left( p\prime \right)}{k \cdot \omega_{0}\left( p\prime \right)} - \frac{A_{k}\left( p\prime \right)\left( {k \cdot D\omega\left( p\prime \right)} \right)}{\left( {k \cdot \omega_{0}\left( p\prime \right)} \right)^{2}}} \right)}\sin\left( {k \cdot \theta} \right).} & \left( 7.49 \right) \\ 842 | \end{array}$$ 843 | 844 | <> 845 | 846 | We must exclude from the domain of applicability all regions for which 847 | the coefficients are large. If the second term in the coefficient of 848 | sin dominates, the excluded regions satisfy 849 | 850 | $$\begin{matrix} 851 | {\left| {{({k \cdot D\omega{(p\prime)}})}A_{k}{(p)}} \right| > {({k \cdot \omega_{0}{(p)}})}^{2}.} & {(7.50)} \\ 852 | \end{matrix}$$ 853 | 854 | Considering the fact that for any tuple of frequencies /ω/_{0}(/p/′) 855 | we can find a tuple of integers /k/ such that /k/·/ω/(/p/′) is 856 | arbitrarily small, this problem of small divisors looks very serious. 857 | 858 | However, the problem, though serious, is not as bad as it may appear, 859 | for a couple of reasons. First, it may be that /A_{k}/ ≠ 0 only for 860 | certain /k/. In this case, only the regions for these terms are 861 | excluded from the domain of applicability. Second, for analytic 862 | functions the magnitude of /A_{k}/ decreases strongly with the size of 863 | /k/ (see [[[file:bibliography.html#bib_4][4]]]): 864 | 865 | $$\begin{matrix} 866 | {\left| {A_{k}\left( p\prime \right)} \right| \leq Ce^{- \beta{|k|}_{+}},} & \left( 7.51 \right) \\ 867 | \end{matrix}$$ 868 | 869 | for some positive /β/ and /C/, and where |/k/|_{+} = |/k/_{0}| + 870 | |/k/_{1}| + ⋯. At any stage of a perturbation approximation we can 871 | limit consideration to just those terms that are larger than a 872 | specified magnitude. The size of the excluded region corresponding to 873 | a term is of order square root of |/A_{k}/(/p/′)| and the inequality 874 | ([[file:chapter007.html#disp_7.51][7.51]]) shows that |/A_{k}/(/p/′)| 875 | decreases exponentially with the order of the term. 876 | 877 | *** *7.3.1 Driven Pendulum as a Perturbed Rotor* 878 | :PROPERTIES: 879 | :CUSTOM_ID: h3_7-3-1 880 | :CLASS: level3 881 | :END: 882 | More concretely, consider the periodically driven pendulum. We will 883 | develop approximate solutions for the driven pendulum as a perturbed 884 | rotor. 885 | 886 | We use the Hamiltonian 887 | 888 | $$\begin{matrix} 889 | {H\left( {t,\theta,p} \right) = \frac{p^{2}}{2ml^{2}} - \mathit{\epsilon}ml{({g - A\omega^{2}\cos{({\omega t})}})}\,\cos\theta.} & \left( 7.52 \right) \\ 890 | \end{matrix}$$ 891 | 892 | For a real driven pendulum /ϵ/ = 1; here it is used to help organize 893 | the computation. We will see that it need not be small and can be set 894 | to 1 at the end. We can remove the explicit time dependence by going 895 | to the extended phase space. The Hamiltonian is 896 | 897 | <> 898 | 899 | $$\begin{array}{ll} 900 | {H{({\tau;\theta,t;p,p_{t}})}} & \\ 901 | {\,\,\,\,\,\,\,\,\,\, = p_{t} + \frac{p^{2}}{2ml^{2}} - \mathit{\epsilon}ml{({g - A\omega^{2}\cos{({\omega t})}})}\,\cos\theta} & \\ 902 | {\,\,\,\,\,\,\,\,\,\, = p_{t} + \frac{p^{2}}{2\alpha} - \mathit{\epsilon}\beta\cos{(\theta)} + \mathit{\epsilon}\gamma\cos{({\theta + \omega t})} + \mathit{\epsilon}\gamma\cos{({\theta - \omega t})},} & {(7.53)} \\ 903 | \end{array}$$ 904 | 905 | with the constants /α/ = /ml/^{2}, /β/ = /mlg/, and 906 | 907 | $\gamma = \frac{1}{2}mlA\omega^{2}$ 908 | 909 | . 910 | 911 | With the intent to approximate the driven pendulum as a perturbed 912 | rotor, we choose 913 | 914 | $$\begin{array}{lll} 915 | {H_{0}\left( {\tau;\theta,t;p,p_{t}} \right)} & {= p_{t} + \frac{p^{2}}{2\alpha}} & \\ 916 | {H_{1}\left( {\tau;\theta,t;p,p_{t}} \right)} & {= - \beta\cos\theta + \gamma\cos\left( {\theta + \omega t} \right) + \gamma\cos\left( {\theta - \omega t} \right).} & \left( 7.54 \right) \\ 917 | \end{array}$$ 918 | 919 | The perturbation /H/_{1} is particularly simple: it has only three 920 | terms, and the coefficients are constants. Because /H/_{1} has only 921 | three terms in its Poisson series, only three regions will be excluded 922 | from the domain of applicability in the first perturbation step. 923 | 924 | The Lie series generator that eliminates the terms in /H/_{1} to first 925 | order in /ϵ/, satisfying 926 | 927 | $$\begin{matrix} 928 | {\left\{ {H_{0},W} \right\} + H_{1} = 0,} & \left( 7.55 \right) \\ 929 | \end{matrix}$$ 930 | 931 | is 932 | 933 | $$\begin{array}{lll} 934 | {W\left( {\tau;\theta,t;p,p_{t}} \right)} & {= - \frac{\beta}{\omega_{r}\left( p \right)}\sin\theta} & \\ 935 | & {+ \frac{\gamma}{\omega_{r}\left( p \right) + \omega}\sin\left( {\theta + \omega t} \right)} & \\ 936 | & {+ \frac{\gamma}{\omega_{r}\left( p \right) - \omega}\sin\left( {\theta - \omega t} \right),} & \left( 7.56 \right) \\ 937 | \end{array}$$ 938 | 939 | where /ω_{r}/(/p/) = ∂_{2,0}/H/_{0}(/τ/; /θ/, /t/; /p/, /p_{t}/) = 940 | /p///α/ is the unperturbed rotor frequency. 941 | 942 | The resulting approximate solution has three regions in which there 943 | are small denominators, and so three regions that are excluded from 944 | applicability of the perturbative solution. Regions of phase space for 945 | which /ω_{r}/(/p/) is near 0, /ω/, and −/ω/ are excluded. Away from 946 | these regions the perturbative solution works well, <>just as in 947 | the rotor approximation for the pendulum. Unfortunately, some of the 948 | more interesting regions of the phase space of the driven pendulum are 949 | excluded: the region in which we find the remnant of the undriven 950 | pendulum is excluded, as are the two resonance regions in which the 951 | rotation of the pendulum is synchronous with the drive. We need to 952 | develop methods for approximating these regions. 953 | 954 | * *7.4 Nonlinear Resonance* 955 | :PROPERTIES: 956 | :CUSTOM_ID: h1-44 957 | :CLASS: level1 958 | :END: 959 | We can develop an approximation for an isolated resonance region as 960 | follows. We again consider Hamiltonians of the form 961 | 962 | $$\begin{matrix} 963 | {H = H_{0} + \mathit{\epsilon}H_{1},} & \left( 7.57 \right) \\ 964 | \end{matrix}$$ 965 | 966 | where /H/_{0}(/t/, /q/, /p/) = /Ĥ/_{0}(/p/) depends only on the 967 | momenta and so is solvable. We assume that the Hamiltonian has no 968 | explicit time dependence. We further assume that the coordinates are 969 | all angles, and that /H/_{1} is a multiply periodic function of the 970 | coordinates that can be written 971 | 972 | $$\begin{matrix} 973 | {H_{1}\left( {t,\theta,p} \right) = {\sum\limits_{k}{A_{k}\left( p \right)\,\cos\left( {k \cdot \theta} \right).}}} & \left( 7.58 \right) \\ 974 | \end{matrix}$$ 975 | 976 | Suppose we are interested in a region of phase space for which /n/ · 977 | /ω/_{0}(/p/) is near zero, where /n/ is a tuple of integers, one for 978 | each degree of freedom. If we develop the perturbation theory as 979 | before with the generator /W/ that eliminates all terms of order /ϵ/, 980 | then the transformed Hamiltonian is /H/_{0}, which is analytically 981 | solvable, but there would be terms with /n/ · /ω/_{0}(/p/) in the 982 | denominator. The resulting solution is not applicable near this 983 | resonance. 984 | 985 | Just as the problem of secular terms was solved by grouping more terms 986 | with the solvable part of the Hamiltonian, we can develop 987 | approximations that are valid in the resonance region by eliminating 988 | fewer terms and grouping more terms in the solvable part. 989 | 990 | To develop a perturbative approximation in the resonance region for 991 | which /n/ · /ω/_{0}(/p/) is near zero, we take the generator /W/ to be 992 | 993 | $$\begin{matrix} 994 | {W_{n}\left( {t,\theta,p} \right) = {\sum\limits_{k \neq 0,k \neq n}{\frac{A_{k}\left( p \right)}{k \cdot \omega_{0}\left( p \right)}\sin\left( {k \cdot \theta} \right),}}} & \left( 7.59 \right) \\ 995 | \end{matrix}$$ 996 | 997 | <> 998 | 999 | excluding terms in /W/ that lead to small denominators in this region. 1000 | The transformed Hamiltonian is 1001 | 1002 | $$\begin{matrix} 1003 | {H_{n}^{\prime}\left( {t,\theta,p} \right) = {\widehat{H}}_{0}\left( p \right) + \mathit{\epsilon}A_{0}\left( p \right) + \mathit{\epsilon}A_{n}\left( p \right)\,\cos\left( {n \cdot \theta} \right) + \cdots,} & \left( 7.60 \right) \\ 1004 | \end{matrix}$$ 1005 | 1006 | where the additional terms are higher-order in /ϵ/. Because the term 1007 | /k/ = /n/ is excluded from the sum in the generating function, that 1008 | term is left after the transformation. 1009 | 1010 | The transformed Hamiltonian depends only on a single combination of 1011 | angles, so a change of variables can be made so that the new 1012 | transformed Hamiltonian is cyclic in all but one coordinate, which is 1013 | this combination of angles. This transformed Hamiltonian is solvable 1014 | (reducible to quadratures). 1015 | 1016 | For example, suppose there are two degrees of freedom /θ/ = (/θ/_{1}, 1017 | /θ/_{2}) and we are interested in a region of phase space in which /n/ 1018 | · /ω/_{0} is near zero, with /n/ = [/n/_{1}, /n/_{2}]. The combination 1019 | of angles /n/ · /θ/ is slowly varying in the resonance region. The 1020 | transformed Hamiltonian ([[file:chapter007.html#disp_7.60][7.60]]) is 1021 | of the form 1022 | 1023 | $$\begin{array}{lll} 1024 | {H_{n}^{\prime}\left( {t;\theta_{1},\theta_{2};p_{1},p_{2}} \right)} & {= {\widehat{H}}_{0}\left( {p_{1},p_{2}} \right) + \mathit{\epsilon}A_{0}\left( {p_{1},p_{2}} \right)} & \\ 1025 | & {\,\,\,\,\,\,\, + \mathit{\epsilon}A_{n}\left( {p_{1},p_{2}} \right)\,\cos\left( {n_{1}\theta_{1} + n_{2}\theta_{2}} \right).} & \left( 7.61 \right) \\ 1026 | \end{array}$$ 1027 | 1028 | We can transform variables to /σ/ = /n/_{1}/θ/_{1} + /n/_{2}/θ/_{2}, 1029 | with second coordinate, say, /θ/′ = /θ/_{2}.^{[[#endnote_3][3]]} Using 1030 | the /F/_{2}-type generating function 1031 | 1032 | $$\begin{matrix} 1033 | {F_{2}\left( {t;\theta_{1},\theta_{2};\Sigma,\Theta\prime} \right) = \left( {n_{1}\theta_{1} + n_{2}\theta_{2}} \right)\Sigma + \theta_{2}\Theta\prime,} & \left( 7.62 \right) \\ 1034 | \end{matrix}$$ 1035 | 1036 | we find that the transformation is 1037 | 1038 | $$\begin{array}{rll} 1039 | p_{1} & {= n_{1}\Sigma} & \\ 1040 | p_{2} & {= n_{2}\Sigma + \Theta\prime} & \\ 1041 | \sigma & {= n_{1}\theta_{1} + n_{2}\theta_{2}} & \\ 1042 | {\theta\prime} & {= \theta_{2}.} & \left( 7.63 \right) \\ 1043 | \end{array}$$ 1044 | 1045 | In these variables the transformed resonance Hamiltonian 1046 | 1047 | $H_{n}^{\prime}$ 1048 | 1049 | becomes 1050 | 1051 | $$\begin{array}{lll} 1052 | {H_{n}^{''}\left( {t;\sigma,\theta\prime;\Sigma,\Theta\prime} \right)} & {= {\widehat{H}}_{0}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right) + \mathit{\epsilon}A_{0}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right)} & \\ 1053 | & {\,\,\,\,\,\, + \mathit{\epsilon}A_{n}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right)\,\cos\left( \sigma \right).} & \left( 7.64 \right) \\ 1054 | \end{array}$$ 1055 | 1056 | <> 1057 | 1058 | This Hamiltonian is cyclic in /θ/′, so Θ′ is constant. With this 1059 | constant momentum, the Hamiltonian for the conjugate pair (/σ/, Σ) has 1060 | one degree of freedom. The solutions are level curves of the 1061 | Hamiltonian. These solutions, reexpressed in terms of the original 1062 | phase-space coordinates, give the evolution of 1063 | 1064 | $H_{n}^{\prime}$ 1065 | 1066 | . An approximate solution in the resonance region is therefore 1067 | 1068 | $$\begin{matrix} 1069 | {{({t,\theta,p})} = {({E_{- \mathit{\epsilon},W_{n}^{\prime}}^{\prime}E_{t - t_{0},H_{n}^{\prime}}E_{\mathit{\epsilon},W_{n}^{\prime}}^{\prime}I})}{({t_{0},\theta_{0},p_{0}})}.} & {(7.65)} \\ 1070 | \end{matrix}$$ 1071 | 1072 | If the resonance regions are sufficiently separated, then a global 1073 | solution can be constructed by splicing together such solutions for 1074 | each resonance region. 1075 | 1076 | *** *7.4.1 Pendulum Approximation* 1077 | :PROPERTIES: 1078 | :CUSTOM_ID: h3_7-4-1 1079 | :CLASS: level3 1080 | :END: 1081 | The resonance Hamiltonian ([[file:chapter007.html#disp_7.64][7.64]]) 1082 | has a single degree of freedom and is therefore solvable (reducible to 1083 | quadratures). We can develop an approximate analytic solution in the 1084 | vicinity of the resonance by making use of the fact that the solution 1085 | is valid there. The resonance Hamiltonian can be approximated by a 1086 | generalized pendulum Hamiltonian. 1087 | 1088 | Let 1089 | 1090 | $$\begin{array}{ll} 1091 | {H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma,\Theta\prime} \right)} & \\ 1092 | {\,\,\,\,\,\,\,\,\, = {\widehat{H}}_{0}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right) + \mathit{\epsilon}A_{0}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right)} & \left( 7.66 \right) \\ 1093 | \end{array}$$ 1094 | 1095 | and 1096 | 1097 | $$\begin{matrix} 1098 | {H_{n,1}^{''}\left( {t;\sigma,\theta\prime;\Sigma,\Theta\prime} \right) = A_{n}\left( {n_{1}\Sigma,n_{2}\Sigma + \Theta\prime} \right)\,\cos\left( \sigma \right);} & \left( 7.67 \right) \\ 1099 | \end{matrix}$$ 1100 | 1101 | then the resonance Hamiltonian is 1102 | 1103 | $$\begin{matrix} 1104 | {H_{n}^{''} = H_{n,0}^{''} + \mathit{\epsilon}H_{n,1}^{''}.} & \left( 7.68 \right) \\ 1105 | \end{matrix}$$ 1106 | 1107 | Define the resonance center Σ/_{n}/ by the requirement that the 1108 | resonance frequency be zero there: 1109 | 1110 | $$\begin{matrix} 1111 | {\partial_{2,0}H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right) = 0.} & \left( 7.69 \right) \\ 1112 | \end{matrix}$$ 1113 | 1114 | Now expand both parts of the resonance Hamiltonian about the resonance 1115 | center: 1116 | 1117 | <> 1118 | 1119 | $$\begin{array}{lll} 1120 | {H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma,\Theta\prime} \right)} & {= H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right)} & \\ 1121 | & {\,\,\,\,\,\,\,\,{+ \partial_{2,0}H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right)\left( {\Sigma - \Sigma_{n}} \right)}} & \\ 1122 | & {\,\,\,\,\,\,\,\,{+ \frac{1}{2}\partial_{2,0}^{2}H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right)\left( {\Sigma - \Sigma_{n}} \right)^{2}}} & \\ 1123 | & {\,\,\,\,\,\,\,\,{+ \cdots,}} & \left( 7.70 \right) \\ 1124 | \end{array}$$ 1125 | 1126 | and 1127 | 1128 | $$\begin{matrix} 1129 | {H_{n,1}^{''}\left( {t;\sigma,\theta\prime;\Sigma,\Theta\prime} \right) = H_{n,1}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right) + \cdots.} & \left( 7.71 \right) \\ 1130 | \end{matrix}$$ 1131 | 1132 | The first term in the expansion of 1133 | 1134 | $H_{n,0}^{''}$ 1135 | 1136 | is a constant and can be ignored. The coefficient of the second term 1137 | is zero, from the definition of Σ/_{n}/. The third term is the first 1138 | significant term. We presume here that the first term of 1139 | 1140 | $H_{n,1}^{''}$ 1141 | 1142 | is a nonzero constant. Now the scale of the separatrix in Σ at 1143 | resonance is typically proportional to 1144 | 1145 | $\sqrt{\mathit{\epsilon}}$ 1146 | 1147 | . So the third term of 1148 | 1149 | $H_{n,0}^{''}$ 1150 | 1151 | and the first term of 1152 | 1153 | $H_{n,1}^{''}$ 1154 | 1155 | are both proportional to /ϵ/. Subsequent terms are higher-order in 1156 | /ϵ/. Keeping only the order /ϵ/ terms, the approximate resonance 1157 | Hamiltonian is of the form 1158 | 1159 | $$\begin{matrix} 1160 | {\frac{\left( {\Sigma - \Sigma_{n}} \right)^{2}}{2\alpha\prime} - \mathit{\epsilon}\beta\prime\cos\sigma,} & \left( 7.72 \right) \\ 1161 | \end{matrix}$$ 1162 | 1163 | which is the Hamiltonian for a pendulum with a shifted center in 1164 | momentum. This is analytically solvable. The constants are: 1165 | 1166 | $$\begin{array}{lll} 1167 | {\alpha\prime =} & {= {1/\left( {\partial_{2,0}^{2}H_{n,0}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right)} \right)}} & \\ 1168 | {\beta\prime =} & {= H_{n,1}^{''}\left( {t;\sigma,\theta\prime;\Sigma_{n},\Theta\prime} \right).} & \left( 7.73 \right) \\ 1169 | \end{array}$$ 1170 | 1171 | ** *Driven pendulum resonances* 1172 | :PROPERTIES: 1173 | :CUSTOM_ID: driven-pendulum-resonances 1174 | :CLASS: level2 1175 | :END: 1176 | Consider the behavior of the periodically driven pendulum in the 1177 | vicinity of the resonance /ω_{r}/(/p/) = /ω/. 1178 | 1179 | The Hamiltonian ([[file:chapter007.html#disp_7.54][7.54]]) for the 1180 | driven pendulum has three resonance terms in /H/_{1}. The full 1181 | generator ([[file:chapter007.html#disp_7.56][7.56]]) has three terms 1182 | that are designed to eliminate the corresponding resonance terms in 1183 | the Hamiltonian. The resulting approximate solution has small 1184 | denominators close to each of the three resonances, /ω_{r}/(/p/) = 0, 1185 | /ω_{r}/(/p/) = /ω/, and /ω_{r}/(/p/) = −/ω/. 1186 | 1187 | To develop a resonance approximation near /ω_{r}/(/p/) = /ω/, we do 1188 | not include the corresponding term in the generator, so that the 1189 | <>corresponding term is left in the Hamiltonian. It is helpful 1190 | to give names to the various terms in the full generator 1191 | ([[file:chapter007.html#disp_7.56][7.56]]): 1192 | 1193 | $$\begin{array}{rll} 1194 | {W^{0}\left( {\tau;\theta,t;p,p_{t}} \right)} & {= - \frac{\beta}{\omega_{r}\left( p \right)}\sin\theta} & \\ 1195 | {W^{-}\left( {\tau;\theta,t;p,p_{t}} \right)} & {= \frac{\gamma}{\omega_{r}\left( p \right) + \omega}\sin\left( {\theta + \omega t} \right)} & \\ 1196 | {W^{+}\left( {\tau;\theta,t;p,p_{t}} \right)} & {= \frac{\gamma}{\omega_{r}\left( p \right) - \omega}\sin\left( {\theta - \omega t} \right).} & \left( 7.74 \right) \\ 1197 | \end{array}$$ 1198 | 1199 | The full generator is /W/^{0} + /W/^{−} + /W/^{+}. 1200 | 1201 | To investigate the motion in the phase space near the resonance 1202 | /ω_{r}/(/p/) = /ω/ (the “+” resonance), we use the generator that 1203 | excludes the corresponding term 1204 | 1205 | $$\begin{matrix} 1206 | {W_{+} = W^{0} + W^{-}.} & \left( 7.75 \right) \\ 1207 | \end{matrix}$$ 1208 | 1209 | With this generator the transformed Hamiltonian is 1210 | 1211 | $$\begin{matrix} 1212 | {H_{+}\left( {\tau;\theta,t;p,p_{t}} \right) = p_{t} + \frac{p^{2}}{2\alpha} + \mathit{\epsilon}\gamma\cos\left( {\theta - \omega t} \right) + \cdots.} & \left( 7.76 \right) \\ 1213 | \end{matrix}$$ 1214 | 1215 | After we exclude the higher-order terms, this Hamiltonian has only a 1216 | single combination of coordinates, and so can be transformed into a 1217 | Hamiltonian that is cyclic in all but one degree of freedom. Define 1218 | the transformation through the mixed-variable generating function 1219 | 1220 | $$\begin{matrix} 1221 | {F_{2}\left( {\tau;t,\theta;\Sigma,p_{t}^{\prime}} \right) = \left( {\theta - \omega t} \right)\Sigma + tp_{t}^{\prime},} & \left( 7.77 \right) \\ 1222 | \end{matrix}$$ 1223 | 1224 | giving the transformation 1225 | 1226 | $$\begin{array}{rll} 1227 | \sigma & {= \theta - \omega t} & \\ 1228 | t & {= t\prime} & \\ 1229 | p & {= \Sigma} & \\ 1230 | p_{t} & {= p_{t}^{\prime} - \omega\Sigma.} & \left( 7.78 \right) \\ 1231 | \end{array}$$ 1232 | 1233 | Expressed in these new coordinates, the resonance Hamiltonian is 1234 | 1235 | $$\begin{array}{lll} 1236 | {H_{+}\prime\left( {\tau;\sigma,t\prime;\Sigma,p_{t}^{\prime}} \right)} & {= p_{t}^{\prime} - \omega\Sigma + \frac{\Sigma^{2}}{2\alpha} + \mathit{\epsilon}\gamma\cos\sigma} & \\ 1237 | & {= \frac{\left( {\Sigma - \alpha\omega} \right)^{2}}{2\alpha} + \mathit{\epsilon}\gamma\cos\sigma + p_{t}^{\prime} - \frac{1}{2}\alpha\omega^{2}.} & \left( 7.79 \right) \\ 1238 | \end{array}$$ 1239 | 1240 | <> 1241 | 1242 | #+caption: *Figure 7.8* Contours of the resonance Hamiltonian /H/_{+}′ 1243 | give the motion in the (/σ/, Σ) plane. In this case the resonance 1244 | Hamiltonian is a generalized pendulum shifted in momentum and phase. 1245 | The half-width of the resonance oscillation zone is ¶ 1246 | $2\sqrt{\alpha\gamma\mathit{\epsilon}}$ ¶ . 1247 | [[file:images/Art_P1194.jpg]] 1248 | 1249 | This Hamiltonian is cyclic in /t/′, so the solutions are level curves 1250 | of /H/_{+}′ in (/σ/, Σ). Actually, more can be said here because 1251 | /H/_{+}′ is already of the form of a pendulum shifted in the Σ 1252 | direction by /αω/ and shifted by /π/ in phase. The shift by /π/ comes 1253 | about because the sign of the cosine term is positive, rather than 1254 | negative as in the usual pendulum. A sketch of the level curves is 1255 | given in [[file:chapter007.html#Fig_7-8][figure 7.8]]. 1256 | 1257 | *Exercise 7.2: Resonance width* 1258 | 1259 | Verify that the half-width of the resonance region is 1260 | 1261 | $2\sqrt{\alpha\gamma\mathit{\epsilon}}$ 1262 | 1263 | . 1264 | 1265 | *Exercise 7.3: With the computer* 1266 | 1267 | Verify, with the computer, that with the generator /W/_{+} the 1268 | transformed Hamiltonian is given by equation 1269 | ([[file:chapter007.html#disp_7.76][7.76]]). 1270 | 1271 | An approximate solution of the driven pendulum near the /ω_{r}/(/p/) = 1272 | /ω/ resonance is 1273 | 1274 | $$\begin{matrix} 1275 | {{({\tau;\theta,t;p,p_{t}})} = (E_{- \mathit{\epsilon},W_{+}}^{\prime}E_{\tau - \tau_{0},H + \prime}E_{\mathit{\epsilon},W_{+}}^{\prime}I){({\tau_{0};\theta_{0},t_{0};p_{0},{(p_{t})}_{0}})}.} & {(7.80)} \\ 1276 | \end{matrix}$$ 1277 | 1278 | To find out to what extent the approximate solution models the actual 1279 | driven pendulum, we make a surface of section using this approximate 1280 | solution and compare it to a surface of section for the <>actual 1281 | driven pendulum. The surface of section for the approximate solution 1282 | in the resonance region is shown in 1283 | [[file:chapter007.html#Fig_7-9][figure 7.9]]. A surface of section for 1284 | the actual driven pendulum is shown in the lower part of 1285 | [[file:chapter007.html#Fig_7-10][figure 7.10]]. The correspondence is 1286 | surprisingly good. Note how the resonance island is not symmetrical 1287 | about a line of constant momentum. The resonance Hamiltonian is 1288 | symmetrical about Σ = /αω/, and by itself would give a symmetric 1289 | resonance island (see [[file:chapter007.html#Fig_7-8][figure 7.8]]). 1290 | The necessary distortion is introduced by the /W/_{+} transformation 1291 | that eliminates the other resonances. Indeed, in the full section the 1292 | distortion appears to be generated by the nearby /ω_{r}/(/p/) = 0 1293 | resonance “pushing away” nearby features so that it has room to fit. 1294 | However, some features of the actual section are not represented in 1295 | [[file:chapter007.html#Fig_7-9][figure 7.9]]: for instance, the small 1296 | chaotic zone near the actual separatrix. 1297 | 1298 | #+caption: *Figure 7.9* Surface of section of the first-order 1299 | perturbative solution for the driven pendulum constructed for the 1300 | region near the resonance /ω_{r}/(/p/) = /ω/. The parameters of the 1301 | system are /α/ = 1, /β/ = 1, /γ/ = 1/4, and /ω/ = 5. Only order /ϵ/ 1302 | terms were kept in the Lie series for the /W/ transformation. The 1303 | perturbative solution captures the essential shape and position of the 1304 | resonant island it is designed to approximate. 1305 | [[file:images/Art_P1195.jpg]] 1306 | 1307 | The distortion introduced by the transformation generated by /W/_{+} 1308 | is small because the terms that it introduces are proportional to the 1309 | inverse of a combination of frequencies.^{[[#endnote_4][4]]} Since 1310 | this combination is not small, dividing by it makes the correction 1311 | small. Thus the “order parameter” /ϵ/ need not be small to make the 1312 | correction terms small, and from now on we can set /ϵ/ = 1. 1313 | 1314 | <><> 1315 | 1316 | #+caption: *Figure 7.10* A composite surface of section (top) for the 1317 | driven pendulum is constructed by combining the first-order 1318 | perturbative solution for the region near the resonance /ω_{r}/(/p/) = 1319 | 0 and the solutions for the regions near the resonances /ω_{r}/(/p/) = 1320 | ±/ω/. A corresponding surface of section for the actual driven 1321 | pendulum is shown below. The parameters of the system are: /α/ = 1, 1322 | /β/ = 1, /γ/ = 1/4, and /ω/ = 5. 1323 | [[file:images/Art_P1196.jpg]] 1324 | 1325 | The perturbation solution near the /ω_{r}/(/p/) = 0 resonance merges 1326 | smoothly with the perturbation solutions for the /ω_{r}/(/p/) = /ω/ 1327 | and /ω_{r}/(/p/) = −/ω/ resonances. We can make a composite 1328 | perturbative solution by using the appropriate resonance solution for 1329 | each region of phase space. A surface of section for the composite 1330 | pertur-bative solution is shown in the upper part of 1331 | [[file:chapter007.html#Fig_7-10][figure 7.10]], above the 1332 | corresponding surface of section for the actual driven pendulum. The 1333 | perturbative solution captures many features seen on the actual 1334 | section. The shapes of the resonance regions are distorted by the 1335 | transformations that eliminate the nearby resonances, so the resulting 1336 | pieces fit together consistently. The predicted width of each 1337 | resonance region agrees with the actual width: it is not substantially 1338 | changed by the distortion of the region introduced by the elimination 1339 | of the other resonance terms. But not all the features of the actual 1340 | section are reproduced in this composite of first-order 1341 | approximations. The first-order perturbative solution does not capture 1342 | the resonant islands between the two primary resonances or the 1343 | secondary island chains contained within a primary resonance region. 1344 | Also, the first-order perturbative solution does not show the chaotic 1345 | zone near the separatrix apparent in the surface of section for the 1346 | actual driven pendulum. 1347 | 1348 | For larger drives, the approximations derived by first-order 1349 | perturbations are worse. In the lower part of 1350 | [[file:chapter007.html#Fig_7-11][figure 7.11]], with drive larger by a 1351 | factor of five, we lose the invariant curves that separate the 1352 | resonance regions. The main resonance islands persist, but the chaotic 1353 | zones near the separatrices have merged into one large chaotic sea. 1354 | 1355 | The composite first-order perturbative solution for the more strongly 1356 | driven pendulum in the upper part of 1357 | [[file:chapter007.html#Fig_7-11][figure 7.11]] still approximates the 1358 | centers of the main resonance islands reasonably well, but it fails as 1359 | we move out and encounter the secondary islands that are visible in 1360 | the resonance region for /ω_{r}/(/p/) = /ω/. Here the approximations 1361 | for the two regions do not fit together so well. The chaotic sea is 1362 | found in the region where the perturbative solutions do not match. 1363 | 1364 | <> 1365 | 1366 | #+caption: *Figure 7.11* Composite surface of section (top) for the 1367 | driven pendulum constructed by combining the first-order perturbative 1368 | solution for the region near the resonance /ω_{r}/(/p/) = 0 and the 1369 | regions near the resonances /ω_{r}/(/p/) = ±/ω/. A corresponding 1370 | surface of section for the actual driven pendulum is shown below. The 1371 | parameters of the system are the same as in 1372 | [[file:chapter007.html#Fig_7-10][figure 7.10]] except that /γ/ = 5/4. 1373 | [[file:images/Art_P1197.jpg]] 1374 | 1375 | <> 1376 | 1377 | *** *7.4.2 Reading the Hamiltonian* 1378 | :PROPERTIES: 1379 | :CUSTOM_ID: h3_7-4-2 1380 | :CLASS: level3 1381 | :END: 1382 | The locations and widths of the primary resonance islands can often be 1383 | read straight off the Hamiltonian when expressed as a Poisson series. 1384 | For each term in the series for the perturbation there is a 1385 | corresponding resonance island. The width of the island can often be 1386 | simply computed from the coefficients in the Hamiltonian. So just by 1387 | looking at the Hamiltonian we can get a good idea of what sort of 1388 | behavior we will see on the surface of section. For instance, in the 1389 | driven pendulum, the Hamiltonian 1390 | ([[file:chapter007.html#disp_7.54][7.54]]) has three terms. We could 1391 | anticipate, just from looking at the Hamiltonian, that three main 1392 | resonance islands are to be found on the surface of section. We know 1393 | that these islands will be located where the resonant combination of 1394 | angles is slow. So for the periodically driven pendulum the resonances 1395 | occur near /ω_{r}/(/p/) = /ω/, /ω_{r}/(/p/) = 0, and /ω_{r}/(/p/) = 1396 | −/ω/. The approximate widths of the resonance islands can be computed 1397 | with a simple calculation. 1398 | 1399 | *** *7.4.3 Resonance-Overlap Criterion* 1400 | :PROPERTIES: 1401 | :CUSTOM_ID: h3_7-4-3 1402 | :CLASS: level3 1403 | :END: 1404 | As the size of the drive increases, the chaotic zones near the 1405 | separatrices get larger and then merge into a large chaotic sea. The 1406 | resonance-overlap criterion gives an analytic estimate of when this 1407 | occurs. The basic idea is to compare the sum of the widths of 1408 | neighboring resonances with their separation. If the sum of the 1409 | half-widths is greater than the separation, then the resonance-overlap 1410 | criterion predicts there will be large-scale chaotic behavior near the 1411 | overlapping resonances. In the case of the periodically driven 1412 | pendulum, the half-width of the /ω_{r}/(/p/) = 0 resonance is 1413 | 1414 | $2\sqrt{\alpha\beta}$ 1415 | 1416 | and the half-width of the /ω_{r}/(/p/) = /ω/ resonance is 1417 | 1418 | $2\sqrt{\alpha\gamma}$ 1419 | 1420 | (see [[file:chapter007.html#Fig_7-12][figure 7.12]]). The separation 1421 | of the resonances is /αω/. So resonance overlap occurs if 1422 | 1423 | $$\begin{matrix} 1424 | {2\sqrt{\alpha\beta} + 2\sqrt{\alpha\gamma} \geq \alpha\omega.} & \left( 7.81 \right) \\ 1425 | \end{matrix}$$ 1426 | 1427 | The amplitude of the drive enters through /γ/. Solving, we find the 1428 | value of /γ/ above which resonance overlap occurs. For the parameters 1429 | /α/ = /β/ = 1, /ω/ = 5 used in [[#Fig_7-9][figures 1430 | 7.9]]--[[#Fig_7-11][7.11]], the resonance overlap value of /γ/ is 9/4. 1431 | We see that, in fact, the chaotic zones have already merged for /γ/ = 1432 | 5/4. So in this case the resonance-overlap criterion overestimates the 1433 | strength of the resonances required to get large-scale chaotic 1434 | behavior. This is typical of the resonance-overlap criterion. 1435 | 1436 | <> 1437 | 1438 | #+caption: *Figure 7.12* Resonance overlap occurs when the sum of the 1439 | half-widths of adjacent resonances is larger than the spacing between 1440 | them. 1441 | [[file:images/Art_P1198.jpg]] 1442 | 1443 | A way of thinking about why the resonance-overlap criterion usually 1444 | overestimates the strength required to get large-scale chaos is that 1445 | other effects must be taken into account. For instance, as the drive 1446 | is increased second-order resonances appear between the primary 1447 | resonances; these resonances take up space and so resonance overlap 1448 | occurs for smaller drive than would be expected by considering the 1449 | primary resonances alone. Also, the chaotic zones at each separatrix 1450 | have area that must be accounted for. 1451 | 1452 | *** *7.4.4 Higher-Order Perturbation Theory* 1453 | :PROPERTIES: 1454 | :CUSTOM_ID: h3_7-4-4 1455 | :CLASS: level3 1456 | :END: 1457 | As the drive is increased, a variety of new islands emerge, which are 1458 | not evident in the original Hamiltonian. To find approximations for 1459 | motion in these regions we can use higher-order perturbation theory. 1460 | The basic plan is the same as before. At any stage the Hamiltonian 1461 | (which is perhaps a result of earlier stages of perturbation theory) 1462 | is expressed as a Poisson series (a multiple-angle Fourier series). 1463 | The terms that are not resonant in a region of interest are eliminated 1464 | by a Lie transformation. The remaining resonance terms involve only a 1465 | single combination of angle and are thus solvable by making a 1466 | canonical transformation to resonance coordinates. We complete the 1467 | solution and transform back to the original coordinates. 1468 | 1469 | <> 1470 | 1471 | Let's find a perturbative approximation for the second-order islands 1472 | visible in [[file:chapter007.html#Fig_7-10][figure 7.10]] between the 1473 | /ω_{r}/(/p/) = 0 resonance and the /ω_{r}/(/p/) = −/ω/ resonance. The 1474 | details are messy, so we will just give a few intermediate results. 1475 | 1476 | This resonance is not near the three primary resonances, so we can use 1477 | the full generator ([[file:chapter007.html#disp_7.56][7.56]]) to 1478 | eliminate those three primary resonance terms from the Hamiltonian. 1479 | After this perturbation step the Hamiltonian is too hairy to look at. 1480 | 1481 | We expand the transformed Hamiltonian in Poisson form and divide the 1482 | terms into those that are resonant and those that are not. The terms 1483 | that are not resonant can be eliminated by a Lie transform. This Lie 1484 | transform leaves the resonant terms in the Hamiltonian and introduces 1485 | an additional distortion to the curves on the surface of section. In 1486 | this case this additional distortion is small, but very messy to 1487 | compute, so we will just not include this effect. The resonance 1488 | Hamiltonian is then (after considerable algebra) 1489 | 1490 | $$\begin{array}{ll} 1491 | {H_{2:1}\left( {\tau;\theta,t;p,p_{t}} \right)} & \\ 1492 | {\,\,\,\,\,\,\,\,\, = \frac{p^{2}}{2\alpha} + p_{t} + \frac{\alpha\beta\gamma}{4p^{2}}\frac{\alpha^{2}\omega^{2} + 2\alpha\omega p + 2p^{2}}{\left( {\alpha\omega + p} \right)^{2}}\cos\left( {2\theta + \omega t} \right).} & \left( 7.82 \right) \\ 1493 | \end{array}$$ 1494 | 1495 | This is solvable because there is only a single combination of 1496 | coordinates. 1497 | 1498 | We can get an analytic solution by making the pendulum approximation. 1499 | The Hamiltonian is already quadratic in the momentum /p/, so all we 1500 | need to do is evaluate the coefficient of the potential terms at the 1501 | resonance center /p/_{2:1} = /αω//2. The resonance Hamiltonian, in the 1502 | pendulum approximation, is 1503 | 1504 | $$\begin{matrix} 1505 | {H_{2:1}^{\prime}\left( {\tau;\theta,t;p,p_{t}} \right) = \frac{p^{2}}{2\alpha} + \frac{2\beta\gamma}{\alpha\omega^{2}}\cos\left( {2\theta + \omega t} \right).} & \left( 7.83 \right) \\ 1506 | \end{matrix}$$ 1507 | 1508 | Carrying out the transformation to the resonance variable /σ/ = 2/θ/ − 1509 | /ωt/ reduces this to a pendulum Hamiltonian with a single degree of 1510 | freedom. Combining the analytic solution of this pendulum Hamiltonian 1511 | with the transformations generated by the full /W/, we get an 1512 | approximate perturbative solution 1513 | 1514 | $$\begin{matrix} 1515 | {{({\tau;\theta,t;p,p_{t}})} = {({E_{- \mathit{\epsilon},W}^{\prime}E_{\tau - \tau_{0},H_{2:1}^{''}}E_{\mathit{\epsilon},W}^{\prime}I})}{({\tau_{0};\theta_{0},t_{0};p_{0},{(p_{t})}_{0}})}.} & {(7.84)} \\ 1516 | \end{matrix}$$ 1517 | 1518 | <> 1519 | 1520 | #+caption: *Figure 7.13* Second-order perturbation theory gives an 1521 | approximation to the second-order islands near the resonance 1522 | 2/ω_{r}/(/p/) + /ω/ = 0. 1523 | [[file:images/Art_P1199.jpg]] 1524 | 1525 | A surface of section in the appropriate resonance region using this 1526 | solution is shown in [[file:chapter007.html#Fig_7-13][figure 7.13]]. 1527 | Comparing this to the actual surface of section 1528 | ([[file:chapter007.html#Fig_7-10][figure 7.10]]), we see that the 1529 | approximate solution provides a good representation of this resonance 1530 | motion. 1531 | 1532 | *** *7.4.5 Stability of the Inverted Vertical Equilibrium* 1533 | :PROPERTIES: 1534 | :CUSTOM_ID: h3_7-4-5 1535 | :CLASS: level3 1536 | :END: 1537 | As a second application, we use second-order perturbation theory to 1538 | investigate the inverted vertical equilibrium of the periodically 1539 | driven pendulum. 1540 | 1541 | Here, the procedure parallels the one just followed, but we focus on a 1542 | different set of resonance terms. The terms that are slowly varying 1543 | for the vertical equilibrium are those that involve /θ/ but do not 1544 | involve /t/, such as cos(/θ/) and cos(2/θ/). So we want to use the 1545 | generator /W/^{+} + /W/^{−} that eliminates the nonresonant terms 1546 | involving combinations of /θ/ and /ωt/, while leaving the central 1547 | resonance. After the Lie transform of the Hamiltonian with this 1548 | generator, we write the transformed Hamiltonian as a Poisson 1549 | <>series and collect the resonant terms. The transformed 1550 | resonance Hamiltonian is 1551 | 1552 | $$\begin{array}{ll} 1553 | {H_{V}^{\prime}\left( {\tau;\theta,t;p,p_{t}} \right)} & \\ 1554 | {\,\,\,\,\,\,\,\,\, = \frac{p^{2}}{2\alpha} - \beta\cos\theta + \frac{\alpha\gamma^{2}\left( {\alpha^{2}\omega^{2} + p^{2}} \right)}{2\left( {\alpha^{2}\omega^{2} - p^{2}} \right)^{2}}\cos\left( {2\theta} \right) + \cdots.} & \left( 7.85 \right) \\ 1555 | \end{array}$$ 1556 | 1557 | [[#Fig_7-14][Figure 7.14]] shows contours of this resonance 1558 | Hamiltonian 1559 | 1560 | $H_{V}^{\prime}$ 1561 | 1562 | (top) and a surface of section for the actual driven pendulum (bottom) 1563 | for the same parameters. The behavior of the resonance Hamiltonian is 1564 | indistinguishable from that of the actual driven pendulum. The theory 1565 | does especially well here; there are no nearby resonances because the 1566 | drive frequency is high. 1567 | 1568 | We can get an analytic estimate for the stability of the inverted 1569 | vertical equilibrium by carrying out a linear stability analysis of 1570 | the fixed point /θ/ = /π/, /p/ = 0 of the resonance Hamiltonian. The 1571 | algebra is somewhat simpler if we first make the pendulum 1572 | approximation about the resonance center. The resonance Hamiltonian is 1573 | then approximately 1574 | 1575 | $$\begin{matrix} 1576 | {H_{V}^{''}\left( {\tau;\theta,t;p,p_{t}} \right) = \frac{p^{2}}{2\alpha} - \beta\cos\theta + \frac{\gamma^{2}}{2\alpha\omega^{2}}\cos\left( {2\theta} \right) + \cdots.} & \left( 7.86 \right) \\ 1577 | \end{matrix}$$ 1578 | 1579 | Linear stability analysis of the inverted vertical equilibrium 1580 | indicates stability for 1581 | 1582 | $$\begin{matrix} 1583 | {\gamma^{2} > \alpha\beta\omega^{2}.} & \left( 7.87 \right) \\ 1584 | \end{matrix}$$ 1585 | 1586 | In terms of the original physical parameters, the vertical equilibrium 1587 | is linearly stable if 1588 | 1589 | $$\begin{matrix} 1590 | {\frac{\omega}{\omega_{s}}\frac{A}{l} > \sqrt{2},} & \left( 7.88 \right) \\ 1591 | \end{matrix}$$ 1592 | 1593 | where 1594 | 1595 | $\omega_{s} = \sqrt{g/l}$ 1596 | 1597 | , the small-amplitude oscillation frequency. For the vertical 1598 | equilibrium to be stable, the scaled product of the amplitude of the 1599 | drive and the drive frequency must be sufficiently large. 1600 | 1601 | This analytic estimate is compared with the behavior of the driven 1602 | pendulum in [[file:chapter007.html#Fig_7-15][figure 7.15]]. For any 1603 | given assignment of the parameters, the driven pendulum can be tested 1604 | for the linear stability of the inverted vertical equilibrium by the 1605 | methods of chapter 4; this involves determining the roots of the 1606 | characteristic polynomial for a reference orbit at the resonance 1607 | center. In the figure the stability of the inverted vertical 1608 | equilibrium was assessed at each point of a grid of assignments of the 1609 | parameters. A dot is shown for combinations of parameters that are 1610 | linearly stable. The diagonal line is the analytic boundary of the 1611 | region of stability of the inverted equilibrium: 1612 | 1613 | $\left( {\omega/\omega_{s}} \right)\left( {A/l} \right) = \sqrt{2}$ 1614 | 1615 | . We see that the boundary of the region of stability is well 1616 | approximated by the analytic estimate derived from perturbation 1617 | theory. Note that for very high drive amplitudes there is another 1618 | region of instability, which is not captured by this perturbation 1619 | analysis. 1620 | 1621 | <> 1622 | 1623 | #+caption: *Figure 7.14* Contours of the resonance Hamiltonian ¶ 1624 | $H_{V}^{\prime}$ ¶ , which has been developed to study the stability 1625 | of the vertical equilibrium, are shown in the upper plot. A 1626 | corresponding surface of section for the actual driven pendulum is 1627 | shown in the lower plot. The parameters are /m/ = 1 kg, /l/ = 1 m, /g/ 1628 | = 9.8 m s^{−2}, /A/ = 0.03 m, and /ω/ = 100/ω_{s}/, where ¶ 1629 | $\omega_{s} = \sqrt{g/l}$ ¶ . 1630 | [[file:images/Art_P1200.jpg]] 1631 | 1632 | <> 1633 | 1634 | #+caption: *Figure 7.15* Stability of the inverted vertical 1635 | equilibrium over a range of parameters. The full parameter space 1636 | displayed was sampled over a regular grid. The dots indicate 1637 | parameters for which the actual driven pendulum is linearly stable; 1638 | nothing is plotted in the case of instability. The diagonal line is 1639 | the locus of points satisfying ¶ 1640 | $\left( {\omega/\omega_{s}} \right)\left( {A/l} \right) = \sqrt{2}$ ¶ 1641 | . 1642 | [[file:images/Art_P1201.jpg]] 1643 | 1644 | * *7.5 Summary* 1645 | :PROPERTIES: 1646 | :CUSTOM_ID: h1-45 1647 | :CLASS: level1 1648 | :END: 1649 | The goal of perturbation theory is to relate aspects of the motions of 1650 | a given system to those of a nearby solvable system. Perturbation 1651 | <>theory can be used to predict features such as the size and 1652 | location of the resonance islands and chaotic zones. 1653 | 1654 | With perturbation analysis we obtain an approximation to the evolution 1655 | of a system by relating the evolution of the system to that of a 1656 | different system that, when approximated, can be exactly solved. We 1657 | can carry this exact solution of the approximate problem back to the 1658 | original system to obtain an approximate solution of our original 1659 | problem. The strategy of canonical perturbation theory is to make 1660 | canonical transformations that eliminate terms in the Hamiltonian that 1661 | impede solution. Formulation of perturbation theory in terms of Lie 1662 | series is especially convenient. 1663 | 1664 | We can use first-order perturbation theory to analyze the motion of 1665 | the undriven pendulum as a free rotor to which gravity is added. In 1666 | this analysis we find that a small denominator in the series limits 1667 | the range of applicability of the perturbative solution to regions 1668 | that are away from the resonant oscillation region. 1669 | 1670 | In higher-order perturbation theory for the pendulum we discover the 1671 | problem of secular terms, terms that produce error that grow with 1672 | time. The appearance of secular terms can be avoided by keeping track 1673 | of how the frequencies change as perturbations are included. In 1674 | canonical perturbation theory secular terms can be avoided by 1675 | associating the average part of the perturbation with the solvable 1676 | part of the Hamiltonian. 1677 | 1678 | In carrying out canonical perturbation theory in higher dimensions we 1679 | find that the problem of small denominators is more serious. Small 1680 | denominators arise near every commensurability, and commensurabilities 1681 | are common. Small denominators can be locally avoided near particular 1682 | commensurabilities by incorporating the offending terms into the 1683 | solvable part of the Hamiltonian. If the resonances are isolated, the 1684 | resulting resonance Hamiltonian is still solvable. In many cases the 1685 | resonance Hamiltonian is well approximated by a pendulum-like 1686 | Hamiltonian. A global picture can be constructed by stitching together 1687 | the solutions for each resonance region constructed separately. 1688 | 1689 | If two resonance regions overlap---that is, if the sum of the 1690 | half-widths of the resonance regions exceeds their separation---then 1691 | large-scale chaos ensues. The chaotic regions associated with the 1692 | separatrices of the overlapping resonances become connected. When the 1693 | resonances are well approximated by pendulum-like resonances a simple 1694 | analytic criterion for the appearance of large-scale chaos can be 1695 | developed. 1696 | 1697 | <> 1698 | 1699 | Higher-order perturbative descriptions can be developed to describe 1700 | islands that do not correspond to particular terms in the Hamiltonian, 1701 | secondary resonances, bifurcations, and so on. The theory can be 1702 | extended to describe as much detail as one wishes. 1703 | 1704 | * *7.6 Projects* 1705 | :PROPERTIES: 1706 | :CUSTOM_ID: h1-46 1707 | :CLASS: level1 1708 | :END: 1709 | *Exercise 7.4: Periodically driven pendulum* 1710 | 1711 | *a.* Work out the details of the perturbation theory for the primary 1712 | driven pendulum resonances, as displayed in 1713 | [[file:chapter007.html#Fig_7-10][figure 7.10]]. 1714 | 1715 | *b.* Work out the details of the perturbation theory for the stability 1716 | of the inverted vertical equilibrium. Derive the resonance Hamiltonian 1717 | and plot its contours. Compare these contours to surfaces of section 1718 | for a variety of parameters. 1719 | 1720 | *c.* Carry out the linear stability analysis leading to equation 1721 | ([[file:chapter007.html#disp_7.88][7.88]]). What is happening in the 1722 | upper part of [[file:chapter007.html#Fig_7-15][figure 7.15]]? Why is 1723 | the system unstable when criterion 1724 | ([[file:chapter007.html#disp_7.88][7.88]]) predicts stability? Use 1725 | surfaces of section to investigate this parameter regime. 1726 | 1727 | *Exercise 7.5: Spin-orbit coupling* 1728 | 1729 | A Hamiltonian for the spin-orbit problem described in 1730 | [[file:chapter002.html#h3_2-11-2][section 2.11.2]] is 1731 | 1732 | $$\begin{array}{lll} 1733 | {H\left( {t,\theta,p_{\theta}} \right)} & {= \frac{p_{\theta}^{2}}{2C} - \frac{n^{2}\mathit{\epsilon}^{2}C}{4}\frac{a^{3}}{R^{3}\left( t \right)}\cos 2\left( {\theta - f\left( t \right)} \right)} & \\ 1734 | & {= \frac{p_{\theta}^{2}}{2C} - \frac{n^{2}\mathit{\epsilon}^{2}C}{4}(\cos\left( {2\theta - 2nt} \right) + \frac{7e}{2}\cos\left( {2\theta - 3nt} \right)} & \\ 1735 | & {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, - \frac{e}{2}\cos\left( {2\theta - nt} \right) + \cdots)} & \left( 7.89 \right) \\ 1736 | \end{array}$$ 1737 | 1738 | where the ignored terms are higher order in eccentricity /e/. Note 1739 | that here /ϵ/ is the out-of-roundness parameter. 1740 | 1741 | *a.* Find the widths and centers of the three primary resonances. 1742 | Compare the predictions for the widths to the island widths seen on 1743 | surfaces of section. Write the criterion for resonance overlap and 1744 | compare to numerical experiments for the transition to large-scale 1745 | chaos. 1746 | 1747 | *b.* The fixed point of the synchronous island is offset from the 1748 | average rate of rotation. This is indicative of a “forced” oscillation 1749 | of the rotation of the Moon. Develop a perturbative theory for motion 1750 | in the synchronous island by using a Lie transform to eliminate the 1751 | two non-synchronous resonances. Predict the location of the fixed 1752 | point at the center of the synchronous resonance on the surface of 1753 | section, and thus predict the amplitude of the forced oscillation of 1754 | the Moon. 1755 | 1756 | [[#endnote_ref_1][^{1}]]The “width” is measured as the range of 1757 | momenta. 1758 | 1759 | [[#endnote_ref_2][^{2}]]In general, we need to include sine terms as 1760 | well, but the cosine expansion is enough for this illustration. 1761 | 1762 | [[#endnote_ref_3][^{3}]]Any linearly independent combination will be 1763 | acceptable here. 1764 | 1765 | [[#endnote_ref_4][^{4}]]For /W/_{+} see equations 1766 | [[file:chapter007.html#disp_7.74][7.74]] and 1767 | [[file:chapter007.html#disp_7.75][7.75]]; for the general relationship 1768 | between a term in the generator and the coordinate transformation 1769 | generated see equations [[file:chapter007.html#disp_7.48][7.48]] and 1770 | [[file:chapter007.html#disp_7.49][7.49]]. 1771 | #+end_quote 1772 | -------------------------------------------------------------------------------- /org/chapter008.org: -------------------------------------------------------------------------------- 1 | --- title: Scheme chapter: 8 next: title: Chapter 9 url: chapter009.html 2 | prev: title: Chapter 7 url: chapter007.html layout: appendix --- 3 | <> {% include appendix_title.html %} 4 | 5 | #+begin_quote 6 | Programming languages should be designed not by piling feature on top 7 | of feature, but by removing the weaknesses and restrictions that make 8 | additional features appear necessary. Scheme demonstrates that a very 9 | small number of rules for forming expressions, with no restrictions on 10 | how they are composed, suffice to form a practical and efficient 11 | programming language that is flexible enough to support most of the 12 | major programming paradigms in use today. 13 | 14 | /IEEE Standard for the Scheme Programming Language/ 15 | [[[file:bibliography.html#bib_24][24]]], [[file:chapter001.html#p3][p. 16 | 3]] 17 | #+end_quote 18 | 19 | Here we give an elementary introduction to Scheme.^{[[#endnote_1][1]]} 20 | For a more precise explanation of the language see the IEEE standard 21 | [[[file:bibliography.html#bib_24][24]]]; for a longer introduction see 22 | the textbook [[[file:bibliography.html#bib_1][1]]]. 23 | 24 | Scheme is a simple programming language based on expressions. An 25 | expression names a value. For example, the numeral 3.14 names an 26 | approximation to a familiar number. There are primitive expressions, 27 | such as numerals, that we directly recognize, and there are compound 28 | expressions of several kinds. 29 | 30 | ** *Procedure calls* 31 | :PROPERTIES: 32 | :CUSTOM_ID: procedure-calls 33 | :CLASS: level2 34 | :END: 35 | A /procedure call/ is a kind of compound expression. A procedure call is 36 | a sequence of expressions delimited by parentheses. The first 37 | subexpression in a procedure call is taken to name a procedure, and the 38 | rest of the subexpressions are taken to name the arguments to that 39 | procedure. The value produced by the procedure when applied to the given 40 | arguments is the value named by the procedure call. For example, 41 | 42 | {% highlight scheme %} (+ 1 2.14) {% endhighlight %} 43 | 44 | {% highlight scheme %} 3.14 {% endhighlight %} 45 | 46 | {% highlight scheme %} (+ 1 (* 2 1.07)) {% endhighlight %} 47 | 48 | {% highlight scheme %} 3.14 {% endhighlight %} 49 | 50 | are both compound expressions that name the same number as the numeral 51 | 3.14.^{[[#endnote_2][2]]} In these cases the symbols + and _{*} name 52 | procedures that add and multiply, respectively. If we replace any 53 | subexpression of any expression with an expression that names the same 54 | thing as the original subexpression, the thing named by the overall 55 | expression remains unchanged. In general, a procedure call is written 56 | 57 | (   /operator   operand-1/  ...  /operand-n/  ) 58 | 59 | where /operator/ names a procedure and /operand-i/ names the /i/th 60 | argument.^{[[#endnote_3][3]]} 61 | 62 | ** *Lambda expressions* 63 | :PROPERTIES: 64 | :CUSTOM_ID: lambda-expressions 65 | :CLASS: level2 66 | :END: 67 | Just as we use numerals to name numbers, we use /λ/-expressions to name 68 | procedures.^{[[#endnote_4][4]]} For example, the procedure that squares 69 | its input can be written: 70 | 71 | {% highlight scheme %} (lambda (x) (* x x)) {% endhighlight %} 72 | 73 | This expression can be read: “The procedure of one argument, /x/, that 74 | multiplies /x/ by /x/.” Of course, we can use this expression in any 75 | context where a procedure is needed. For example, 76 | 77 | {% highlight scheme %} ((lambda (x) (* x x)) 4) {% endhighlight %} 78 | 79 | {% highlight scheme %} 16 {% endhighlight %} 80 | 81 | <> 82 | 83 | The general form of a /λ/-expression is 84 | 85 | (lambda   /formal-parameters   body/) 86 | 87 | where /formal-parameters/ is a list of symbols that will be the names of 88 | the arguments to the procedure and /body/ is an expression that may 89 | refer to the formal parameters. The value of a procedure call is the 90 | value of the body of the procedure with the arguments substituted for 91 | the formal parameters. 92 | 93 | ** *Definitions* 94 | :PROPERTIES: 95 | :CUSTOM_ID: definitions 96 | :CLASS: level2 97 | :END: 98 | We can use the define construct to give a name to any object. For 99 | example, if we make the definitions^{[[#endnote_5][5]]} 100 | 101 | {% highlight scheme %} (define pi 3.141592653589793) (define square 102 | (lambda (x) (* x x))) {% endhighlight %} 103 | 104 | we can then use the symbols pi and square wherever the numeral or the 105 | /λ/-expression could appear. For example, the area of the surface of a 106 | sphere of radius 5 is 107 | 108 | {% highlight scheme %} (* 4 pi (square 5)) {% endhighlight %} 109 | 110 | {% highlight scheme %} 314.1592653589793 {% endhighlight %} 111 | 112 | Procedure definitions may be expressed more conveniently using 113 | “syntactic sugar.” The squaring procedure may be defined 114 | 115 | {% highlight scheme %} (define (square x) (* x x)) {% endhighlight %} 116 | 117 | which we may read: “To square /x/ multiply /x/ by /x/.” 118 | 119 | In Scheme, procedures may be passed as arguments and returned as values. 120 | For example, it is possible to make a procedure that implements the 121 | mathematical notion of the composition of two 122 | functions:^{[[#endnote_6][6]]} 123 | 124 | {% highlight scheme %} (define compose (lambda (f g) (lambda (x) (f (g 125 | x))))) ((compose square sin) 2) {% endhighlight %} 126 | 127 | {% highlight scheme %} .826821810431806 {% endhighlight %} 128 | 129 | {% highlight scheme %} (square (sin 2)) {% endhighlight %} 130 | 131 | {% highlight scheme %} .826821810431806 {% endhighlight %} 132 | 133 | Using the syntactic sugar shown above, we can write the definition more 134 | conveniently. The following are both equivalent to the definition above: 135 | 136 | {% highlight scheme %} (define (compose f g) (lambda (x) (f (g x)))) 137 | (define ((compose f g) x) (f (g x))) {% endhighlight %} 138 | 139 | ** *Conditionals* 140 | :PROPERTIES: 141 | :CUSTOM_ID: conditionals 142 | :CLASS: level2 143 | :END: 144 | Conditional expressions may be used to choose among several expressions 145 | to produce a value. For example, a procedure that implements the 146 | absolute value function may be written: 147 | 148 | {% highlight scheme %} (define (abs x) (cond ((< x 0) (- x)) ((= x 0) x) 149 | ((> x 0) x))) {% endhighlight %} 150 | 151 | The conditional cond takes a number of clauses. Each clause has a 152 | predicate expression, which may be either true or false, and a 153 | consequent expression. The value of the cond expression is the value of 154 | the consequent expression of the first clause for which the 155 | corresponding predicate expression is true. The general form of a 156 | conditional expression is 157 | 158 | {% highlight scheme %} (cond (predicate-1 consequent-1) ... (predicate-n 159 | consequent-n)) {% endhighlight %} 160 | 161 | For convenience there is a special predicate expression else that can be 162 | used as the predicate in the last clause of a cond. 163 | 164 | <> 165 | 166 | The if construct provides another way to make a conditional when there 167 | is only a binary choice to be made. For example, because we have to do 168 | something special only when the argument is negative, we could have 169 | defined abs as: 170 | 171 | {% highlight scheme %} (define (abs x) (if (< x 0) (- x) x)) {% 172 | endhighlight %} 173 | 174 | The general form of an if expression is 175 | 176 | (if /predicate consequent alternative/) 177 | 178 | If the /predicate/ is true the value of the if expression is the value 179 | of the /consequent/, otherwise it is the value of the /alternative/. 180 | 181 | ** *Recursive procedures* 182 | :PROPERTIES: 183 | :CUSTOM_ID: recursive-procedures 184 | :CLASS: level2 185 | :END: 186 | Given conditionals and definitions, we can write recursive procedures. 187 | For example, to compute the /n/th factorial number we may write: 188 | 189 | {% highlight scheme %} (define (factorial n) (if (= n 0) 1 (* n 190 | (factorial (- n 1))))) (factorial 6) {% endhighlight %} 191 | 192 | {% highlight scheme %} 720 {% endhighlight %} 193 | 194 | {% highlight scheme %} (factorial 40) {% endhighlight %} 195 | 196 | {% highlight scheme %} 815915283247897734345611269596115894272000000000 197 | {% endhighlight %} 198 | 199 | ** *Local names* 200 | :PROPERTIES: 201 | :CUSTOM_ID: local-names 202 | :CLASS: level2 203 | :END: 204 | The let expression is used to give names to objects in a local context. 205 | For example, 206 | 207 | {% highlight scheme %} (define (f radius) (let ((area (* 4 pi (square 208 | radius))) (volume (* 4/3 pi (cube radius)))) (/ volume area))) (f 3) {% 209 | endhighlight %} 210 | 211 | {% highlight scheme %} 1 {% endhighlight %} 212 | 213 | <> 214 | 215 | The general form of a let expression is 216 | 217 | {% highlight scheme %} (let ((variable-1 expression-1) ... (variable-n 218 | expression-n)) body) {% endhighlight %} 219 | 220 | The value of the let expression is the value of the /body/ expression in 221 | the context where the variables /variable-i/ have the values of the 222 | expressions /expression-i/. The expressions /expression-i/ may not refer 223 | to any of the variables /variable-j/ given values in the let expression. 224 | 225 | A let_{*} expression is the same as a let expression except that an 226 | expression /expression-i/ may refer to variables /variable-j/ given 227 | values earlier in the let_{*} expression. 228 | 229 | A slight variant of the let expression provides a convenient way to 230 | express looping constructs. We can write a procedure that implements an 231 | alternative algorithm for computing factorials as follows: 232 | 233 | {% highlight scheme %} (define (factorial n) (let factlp ((count 1) 234 | (answer 1)) (if (> count n) answer (factlp (+ count 1) (* count 235 | answer))))) (factorial 6) {% endhighlight %} 236 | 237 | {% highlight scheme %} 720 {% endhighlight %} 238 | 239 | Here, the symbol factlp following the let is locally defined to be a 240 | procedure that has the variables count and answer as its formal 241 | parameters. It is called the first time with the expressions 1 and 1, 242 | initializing the loop. Whenever the procedure named factlp is called 243 | later, these variables get new values that are the values of the operand 244 | expressions (+ count 1) and (_{*} count answer). 245 | 246 | ** *Compound data---lists and vectors* 247 | :PROPERTIES: 248 | :CUSTOM_ID: compound-datalists-and-vectors 249 | :CLASS: level2 250 | :END: 251 | Data can be glued together to form compound data structures. A list is a 252 | data structure in which the elements are linked sequentially. A Scheme 253 | vector is a data structure in which the elements are packed in a linear 254 | array. New elements can be added to lists, but to access the /n/th 255 | element of a list takes computing time proportional to /n/. By contrast 256 | a Scheme vector is of fixed length, and its elements can be accessed in 257 | constant time. All data structures <>in this book are implemented 258 | as combinations of lists and Scheme vectors. Compound data objects are 259 | constructed from components by procedures called constructors and the 260 | components are accessed by selectors. 261 | 262 | The procedure list is the constructor for lists. The selector list-ref 263 | gets an element of the list. All selectors in Scheme are zero-based. For 264 | example, 265 | 266 | {% highlight scheme %} (define a-list (list 6 946 8 356 12 620)) a-list 267 | {% endhighlight %} 268 | 269 | {% highlight scheme %} (6 946 8 356 12 620) {% endhighlight %} 270 | 271 | {% highlight scheme %} (list-ref a-list 3) {% endhighlight %} 272 | 273 | {% highlight scheme %} 356 {% endhighlight %} 274 | 275 | {% highlight scheme %} (list-ref a-list 0) {% endhighlight %} 276 | 277 | {% highlight scheme %} 6 {% endhighlight %} 278 | 279 | Lists are built from pairs. A pair is made using the constructor cons. 280 | The selectors for the two components of the pair are car and cdr 281 | (pronounced “could-er”).^{[[#endnote_7][7]]} A list is a chain of pairs, 282 | such that the car of each pair is the list element and the cdr of each 283 | pair is the next pair, except for the last cdr, which is a 284 | distinguishable value called the empty list and is written (). Thus, 285 | 286 | {% highlight scheme %} (car a-list) {% endhighlight %} 287 | 288 | {% highlight scheme %} 6 {% endhighlight %} 289 | 290 | {% highlight scheme %} (cdr a-list) {% endhighlight %} 291 | 292 | {% highlight scheme %} (946 8 356 12 620) {% endhighlight %} 293 | 294 | {% highlight scheme %} (car (cdr a-list)) {% endhighlight %} 295 | 296 | {% highlight scheme %} 946 {% endhighlight %} 297 | 298 | {% highlight scheme %} (define another-list (cons 32 (cdr a-list))) 299 | another-list {% endhighlight %} 300 | 301 | {% highlight scheme %} (32 946 8 356 12 620) {% endhighlight %} 302 | 303 | {% highlight scheme %} (car (cdr another-list)) {% endhighlight %} 304 | 305 | {% highlight scheme %} 946 {% endhighlight %} 306 | 307 | <> 308 | 309 | Both a-list and another-list share the same tail (their cdr). 310 | 311 | There is a predicate pair? that is true of pairs and false on all other 312 | types of data. 313 | 314 | Vectors are simpler than lists. There is a constructor vector that can 315 | be used to make vectors and a selector vector-ref for accessing the 316 | elements of a vector: 317 | 318 | {% highlight scheme %} (define a-vector (vector 37 63 49 21 88 56)) 319 | a-vector {% endhighlight %} 320 | 321 | {% highlight scheme %} #(37 63 49 21 88 56) {% endhighlight %} 322 | 323 | {% highlight scheme %} (vector-ref a-vector 3) {% endhighlight %} 324 | 325 | {% highlight scheme %} 21 {% endhighlight %} 326 | 327 | {% highlight scheme %} (vector-ref a-vector 0) {% endhighlight %} 328 | 329 | {% highlight scheme %} 37 {% endhighlight %} 330 | 331 | Notice that a vector is distinguished from a list on printout by the 332 | character /#/ appearing before the initial parenthesis. 333 | 334 | There is a predicate vector? that is true of vectors and false for all 335 | other types of data. 336 | 337 | The elements of lists and vectors may be any kind of data, including 338 | numbers, procedures, lists, and vectors. Numerous other procedures for 339 | manipulating list-structured data and vector-structured data can be 340 | found in the Scheme online documentation. 341 | 342 | ** *Symbols* 343 | :PROPERTIES: 344 | :CUSTOM_ID: symbols 345 | :CLASS: level2 346 | :END: 347 | Symbols are a very important kind of primitive data type that we use to 348 | make programs and algebraic expressions. You probably have noticed that 349 | Scheme programs look just like lists. In fact, they are lists. Some of 350 | the elements of the lists that make up programs are symbols, such as + 351 | and vector.^{[[#endnote_8][8]]} If we are to make programs that can 352 | manipulate programs, we need to be able to write an expression that 353 | names such a symbol. This is accomplished by the mechanism of 354 | /quotation/. The name of the symbol <>+ is the expression '+, and 355 | in general the name of an expression is the expression preceded by a 356 | single quote character. Thus the name of the expression (+ 3 a) is '(+ 3 357 | a). 358 | 359 | We can test if two symbols are identical by using the predicate eq?. For 360 | example, we can write a program to determine if an expression is a sum: 361 | 362 | {% highlight scheme %} (define (sum? expression) (and (pair? expression) 363 | (eq? (car expression) '+))) (sum? '(+ 3 a)) {% endhighlight %} 364 | 365 | {% highlight scheme %} #t {% endhighlight %} 366 | 367 | {% highlight scheme %} (sum? '(* 3 a)) {% endhighlight %} 368 | 369 | {% highlight scheme %} #f {% endhighlight %} 370 | 371 | Here #t and #f are the printed representations of the boolean values 372 | true and false. 373 | 374 | Consider what would happen if we were to leave out the quote in the 375 | expression (sum? '(+ 3 a)). If the variable a had the value 4 we would 376 | be asking if 7 is a sum. But what we wanted to know was whether the 377 | expression (+ 3 a) is a sum. That is why we need the quote. 378 | 379 | ** *Effects* 380 | :PROPERTIES: 381 | :CUSTOM_ID: effects 382 | :CLASS: level2 383 | :END: 384 | Sometimes it is necessary to perform some action, such as plot a point 385 | or print a value, in the process of a computation. Such an action is 386 | called an /effect/.^{[[#endnote_9][9]]} For example, to see in more 387 | detail how the factorial program computes its answer we can interpolate 388 | a write-line statement in the body of the factlp internal procedure. 389 | This will print out a list of the count and the answer for each 390 | iteration: 391 | 392 | {% highlight scheme %} (define (factorial n) (let factlp ((count 1) 393 | (answer 1)) (write-line (list count answer)) (if (> count n) answer 394 | (factlp (+ count 1) (* count answer))))) {% endhighlight %} 395 | 396 | <> 397 | 398 | When we execute the modified factorial procedure we can watch the 399 | counter incrementing and the answer being built: 400 | 401 | {% highlight scheme %} (factorial 6) {% endhighlight %} 402 | 403 | {% highlight scheme %} (1 1) (2 1) (3 2) (4 6) (5 24) (6 120) (7 720) 404 | 720 {% endhighlight %} 405 | 406 | The body of every procedure or let, as well as the consequent of every 407 | cond clause, allows statements that have effects to be used. The effect 408 | statement generally has no useful value. The final expression in the 409 | body or clause produces the value that is returned. In this example the 410 | if expression produces the value of the factorial. 411 | 412 | *** /*Assignments*/ 413 | :PROPERTIES: 414 | :CUSTOM_ID: assignments 415 | :CLASS: level3 416 | :END: 417 | Effects like printing a value or plotting a point are pretty benign, but 418 | there are more powerful (and thus dangerous) effects, called 419 | /assignments/. An assignment /changes/ the value of a variable or an 420 | entry in a data structure. Almost everything we are computing are 421 | mathematical functions: for a particular input they always produce the 422 | same result. However, with assignment we can make objects that change 423 | their behavior as they are used. For example, we can make a device that 424 | counts every time we call it: 425 | 426 | {% highlight scheme %} (define (make-counter) (let ((count 0)) (lambda 427 | () (set! count (+ count 1)) count))) {% endhighlight %} 428 | 429 | Let's make two counters: 430 | 431 | {% highlight scheme %} (define c1 (make-counter)) (define c2 432 | (make-counter)) {% endhighlight %} 433 | 434 | These two counters have independent local state. Calling a counter 435 | causes it to increment its local state variable, count, and return its 436 | value. 437 | 438 | {% highlight scheme %} (c1) {% endhighlight %} 439 | 440 | {% highlight scheme %} 1 {% endhighlight %} 441 | 442 | {% highlight scheme %} (c1) {% endhighlight %} 443 | 444 | {% highlight scheme %} 2 {% endhighlight %} 445 | 446 | {% highlight scheme %} (c2) {% endhighlight %} 447 | 448 | {% highlight scheme %} 1 {% endhighlight %} 449 | 450 | {% highlight scheme %} (c1) {% endhighlight %} 451 | 452 | {% highlight scheme %} 3 {% endhighlight %} 453 | 454 | {% highlight scheme %} (c2) {% endhighlight %} 455 | 456 | {% highlight scheme %} 2 {% endhighlight %} 457 | 458 | Assignment to variables is sometimes useful. For example, it may be 459 | useful to accumulate some objects into a list for further analysis. Here 460 | is an elegant way to do this: 461 | 462 | {% highlight scheme %} (define (make-collector) (let ((lst '())) (cons 463 | (lambda (new) (set! lst (cons new lst)) new) (lambda () lst)))) {% 464 | endhighlight %} 465 | 466 | This procedure makes a pair of two procedures. The car of the pair is a 467 | procedure that adds to a list and the cdr of the pair is a procedure 468 | that reports the list that has been collected. 469 | 470 | Let's make two collectors and play with them: 471 | 472 | {% highlight scheme %} (define c3 (make-collector)) (define c4 473 | (make-collector)) ((car c3) 42) {% endhighlight %} 474 | 475 | {% highlight scheme %} 42 {% endhighlight %} 476 | 477 | {% highlight scheme %} ((car c4) 'jerry) {% endhighlight %} 478 | 479 | {% highlight scheme %} jerry {% endhighlight %} 480 | 481 | {% highlight scheme %} ((car c3) 28) {% endhighlight %} 482 | 483 | {% highlight scheme %} 28 {% endhighlight %} 484 | 485 | {% highlight scheme %} ((car c3) 14) {% endhighlight %} 486 | 487 | {% highlight scheme %} 14 {% endhighlight %} 488 | 489 | {% highlight scheme %} ((car c4) 'jack) {% endhighlight %} 490 | 491 | {% highlight scheme %} jack {% endhighlight %} 492 | 493 | {% highlight scheme %} ((cdr c3)) {% endhighlight %} 494 | 495 | {% highlight scheme %} (14 28 42) {% endhighlight %} 496 | 497 | {% highlight scheme %} ((cdr c4)) {% endhighlight %} 498 | 499 | {% highlight scheme %} (jack jerry) {% endhighlight %} 500 | 501 | <> 502 | 503 | It is also possible to assign to the elements of a data structure, such 504 | as a list or vector. This is unnecessary in our work so we won't tell 505 | you about how to do it! In general, it is good practice to avoid 506 | assignments whenever possible, but if you need them they are 507 | available.^{[[#endnote_10][10]]} 508 | 509 | [[#endnote_ref_1][^{1}]]Many of the statements here are valid only 510 | assuming that no assignments are used. 511 | 512 | [[#endnote_ref_2][^{2}]]In examples we show the value that would be 513 | printed by the Scheme system using slanted characters following the 514 | input expression. 515 | 516 | [[#endnote_ref_3][^{3}]]In Scheme every parenthesis is essential: you 517 | cannot add extra parentheses or remove any. 518 | 519 | [[#endnote_ref_4][^{4}]]The logician Alonzo Church 520 | [[[file:bibliography.html#bib_13][13]]] invented /λ/-notation to allow 521 | the specification of an anonymous function of a named parameter: 522 | */λ/*/x/[expression in /x/]. This is read, “That function of one 523 | argument that is obtained by substituting the argument for /x/ in the 524 | indicated expression.” 525 | 526 | [[#endnote_ref_5][^{5}]]The definition of square given here is not the 527 | definition of square in the Scmutils system. In Scmutils, square is 528 | extended for tuples to mean the sum of the squares of the components of 529 | the tuple. However, for arguments that are not tuples the Scmutils 530 | square does multiply the argument by itself. 531 | 532 | [[#endnote_ref_6][^{6}]]The examples are indented to help with 533 | readability. Scheme does not care about extra white space, so we may add 534 | as much as we please to make things easier to read. 535 | 536 | [[#endnote_ref_7][^{7}]]These names are accidents of history. They stand 537 | for “Contents of the Address part of Register” and “Contents of the 538 | Decrement part of Register” of the IBM 704 computer, which was used for 539 | the first implementation of Lisp in the late 1950s. Scheme is a dialect 540 | of Lisp. 541 | 542 | [[#endnote_ref_8][^{8}]]Symbols may have any number of characters. A 543 | symbol may not contain whitespace or a delimiter character, such as 544 | parentheses, brackets, quotation marks, comma, or #. 545 | 546 | [[#endnote_ref_9][^{9}]]This is computer-science jargon: An effect is a 547 | change to something. For example, write-line changes the display by 548 | printing something to the display. 549 | 550 | [[#endnote_ref_10][^{10}]]The discipline of programming without 551 | assignments is called /functional programming/. Functional programs are 552 | generally easier to understand, and have fewer bugs than /imperative 553 | programs/. 554 | -------------------------------------------------------------------------------- /org/chapter009.org: -------------------------------------------------------------------------------- 1 | --- title: Our Notation chapter: 9 next: title: Bibliography url: 2 | bibliography.html prev: title: Chapter 8 url: chapter008.html layout: 3 | appendix --- <> {% include appendix_title.html %} 4 | 5 | #+begin_quote 6 | An adequate notation should be understood by at least two people, one 7 | of whom may be the author. 8 | 9 | Abdus Salam (1950). 10 | #+end_quote 11 | 12 | We adopt a /functional mathematical notation/ that is close to that used 13 | by Spivak in his /Calculus on Manifolds/ 14 | [[[file:bibliography.html#bib_40][40]]]. The use of functional notation 15 | avoids many of the ambiguities of traditional mathematical notation; the 16 | ambiguities of traditional notation that can impede clear reasoning in 17 | classical mechanics. Functional notation carefully distinguishes the 18 | function from the value of the function when applied to particular 19 | arguments. In functional notation mathematical expressions are 20 | unambiguous and self-contained. 21 | 22 | We adopt a /generic arithmetic/ in which the basic arithmetic 23 | operations, such as addition and multiplication, are extended to a wide 24 | variety of mathematical types. Thus, for example, the addition operator 25 | + can be applied to numbers, tuples of numbers, matrices, functions, 26 | etc. Generic arithmetic formalizes the common informal practice used to 27 | manipulate mathematical objects. 28 | 29 | We often want to manipulate aggregate quantities, such as the collection 30 | of all of the rectangular coordinates of a collection of particles, 31 | without explicitly manipulating the component parts. Tensor arithmetic 32 | provides a traditional way of manipulating aggregate objects: Indices 33 | label the parts; conventions, such as the summation convention, are 34 | introduced to manipulate the indices. We introduce a /tuple arithmetic/ 35 | as an alternative way of manipulating aggregate quantities that usually 36 | lets us avoid labeling the parts with indices. Tuple arithmetic is 37 | inspired by tensor arithmetic but it is more general: not all of the 38 | components of a tuple need to be of the same size or type. 39 | 40 | The mathematical notation is in one-to-one correspondence with 41 | expressions of the computer language /Scheme/ 42 | [[[file:bibliography.html#bib_24][24]]]. Scheme is based on the 43 | /λ/-calculus [[[file:bibliography.html#bib_13][13]]] and directly 44 | supports the manipulation of functions. We augment Scheme with symbolic, 45 | numerical, <>and generic features to support our applications. For 46 | a simple introduction to Scheme, see the Scheme appendix. The 47 | correspondence between the mathematical notation and Scheme requires 48 | that mathematical expressions be unambiguous and self-contained. Scheme 49 | provides immediate feedback in verification of mathematical deductions 50 | and facilitates the exploration of the behavior of systems. 51 | 52 | ** *Functions* 53 | :PROPERTIES: 54 | :CUSTOM_ID: functions 55 | :CLASS: level2 56 | :END: 57 | The value of the function /f/, given the argument /x/, is written 58 | /f/(/x/). The expression /f/(/x/) denotes the value of the function at 59 | the given argument; when we wish to denote the function we write just 60 | /f/. Functions may take several arguments. For example, we may have the 61 | function that gives the Euclidean distance between two points in the 62 | plane given by their rectangular coordinates: 63 | 64 | $$\begin{matrix} 65 | {d(x_{1},y_{1},x_{2},y_{2}) = \sqrt{\left( {x_{2} - x_{1}} \right)^{2} + \left( {y_{2} - y_{1}} \right)^{2}}.} & {(9.1)} \\ 66 | \end{matrix}$$ 67 | 68 | In Scheme we can write this as: 69 | 70 | {% highlight scheme %} (define (d x1 y1 x2 y2) (sqrt (+ (square (- x2 71 | x1)) (square (- y2 y1))))) {% endhighlight %} 72 | 73 | Functions may be composed if the range of one overlaps the domain of the 74 | other. The composition of functions is constructed by passing the output 75 | of one to the input of the other. We write the composition of two 76 | functions using the ∘ operation: 77 | 78 | $$\begin{matrix} 79 | \left. (f \circ g):x\mapsto(f \circ g)(x) = f(g(x)). \right. & {(9.2)} \\ 80 | \end{matrix}$$ 81 | 82 | A procedure h that computes the cube of the sine of its argument may be 83 | defined by composing the procedures cube and sin: 84 | 85 | {% highlight scheme %} (define h (compose cube sin)) (h 2) {% 86 | endhighlight %} 87 | 88 | {% highlight scheme %} .7518269446689928 {% endhighlight %} 89 | 90 | which is the same as 91 | 92 | {% highlight scheme %} (cube (sin 2)) {% endhighlight %} 93 | 94 | {% highlight scheme %} .7518269446689928 {% endhighlight %} 95 | 96 | <> 97 | 98 | Arithmetic is extended to the manipulation of functions: the usual 99 | mathematical operations may be applied to functions. Examples are 100 | addition and multiplication; we may add or multiply two functions if 101 | they take the same kinds of arguments and if their values can be added 102 | or multiplied: 103 | 104 | $$\begin{array}{rll} 105 | {(f + g)(x)} & {= f(x) + g(x)} & \\ 106 | {(fg)(x)} & {= f(x)g(x).} & {(9.3)} \\ 107 | \end{array}$$ 108 | 109 | A procedure g that multiplies the cube of its argument by the sine of 110 | its argument is 111 | 112 | {% highlight scheme %} (define g (* cube sin)) (g 2) {% endhighlight %} 113 | 114 | {% highlight scheme %} 7.274379414605454 {% endhighlight %} 115 | 116 | {% highlight scheme %} (* (cube 2) (sin 2)) {% endhighlight %} 117 | 118 | {% highlight scheme %} 7.274379414605454 {% endhighlight %} 119 | 120 | ** *Symbolic values* 121 | :PROPERTIES: 122 | :CUSTOM_ID: symbolic-values 123 | :CLASS: level2 124 | :END: 125 | As in usual mathematical notation, arithmetic is extended to allow the 126 | use of symbols that represent unknown or incompletely specified 127 | mathematical objects. These symbols are manipulated as if they had 128 | values of a known type. By default, a Scheme symbol is assumed to 129 | represent a real number. So the expression 'a is a literal Scheme symbol 130 | that represents an unspecified real number: 131 | 132 | {% highlight scheme %} ((compose cube sin) 'a) (expt (sin a) 3) {% 133 | endhighlight %} 134 | 135 | The default printer simplifies the expression and displays it in a 136 | readable form.^{[[#endnote_1][1]]} We can use the simplifier to verify a 137 | trigonometric identity: 138 | 139 | {% highlight scheme %} ((- (+ (square sin) (square cos)) 1) 'a) {% 140 | endhighlight %} 141 | 142 | {% highlight scheme %} 0 {% endhighlight %} 143 | 144 | <> 145 | 146 | Just as it is useful to be able to manipulate symbolic numbers, it is 147 | useful to be able to manipulate symbolic functions. The procedure 148 | literal-function makes a procedure that acts as a function having no 149 | properties other than its name. By default, a literal function is 150 | defined to take one real argument and produce one real value. For 151 | example, we may want to work with a function /f/ : *R* → *R*: 152 | 153 | {% highlight scheme %} ((literal-function 'f) 'x) {% endhighlight %} 154 | 155 | {% highlight scheme %} (f x) {% endhighlight %} 156 | 157 | {% highlight scheme %} ((compose (literal-function 'f) (literal-function 158 | 'g)) 'x) {% endhighlight %} 159 | 160 | {% highlight scheme %} (f (g x)) {% endhighlight %} 161 | 162 | We can also make literal functions of multiple, possibly structured 163 | arguments that return structured values. For example, to denote a 164 | literal function named g that takes two real arguments and returns a 165 | real value (/g/ : *R* × *R* → *R*) we may write: 166 | 167 | {% highlight scheme %} (define g (literal-function 'g (-> (X Real Real) 168 | Real))) (g 'x 'y) {% endhighlight %} 169 | 170 | {% highlight scheme %} (g x y) {% endhighlight %} 171 | 172 | We may use such a literal function anywhere that an explicit function of 173 | the same type may be used. 174 | 175 | There is a whole language for describing the type of a literal function 176 | in terms of the number of arguments, the types of the arguments, and the 177 | types of the values. Here we describe a function that maps pairs of real 178 | numbers to real numbers with the expression (-> (X Real Real) Real). 179 | Later we will introduce structured arguments and values and show 180 | extensions of literal functions to handle these. 181 | 182 | ** *Tuples* 183 | :PROPERTIES: 184 | :CUSTOM_ID: tuples 185 | :CLASS: level2 186 | :END: 187 | There are two kinds of tuples: /up/ tuples and /down/ tuples. We write 188 | tuples as ordered lists of their components; a tuple is delimited by 189 | parentheses if it is an up tuple and by square brackets if it is a down 190 | tuple. For example, the up tuple /v/ of velocity components /v/^{0}, 191 | /v/^{1}, and /v/^{2} is 192 | 193 | $$\begin{matrix} 194 | {v = \left( {v^{0},v^{1},v^{2}} \right).} & {(9.4)} \\ 195 | \end{matrix}$$ 196 | 197 | The down tuple /p/ of momentum components /p/_{0}, /p/_{1}, and /p/_{2} 198 | is 199 | 200 | $$\begin{matrix} 201 | {p = \lbrack p_{0},p_{1},p_{2}\rbrack.} & {(9.5)} \\ 202 | \end{matrix}$$ 203 | 204 | <> 205 | 206 | A component of an up tuple is usually identified by a superscript. A 207 | component of a down tuple is usually identified by a subscript. We use 208 | zero-based indexing when referring to tuple elements. This notation 209 | follows the usual convention in tensor arithmetic. 210 | 211 | We make tuples with the constructors up and down: 212 | 213 | {% highlight scheme %} (define v (up 'v^0 'v^1 'v^2)) v {% endhighlight 214 | %} 215 | 216 | {% highlight scheme %} (up v^0 v^1 v^2) {% endhighlight %} 217 | 218 | {% highlight scheme %} (define p (down 'p_0 'p_1 'p_2)) p {% 219 | endhighlight %} 220 | 221 | {% highlight scheme %} (down p_0 p_1 p_2) {% endhighlight %} 222 | 223 | Tuple arithmetic is different from the usual tensor arithmetic in that 224 | the components of a tuple may also be tuples and different components 225 | need not have the same structure. For example, a tuple structure /s/ of 226 | phase-space states is 227 | 228 | $$\begin{matrix} 229 | {s = (t,(x,y),\lbrack p_{x},p_{y}\rbrack).} & {(9.6)} \\ 230 | \end{matrix}$$ 231 | 232 | It is an up tuple of the time, the coordinates, and the momenta. The 233 | time /t/ has no substructure. The coordinates are an up tuple of the 234 | coordinate components /x/ and /y/. The momentum is a down tuple of the 235 | momentum components /p_{x}/ and /p_{y}/. This is written: 236 | 237 | {% highlight scheme %} (define s (up 't (up 'x 'y) (down 'p_x 'p_y))) {% 238 | endhighlight %} 239 | 240 | In order to reference components of tuple structures there are selector 241 | functions, for example: 242 | 243 | $$\begin{array}{rll} 244 | {I(s)} & {= s} & \\ 245 | {I_{0}(s)} & {= t} & \\ 246 | {I_{1}(s)} & {= (x,y)} & \\ 247 | {I_{2}(s)} & {= \left\lbrack p_{x},p_{y} \right\rbrack} & \\ 248 | {I_{1,0}(s)} & {= x} & \\ 249 | & \ldots & \\ 250 | {I_{2,1}(s)} & {= p_{y}.} & {(9.7)} \\ 251 | \end{array}$$ 252 | 253 | The sequence of integer subscripts on the selector describes the access 254 | chain to the desired component. 255 | 256 | <> 257 | 258 | The procedure component is the general selector procedure that 259 | implements the selector functions. For example, /I/_{0,1} is implemented 260 | by (component 0 1): 261 | 262 | {% highlight scheme %} ((component 0 1) (up (up 'a 'b) (up 'c 'd))) {% 263 | endhighlight %} 264 | 265 | {% highlight scheme %} b {% endhighlight %} 266 | 267 | To access a component of a tuple we may also use the selector procedure 268 | ref, which takes a tuple and an index and returns the indicated element 269 | of the tuple: 270 | 271 | {% highlight scheme %} (ref (up 'a 'b 'c) 1) {% endhighlight %} 272 | 273 | {% highlight scheme %} b {% endhighlight %} 274 | 275 | We use zero-based indexing everywhere. The procedure ref can be used to 276 | access any substructure of a tree of tuples: 277 | 278 | {% highlight scheme %} (ref (up (up 'a 'b) (up 'c 'd)) 0 1) {% 279 | endhighlight %} 280 | 281 | {% highlight scheme %} b {% endhighlight %} 282 | 283 | Two up tuples of the same length may be added or subtracted, 284 | elementwise, to produce an up tuple, if the components are compatible 285 | for addition. Similarly, two down tuples of the same length may be added 286 | or subtracted, elementwise, to produce a down tuple, if the components 287 | are compatible for addition. 288 | 289 | Any tuple may be multiplied by a number by multiplying each component by 290 | the number. Numbers may, of course, be multiplied. Tuples that are 291 | compatible for addition form a vector space. 292 | 293 | For convenience we define the square of a tuple to be the sum of the 294 | squares of the components of the tuple. Tuples can be multiplied, as 295 | described below, but the square of a tuple is not the product of the 296 | tuple with itself. 297 | 298 | The meaning of multiplication of tuples depends on the structure of the 299 | tuples. Two tuples are compatible for contraction if they are of 300 | opposite types, they are of the same length, and corresponding elements 301 | have the following property: either they are both tuples and are 302 | compatible for contraction, or one of them is not a tuple. If two tuples 303 | are compatible for contraction then generic multiplication is 304 | interpreted as contraction: the result is the sum of the products of 305 | corresponding components of the tuples. For example, /p/ and /v/ 306 | introduced in equations ([[file:chapter009.html#disp_9.4][9.4]]) and 307 | ([[file:chapter009.html#disp_9.5][9.5]]) above are compatible for 308 | contraction; the product is 309 | 310 | <> 311 | 312 | $$\begin{matrix} 313 | {pv = p_{0}v^{0} + p_{1}v^{1} + p_{2}v^{2}.} & {(9.8)} \\ 314 | \end{matrix}$$ 315 | 316 | So the product of tuples that are compatible for contraction is an inner 317 | product. Using the tuples p and v defined above gives us 318 | 319 | {% highlight scheme %} (* p v) {% endhighlight %} 320 | 321 | {% highlight scheme %} (+ (* p_0 v^0) (* p_1 v^1) (* p_2 v^2)) {% 322 | endhighlight %} 323 | 324 | Contraction of tuples is commutative: /pv/ = /vp/. Caution: 325 | Multiplication of tuples that are compatible for contraction is, in 326 | general, not associative. For example, let /u/ = (5, 2), /v/ = (11, 13), 327 | and /g/ = [[3, 5], [7, 9]]. Then /u/(/gv/) = 964, but (/ug/)/v/ = 878. 328 | The expression /ugv/ is ambiguous. An expression that has this ambiguity 329 | does not occur in this book. 330 | 331 | The rule for multiplying two structures that are not compatible for 332 | contraction is simple. If /A/ and /B/ are not compatible for 333 | contraction, the product /AB/ is a tuple of type /B/ whose components 334 | are the products of /A/ and the components of /B/. The same rule is 335 | applied recursively in multiplying the components. So if /B/ = (/B/^{0}, 336 | /B/^{1}, /B/^{2}), the product of /A/ and /B/ is 337 | 338 | $$\begin{matrix} 339 | {AB = (AB^{0},AB^{1},AB^{2}).} & {(9.9)} \\ 340 | \end{matrix}$$ 341 | 342 | If /A/ and /C/ are not compatible for contraction and /C/ = [/C/_{0}, 343 | /C/_{1}, /C/_{2}], the product is 344 | 345 | $$\begin{matrix} 346 | {AC = \left\lbrack {AC_{0},AC_{1},AC_{2}} \right\rbrack.} & {(9.10)} \\ 347 | \end{matrix}$$ 348 | 349 | Tuple structures can be made to represent linear transformations. For 350 | example, the rotation commonly represented by the matrix 351 | 352 | $$\begin{matrix} 353 | \begin{bmatrix} 354 | {\cos\theta} & {- \sin\theta} \\ 355 | {\sin\theta} & {\cos\theta} \\ 356 | \end{bmatrix} & {(9.11)} \\ 357 | \end{matrix}$$ 358 | 359 | can be represented as a tuple structure:^{[[#endnote_2][2]]} 360 | 361 | <> 362 | 363 | $$\begin{matrix} 364 | {\begin{bmatrix} 365 | \begin{pmatrix} 366 | {\cos\theta} \\ 367 | {\sin\theta} \\ 368 | \end{pmatrix} & \begin{pmatrix} 369 | {- \sin\theta} \\ 370 | {\cos\theta} \\ 371 | \end{pmatrix} \\ 372 | \end{bmatrix}.} & {(9.12)} \\ 373 | \end{matrix}$$ 374 | 375 | Such a tuple is compatible for contraction with an up tuple that 376 | represents a vector. So, for example: 377 | 378 | $$\begin{matrix} 379 | {\begin{bmatrix} 380 | \begin{pmatrix} 381 | {\cos\theta} \\ 382 | {\sin\theta} \\ 383 | \end{pmatrix} & \begin{pmatrix} 384 | {- \sin\theta} \\ 385 | {\cos\theta} \\ 386 | \end{pmatrix} \\ 387 | \end{bmatrix}\,\begin{pmatrix} 388 | x \\ 389 | y \\ 390 | \end{pmatrix} = \begin{pmatrix} 391 | {x\cos\theta - y\sin\theta} \\ 392 | {x\sin\theta + y\cos\theta} \\ 393 | \end{pmatrix}.} & {(9.13)} \\ 394 | \end{matrix}$$ 395 | 396 | Two tuples that represent linear transformations, though not compatible 397 | for contraction, may also be combined by multiplication. In this case 398 | the product represents the composition of the linear transformations. 399 | For example, the product of the tuples representing two rotations is 400 | 401 | $$\begin{matrix} 402 | {{\begin{bmatrix} 403 | \begin{pmatrix} 404 | {\cos\theta} \\ 405 | {\sin\theta} \\ 406 | \end{pmatrix} & \begin{pmatrix} 407 | {- \sin\theta} \\ 408 | {\cos\theta} \\ 409 | \end{pmatrix} \\ 410 | \end{bmatrix}\,}\begin{bmatrix} 411 | \begin{pmatrix} 412 | {\cos\varphi} \\ 413 | {\sin\varphi} \\ 414 | \end{pmatrix} & \begin{pmatrix} 415 | {- \sin\varphi} \\ 416 | {\cos\varphi} \\ 417 | \end{pmatrix} \\ 418 | \end{bmatrix}} & \\ 419 | {= \begin{bmatrix} 420 | \begin{pmatrix} 421 | {\cos(\theta + \varphi)} \\ 422 | {\sin(\theta + \varphi)} \\ 423 | \end{pmatrix} & \begin{pmatrix} 424 | {- \sin(\theta + \varphi)} \\ 425 | {\cos(\theta + \varphi)} \\ 426 | \end{pmatrix} \\ 427 | \end{bmatrix}.} & {(9.14)} \\ 428 | \end{matrix}$$ 429 | 430 | Multiplication of tuples that represent linear transformations is 431 | associative but generally not commutative, just as the composition of 432 | the transformations is associative but not generally commutative. 433 | 434 | ** *Derivatives* 435 | :PROPERTIES: 436 | :CUSTOM_ID: derivatives 437 | :CLASS: level2 438 | :END: 439 | The derivative of a function /f/ is a function, denoted by /Df/. Our 440 | notational convention is that /D/ is a high-precedence operator. Thus 441 | /D/ operates on the adjacent function before any other application 442 | occurs: /Df/(/x/) is the same as (/Df/)(/x/). Higher-order derivatives 443 | are described by exponentiating the derivative operator. Thus the /n/th 444 | derivative of a function /f/ is notated as /D^{n}f/. 445 | 446 | The procedure for producing the derivative of a function is named D. The 447 | derivative of the sin procedure is a procedure that computes cos: 448 | 449 | {% highlight scheme %} (define derivative-of-sine (D sin)) 450 | (derivative-of-sine 'x) {% endhighlight %} 451 | 452 | {% highlight scheme %} (cos x) {% endhighlight %} 453 | 454 | The derivative of a function /f/ is the function /Df/ whose value for a 455 | particular argument is something that can be multiplied by an increment 456 | Δ/x/ in the argument to get a linear approximation to the increment in 457 | the value of /f/: 458 | 459 | $$\begin{matrix} 460 | {f(x + \Delta x) \approx f(x) + D\, f(x)\Delta x.} & {(9.15)} \\ 461 | \end{matrix}$$ 462 | 463 | <> 464 | 465 | For example, let /f/ be the function that cubes its argument (/f/(/x/) = 466 | /x/^{3}); then /Df/ is the function that yields three times the square 467 | of its argument (/Df/(/y/) = 3/y/^{2}). So /f/(5) = 125 and /Df/(5) = 468 | 75. The value of /f/ with argument /x/ + Δ/x/ is 469 | 470 | $$\begin{matrix} 471 | {f(x + \Delta x) = {(x + \Delta x)}^{3} = x^{3} + 3x^{2}\Delta x + 3x\Delta x^{2} + \Delta x^{3}} & {(9.16)} \\ 472 | \end{matrix}$$ 473 | 474 | and 475 | 476 | $$\begin{matrix} 477 | {Df(x)\Delta x = 3x^{2}\Delta x.} & {(9.17)} \\ 478 | \end{matrix}$$ 479 | 480 | So /Df/(/x/) multiplied by Δ/x/ gives us the term in /f/(/x/ + Δ/x/) 481 | that is linear in Δ/x/, providing a good approximation to /f/(/x/ + 482 | Δ/x/) − /f/(/x/) when Δ/x/ is small. 483 | 484 | Derivatives of compositions obey the chain rule: 485 | 486 | $$\begin{matrix} 487 | {D(f \circ g) = ((Df) \circ g) \cdot Dg.} & {(9.18)} \\ 488 | \end{matrix}$$ 489 | 490 | So at /x/, 491 | 492 | $$\begin{matrix} 493 | {(D(f \circ g))(x) = Df(g(x)) \cdot Dg(x).} & {(9.19)} \\ 494 | \end{matrix}$$ 495 | 496 | D is an example of an /operator/. An operator is like a function except 497 | that multiplication of operators is interpreted as composition, whereas 498 | multiplication of functions is multiplication of the values (see 499 | equation [[file:chapter009.html#disp_9.3][9.3]]). If /D/ were an 500 | ordinary function, then the rule for multiplication would imply that 501 | /D/^{2}/f/ would just be the product of /Df/ with itself, which is not 502 | what is intended. A product of a number and an operator scales the 503 | operator. So, for example 504 | 505 | {% highlight scheme %} (((* 5 D) cos) 'x) {% endhighlight %} 506 | 507 | {% highlight scheme %} (* -5 (sin x)) {% endhighlight %} 508 | 509 | Arithmetic is extended to allow manipulation of operators. A typical 510 | operator is (/D/+/I/)(/D/−/I/) = /D/^{2}−/I/, where /I/ is the identity 511 | operator, which subtracts a function from its second derivative. Such an 512 | operator can be constructed and used as follows: 513 | 514 | {% highlight scheme %} (((* (+ D I) (- D I)) (literal-function 'f)) 'x) 515 | {% endhighlight %} 516 | 517 | {% highlight scheme %} (+ (((expt D 2) f) x) (* -1 (f x))) {% 518 | endhighlight %} 519 | 520 | <> 521 | 522 | ** *Derivatives of functions of multiple arguments* 523 | :PROPERTIES: 524 | :CUSTOM_ID: derivatives-of-functions-of-multiple-arguments 525 | :CLASS: level2 526 | :END: 527 | The derivative generalizes to functions that take multiple arguments. 528 | The derivative of a real-valued function of multiple arguments is an 529 | object whose contraction with the tuple of increments in the arguments 530 | gives a linear approximation to the increment in the function's value. 531 | 532 | A function of multiple arguments can be thought of as a function of an 533 | up tuple of those arguments. Thus an incremental argument tuple is an up 534 | tuple of components, one for each argument position. The derivative of 535 | such a function is a down tuple of the partial derivatives of the 536 | function with respect to each argument position. 537 | 538 | Suppose we have a real-valued function /g/ of two real-valued arguments, 539 | and we want to approximate the increment in the value of /g/ from its 540 | value at /x/, /y/. If the arguments are incremented by the tuple (Δ/x,/ 541 | Δ/y/) we compute: 542 | 543 | $$\begin{array}{lll} 544 | {Dg(x,y) \cdot (\Delta x,\Delta y)} & {= \lbrack\partial_{0}g(x,y),\partial_{1}g(x,y)\rbrack \cdot (\Delta x,\Delta y)} & \\ 545 | & {= \partial_{0}g(x,y)\Delta x + \partial_{1}g(x,y)\Delta y.} & {(9.20)} \\ 546 | \end{array}$$ 547 | 548 | Using the two-argument literal function g defined on 549 | [[file:chapter009.html#p512][page 512]], we have: 550 | 551 | {% highlight scheme %} ((D g) 'x 'y) {% endhighlight %} 552 | 553 | {% highlight scheme %} (down (((partial 0) g) x y) (((partial 1) g) x 554 | y)) {% endhighlight %} 555 | 556 | In general, partial derivatives are just the components of the 557 | derivative of a function that takes multiple arguments (or structured 558 | arguments or both; see below). So a partial derivative of a function is 559 | a composition of a component selector and the derivative of that 560 | function.^{[[#endnote_3][3]]} Indeed: 561 | 562 | $$\begin{matrix} 563 | {\partial_{0}g = I_{0} \circ Dg} & {(9.21)} \\ 564 | \end{matrix}$$ 565 | 566 | $$\begin{matrix} 567 | {\partial_{1}g = I_{1} \circ Dg.} & {(9.22)} \\ 568 | \end{matrix}$$ 569 | 570 | Concretely, if 571 | 572 | $$\begin{matrix} 573 | {g(x,y) = x^{3}y^{5}} & {(9.23)} \\ 574 | \end{matrix}$$ 575 | 576 | <> 577 | 578 | then 579 | 580 | $$\begin{matrix} 581 | {Dg(x,y) = \left\lbrack {3x^{2}y^{5},5x^{3}y^{4}} \right\rbrack} & {(9.24)} \\ 582 | \end{matrix}$$ 583 | 584 | and the first-order approximation of the increment for changing the 585 | arguments by Δ/x/ and Δ/y/ is 586 | 587 | $$\begin{array}{lll} 588 | {g(x + \Delta x,y + \Delta y) - g(x,y)} & {\approx \left\lbrack {3x^{2}y^{5},5x^{3}y^{4}} \right\rbrack \cdot (\Delta x,\Delta y)} & \\ 589 | & {= 3x^{2}y^{5}\Delta x + 5x^{3}y^{4}\Delta y.} & {(9.25)} \\ 590 | \end{array}$$ 591 | 592 | Partial derivatives of compositions also obey a chain rule: 593 | 594 | $$\begin{matrix} 595 | {\partial_{i}(f \circ g) = ((D\, f) \circ g) \cdot \partial_{i}g.} & {(9.26)} \\ 596 | \end{matrix}$$ 597 | 598 | So if /x/ is a tuple of arguments, then 599 | 600 | $$\begin{matrix} 601 | {(\partial_{i}(f \circ g))(x) = Df(g(x)) \cdot \partial_{i}g(x).} & {(9.27)} \\ 602 | \end{matrix}$$ 603 | 604 | Mathematical notation usually does not distinguish functions of multiple 605 | arguments and functions of the tuple of arguments. Let /h/((/x/, /y/)) = 606 | /g/(/x/, /y/). The function /h/, which takes a tuple of arguments /x/ 607 | and /y/, is not distinguished from the function /g/ that takes arguments 608 | /x/ and /y/. We use both ways of defining functions of multiple 609 | arguments. The derivatives of both kinds of functions are compatible for 610 | contraction with a tuple of increments to the arguments. Scheme comes in 611 | handy here: 612 | 613 | {% highlight scheme %} (define (h s) (g (ref s 0) (ref s 1))) (h (up 'x 614 | 'y)) {% endhighlight %} 615 | 616 | {% highlight scheme %} (g x y) {% endhighlight %} 617 | 618 | {% highlight scheme %} ((D g) 'x 'y) {% endhighlight %} 619 | 620 | {% highlight scheme %} (down (((partial 0) g) x y) (((partial 1) g) x 621 | y)) {% endhighlight %} 622 | 623 | {% highlight scheme %} ((D h) (up 'x 'y)) {% endhighlight %} 624 | 625 | {% highlight scheme %} (down (((partial 0) g) x y) (((partial 1) g) x 626 | y)) {% endhighlight %} 627 | 628 | A phase-space state function is a function of time, coordinates, and 629 | momenta. Let /H/ be such a function. The value of /H/ is /H/(/t,/ (/x/, 630 | /y/), [/p_{x}/, /p_{y}/]) for time /t/, coordinates (/x/, /y/), and 631 | momenta [/p_{x}/, /p_{y}/]. Let /s/ be the phase-space state tuple as in 632 | ([[file:chapter009.html#disp_9.6][9.6]]): 633 | 634 | $$\begin{matrix} 635 | {s = \left( {t,(x,y),\left\lbrack {p_{x},p_{y}} \right\rbrack} \right).} & {(9.28)} \\ 636 | \end{matrix}$$ 637 | 638 | <> 639 | 640 | The value of /H/ for argument tuple /s/ is /H/(/s/). We use both ways of 641 | writing the value of /H/. 642 | 643 | We often show a function of multiple arguments that include tuples by 644 | indicating the boundaries of the argument tuples with semicolons and 645 | separating their components with commas. If /H/ is a function of 646 | phase-space states with arguments /t/, (/x/, /y/), and [/p_{x}/, 647 | /p_{y}/], we may write /H/(/t/; /x/, /y/; /p_{x}/, /p_{y}/). This 648 | notation loses the up/down distinction, but our semicolon-and-comma 649 | notation is convenient and reasonably unambiguous. 650 | 651 | The derivative of /H/ is a function that produces an object that can be 652 | contracted with an increment in the argument structure to produce an 653 | increment in the function's value. The derivative is a down tuple of 654 | three partial derivatives. The first partial derivative is the partial 655 | derivative with respect to the numerical argument. The second partial 656 | derivative is a down tuple of partial derivatives with respect to each 657 | component of the up-tuple argument. The third partial derivative is an 658 | up tuple of partial derivatives with respect to each component of the 659 | down-tuple argument: 660 | 661 | $$\begin{array}{lll} 662 | {DH(s)} & {= \left\lbrack {\partial_{0}H(s),\partial_{1}H(s),\partial_{2}H(s)} \right\rbrack} & \\ 663 | & {= \left\lbrack {\partial_{0}H(s),\left\lbrack {\partial_{1,0}H(s),\partial_{1,1}H(s)} \right\rbrack,\left( {\partial_{2,0}H(s),\partial_{2,1}H(s)} \right)} \right\rbrack,} & {(9.29)} \\ 664 | \end{array}$$ 665 | 666 | where ∂_{1,0} indicates the partial derivative with respect to the first 667 | component (index 0) of the second argument (index 1) of the function, 668 | and so on. Indeed, ∂/_{z}F/ = /I_{z}/ ∘ /DF/ for any function /F/ and 669 | access chain /z/. So, if we let Δ/s/ be an incremental phase-space state 670 | tuple, 671 | 672 | $$\begin{matrix} 673 | {\Delta s = (\Delta t,(\Delta x,\Delta y),\lbrack\Delta p_{x},\Delta p_{y}\rbrack),} & {(9.30)} \\ 674 | \end{matrix}$$ 675 | 676 | then 677 | 678 | $$\begin{array}{lll} 679 | {DH(s)\Delta s} & {= \partial_{0}H(s)\Delta t} & \\ 680 | & {\,\,\, + \partial_{1,0}H(s)\Delta x + \partial_{1,1}H(s)\Delta y} & \\ 681 | & {\,\,\, + \partial_{2,0}H(s)\Delta p_{x} + \partial_{2,1}H(s)\Delta p_{y}.} & {(9.31)} \\ 682 | \end{array}$$ 683 | 684 | Caution: Partial derivative operators with respect to different 685 | structured arguments generally do not commute. 686 | 687 | <> 688 | 689 | In Scheme we must make explicit choices. We usually assume that 690 | phase-space state functions are functions of the tuple. For example, 691 | 692 | {% highlight scheme %} (define H (literal-function 'H (-> (UP Real (UP 693 | Real Real) (DOWN Real Real)) Real))) (H s) {% endhighlight %} 694 | 695 | {% highlight scheme %} (H (up t (up x y) (down p_x p_y))) {% 696 | endhighlight %} 697 | 698 | {% highlight scheme %} ((D H) s) {% endhighlight %} 699 | 700 | {% highlight scheme %} (down (((partial 0) H) (up t (up x y) (down p_x 701 | p_y))) (down (((partial 1 0) H) (up t (up x y) (down p_x p_y))) 702 | (((partial 1 1) H) (up t (up x y) (down p_x p_y)))) (up (((partial 2 0) 703 | H) (up t (up x y) (down p_x p_y))) (((partial 2 1) H) (up t (up x y) 704 | (down p_x p_y))))) {% endhighlight %} 705 | 706 | ** *Structured results* 707 | :PROPERTIES: 708 | :CUSTOM_ID: structured-results 709 | :CLASS: level2 710 | :END: 711 | Some functions produce structured outputs. A function whose output is a 712 | tuple is equivalent to a tuple of component functions each of which 713 | produces one component of the output tuple. 714 | 715 | For example, a function that takes one numerical argument and produces a 716 | structure of outputs may be used to describe a curve through space. The 717 | following function describes a helical path around the /z/-axis in 718 | three-dimensional space: 719 | 720 | $$\begin{matrix} 721 | {h(t) = (\cos t,\sin t,t) = (\cos,\sin,I)(t).} & {(9.32)} \\ 722 | \end{matrix}$$ 723 | 724 | The derivative is just the up tuple of the derivatives of each component 725 | of the function: 726 | 727 | $$\begin{matrix} 728 | {Dh(t) = ( - \sin t,\cos t,1).} & {(9.33)} \\ 729 | \end{matrix}$$ 730 | 731 | We can write 732 | 733 | {% highlight scheme %} (define (helix t) (up (cos t) (sin t) t)) {% 734 | endhighlight %} 735 | 736 | or just 737 | 738 | {% highlight scheme %} (define helix (up cos sin identity)) {% 739 | endhighlight %} 740 | 741 | <> 742 | 743 | Its derivative is just the up tuple of the derivatives of each component 744 | of the function: 745 | 746 | {% highlight scheme %} ((D helix) 't) {% endhighlight %} 747 | 748 | {% highlight scheme %} (up (* -1 (sin t)) (cos t) 1) {% endhighlight %} 749 | 750 | In general, a function that produces structured outputs is just treated 751 | as a structure of functions, one for each of the components. The 752 | derivative of a function of structured inputs that produces structured 753 | outputs is an object that when contracted with an incremental input 754 | structure produces a linear approximation to the incremental output. 755 | Thus, if we define function /g/ by 756 | 757 | $$\begin{matrix} 758 | {g(x,y) = \left( {\left( {x + y} \right)^{2},\left( {y - x} \right)^{3},e^{x + y}} \right),} & {(9.34)} \\ 759 | \end{matrix}$$ 760 | 761 | then the derivative of /g/ is 762 | 763 | $$\begin{matrix} 764 | {Dg(x,y) = \left\lbrack {\begin{pmatrix} 765 | {2(x + y)} \\ 766 | {- 3{(y - x)}^{2}} \\ 767 | e^{x + y} \\ 768 | \end{pmatrix},\begin{pmatrix} 769 | {2(x + y)} \\ 770 | {3{(y - x)}^{2}} \\ 771 | e^{x + y} \\ 772 | \end{pmatrix}} \right\rbrack.} & {(9.35)} \\ 773 | \end{matrix}$$ 774 | 775 | In Scheme: 776 | 777 | {% highlight scheme %} (define (g x y) (up (square (+ x y)) (cube (- y 778 | x)) (exp (+ x y)))) ((D g) 'x 'y) {% endhighlight %} 779 | 780 | {% highlight scheme %} (down (up (+ (* 2 x) (* 2 y)) (+ (* -3 (expt x 781 | 2)) (* 6 x y) (* -3 (expt y 2))) (* (exp y) (exp x))) ( (+ (* 2 x) (* 2 782 | y)) (+ (* 3 (expt x 2)) (* -6 x y) (* 3 (expt y 2))) (* (exp y) (exp 783 | x)))) {% endhighlight %} 784 | 785 | Caution must be exercised when taking the derivative of the product of 786 | functions that each produce structured results. The problem is that the 787 | usual product rule does not hold. Let /f/ and /g/ be functions of /x/ 788 | whose results are compatible for contraction to a number. The increment 789 | of /f/ for an increment Δ/x/ of /x/ is /Df/(/x/)Δ/x/, and similarly for 790 | /g/. The increment of the product /fg/ is /D/(/fg/)(/x/)Δ/x/, but 791 | expanded in terms of the derivative of /f/ and /g/ the increment is 792 | (/Df/(/x/)Δ/x/)/g/(/x/) + /f/(/x/)(/Dg/(/x/)Δ/x/). It is not 793 | ((/Df/)(/x/)/g/(/x/) + /f/(/x/)(/Dg/(/x/)))Δ/x/. The reason is that the 794 | shape of the derivative of /f/ is such that /Df/(/x/) should be 795 | multiplied by Δ/x/ rather than /g/(/x/). 796 | 797 | <> 798 | 799 | *Exercise 9.1: Chain rule* 800 | 801 | Let /F/ (/x/, /y/) = /x/^{2}/y/^{3}, /G/(/x/, /y/) = (/F/ (/x/, /y/), 802 | /y/), and /H/(/x/, /y/) = /F/ (/F/ (/x/, /y/), /y/), so that /H/ = /F/ ∘ 803 | /G/. 804 | 805 | *a.* Compute ∂_{0}/F/ (/x/, /y/) and ∂_{1}/F/ (/x/, /y/). 806 | 807 | *b.* Compute ∂_{0}/F/ (/F/ (/x/, /y/), /y/) and ∂_{1}/F/ (/F/ (/x/, 808 | /y/), /y/). 809 | 810 | *c.* Compute ∂_{0}/G/(/x/, /y/) and ∂_{1}/G/(/x/, /y/). 811 | 812 | *d.* Compute /DF/ (/a/, /b/), /DG/(3, 5) and /DH/(3/a/^{2}, 5/b/^{3}). 813 | 814 | *Exercise 9.2: Computing derivatives* 815 | 816 | We can represent functions of multiple arguments as procedures in 817 | several ways, depending upon how we wish to use them. The simplest idea 818 | is to identify the procedure arguments with the function's arguments. 819 | 820 | For example, we could write implementations of the functions that occur 821 | in [[file:chapter009.html#Exe_9-1][exercise 9.1]] as follows: 822 | 823 | {% highlight scheme %} (define (f x y) (* (square x) (cube y))) (define 824 | (g x y) (up (f x y) y)) (define (h x y) (f (f x y) y)) {% endhighlight 825 | %} 826 | 827 | With this choice it is awkward to compose a function that takes multiple 828 | arguments, such as /f/, with a function that produces a tuple of those 829 | arguments, such as /g/. Alternatively, we can represent the function 830 | arguments as slots of a tuple data structure, and then composition with 831 | a function that produces such a data structure is easy. However, this 832 | choice requires the procedures to build and take apart structures. 833 | 834 | For example, we may define procedures that implement the functions above 835 | as follows: 836 | 837 | {% highlight scheme %} (define (f v) (let ((x (ref v 0)) (y (ref v 1))) 838 | (* (square x) (cube y)))) (define (g v) (let ((x (ref v 0)) (y (ref v 839 | 1))) (up (f v) y))) (define h (compose f g)) {% endhighlight %} 840 | 841 | Repeat [[file:chapter009.html#Exe_9-1][exercise 9.1]] using the 842 | computer. Explore both implementations of multiple-argument functions. 843 | 844 | [[#endnote_ref_1][^{1}]]The procedure print-expression can be used in a 845 | program to print a simplified version of an expression. The default 846 | printer in the user interface incorporates the simplifier. 847 | 848 | [[#endnote_ref_2][^{2}]]To emphasize the relationship of simple tuple 849 | structures to matrix notation we often format up tuples as vertical 850 | arrangements of components and down tuples as horizontal arrangements of 851 | components. However, we could just as well have written this tuple as 852 | [(cos /θ/, sin /θ/), (− sin /θ/, cos /θ/)]. 853 | 854 | [[#endnote_ref_3][^{3}]]Partial derivative operators such as (partial 2) 855 | are operators, so (expt (partial 1) 2) is a second partial derivative. 856 | 857 | <> 858 | -------------------------------------------------------------------------------- /org/dedication.org: -------------------------------------------------------------------------------- 1 | --- title: Dedication next: title: Preface url: preface.html layout: 2 | main --- <> 3 | 4 | This book is dedicated, 5 | 6 | in respect and admiration, 7 | 8 | to 9 | 10 | The Principle of Least Action 11 | 12 | #+begin_quote 13 | “The author has spared himself no pains in his endeavour to present 14 | the main ideas in the simplest and most intelligible form, and on the 15 | whole, in the sequence and connection in which they actually 16 | originated. In the interest of clearness, it appeared to me inevitable 17 | that I should repeat myself frequently, without paying the slightest 18 | attention to the elegance of the presentation. I adhered scrupulously 19 | to the precept of that brilliant theoretical physicist L. Boltzmann, 20 | according to whom matters of elegance ought be left to the tailor and 21 | to the cobbler.” 22 | 23 | Albert Einstein, in /Relativity, the Special and General Theory/, 24 | (1961), p. v 25 | #+end_quote 26 | -------------------------------------------------------------------------------- /org/preface.org: -------------------------------------------------------------------------------- 1 | --- title: Preface next: title: Acknowledgments url: 2 | acknowledgments.html prev: title: Dedication url: dedication.html 3 | layout: main --- 4 | 5 | ** Preface 6 | :PROPERTIES: 7 | :CUSTOM_ID: preface 8 | :CLASS: unnumbered 9 | :END: 10 | 11 | #+begin_quote 12 | “In almost all textbooks, even the best, this principle is presented 13 | so that it is impossible to understand.” (K. Jacobi, /Lectures on 14 | Dynamics/, 1842-1843). I have not chosen to break with tradition. 15 | 16 | V. I. Arnold, /Mathematical Methods of Classical Mechanics/ 17 | [[[file:bibliography.html#bib_5][5]]], footnote, 18 | [[file:chapter003.html#p246][p. 246]] 19 | #+end_quote 20 | 21 | #+begin_quote 22 | If you can't explain it simply, you don't understand it well enough. 23 | 24 | Albert Einstein 25 | #+end_quote 26 | 27 | There has been a remarkable revival of interest in classical mechanics 28 | in recent years. We now know that there is much more to classical 29 | mechanics than previously suspected. The behavior of classical systems 30 | is surprisingly rich; derivation of the equations of motion, the focus 31 | of traditional presentations of mechanics, is just the beginning. 32 | Classical systems display a complicated array of phenomena such as 33 | nonlinear resonances, chaotic behavior, and transitions to chaos. 34 | 35 | Traditional treatments of mechanics concentrate most of their effort on 36 | the extremely small class of symbolically tractable dynamical systems. 37 | We concentrate on developing general methods for studying the behavior 38 | of systems, whether or not they have a symbolic solution. Typical 39 | systems exhibit behavior that is qualitatively different from the 40 | solvable systems and surprisingly complicated. We focus on the phenomena 41 | of motion, and we make extensive use of computer simulation to explore 42 | this motion. 43 | 44 | Even when a system is not symbolically tractable, the tools of modern 45 | dynamics allow one to extract a qualitative understanding. Rather than 46 | concentrating on symbolic descriptions, we concentrate on geometric 47 | features of the set of possible trajectories. Such tools provide a basis 48 | for the systematic analysis of numerical or experimental data. 49 | 50 | Classical mechanics is deceptively simple. It is surprisingly easy to 51 | get the right answer with fallacious reasoning or without real 52 | <>understanding. Traditional mathematical notation contributes to 53 | this problem. Symbols have ambiguous meanings that depend on context, 54 | and often even change within a given context.^{[[#endnote_1][1]]} For 55 | example, a fundamental result of mechanics is the Lagrange equations. In 56 | traditional notation the Lagrange equations are written 57 | 58 | $\frac{d}{dt}\frac{\partial L}{\partial{\overset{˙}{q}}^{i}} - \frac{\partial L}{\partial q^{i}} = 0.$ 59 | 60 | The Lagrangian /L/ must be interpreted as a function of the position and 61 | velocity components /q^{i}/ and 62 | 63 | ${\overset{˙}{q}}^{i}$ 64 | 65 | , so that the partial derivatives make sense, but then in order for the 66 | time derivative /d/dt/ to make sense solution paths must have been 67 | inserted into the partial derivatives of the Lagrangian to make 68 | functions of time. The traditional use of ambiguous notation is 69 | convenient in simple situations, but in more complicated situations it 70 | can be a serious handicap to clear reasoning. In order that the 71 | reasoning be clear and unambiguous, we have adopted a more precise 72 | mathematical notation. Our notation is functional and follows that of 73 | modern mathematical presentations.^{[[#endnote_2][2]]} An introduction 74 | to our functional notation is in an appendix. 75 | 76 | Computation also enters into the presentation of the mathematical ideas 77 | underlying mechanics. We require that our <>mathematical notations 78 | be explicit and precise enough that they can be interpreted 79 | automatically, as by a computer. As a consequence of this requirement 80 | the formulas and equations that appear in the text stand on their own. 81 | They have clear meaning, independent of the informal context. For 82 | example, we write Lagrange's equations in functional notation as 83 | follows:^{[[#endnote_3][3]]} 84 | 85 | /D/(∂_{2}/L/ ∘ Γ[/q/]) − ∂_{1}/L/ ∘ Γ[/q/] = 0. 86 | 87 | The Lagrangian /L/ is a real-valued function of time /t/, coordinates 88 | /x/, and velocities /v/; the value is /L/(/t, x, v/). Partial 89 | derivatives are indicated as derivatives of functions with respect to 90 | particular argument positions; ∂_{2}/L/ indicates the function obtained 91 | by taking the partial derivative of the Lagrangian function /L/ with 92 | respect to the velocity argument position. The traditional partial 93 | derivative notation, which employs a derivative with respect to a 94 | “variable,” depends on context and can lead to 95 | ambiguity.^{[[#endnote_4][4]]} The partial derivatives of the Lagrangian 96 | are then explicitly evaluated along a path function /q/. The time 97 | derivative is taken and the Lagrange equations formed. Each step is 98 | explicit; there are no implicit substitutions. 99 | 100 | Computational algorithms are used to communicate precisely some of the 101 | methods used in the analysis of dynamical phenomena. Expressing the 102 | methods of variational mechanics in a computer language forces them to 103 | be unambiguous and computationally effective. Computation requires us to 104 | be precise about the representation of mechanical and geometric notions 105 | as computational objects and permits us to represent explicitly the 106 | algorithms for manipulating these objects. Also, once formalized as a 107 | procedure, a mathematical idea becomes a tool that can be used directly 108 | to compute results. 109 | 110 | Active exploration on the part of the student is an essential part of 111 | the learning experience. Our focus is on understanding the motion of 112 | systems; to learn about motion the student must actively explore the 113 | motion of systems through simulation and <>experiment. The 114 | exercises and projects are an integral part of the presentation. 115 | 116 | That the mathematics is precise enough to be interpreted automatically 117 | allows active exploration to be extended to it. The requirement that the 118 | computer be able to interpret any expression provides strict and 119 | immediate feedback as to whether the expression is correctly formulated. 120 | Experience demonstrates that interaction with the computer in this way 121 | uncovers and corrects many deficiencies in understanding. 122 | 123 | In this book we express computational methods in Scheme, a dialect of 124 | the Lisp family of programming languages that we also use in our 125 | introductory computer science subject at MIT. There are many good 126 | expositions of Scheme. We provide a short introduction to Scheme in an 127 | appendix. 128 | 129 | Even in the introductory computer science class we never formally teach 130 | the language, because we do not have to. We just use it, and students 131 | pick it up in a few days. This is one great advantage of Lisp-like 132 | languages: They have very few ways of forming compound expressions, and 133 | almost no syntactic structure. All of the formal properties can be 134 | covered in an hour, like the rules of chess. After a short time we 135 | forget about the syntactic details of the language (because there are 136 | none) and get on with the real issues---figuring out what we want to 137 | compute. 138 | 139 | The advantage of Scheme over other languages for the exposition of 140 | classical mechanics is that the manipulation of procedures that 141 | implement mathematical functions is easier and more natural in Scheme 142 | than in other computer languages. Indeed, many theorems of mechanics are 143 | directly representable as Scheme programs. 144 | 145 | The version of Scheme that we use in this book is MIT/GNU Scheme, 146 | augmented with a large library of software called Scmutils that extends 147 | the Scheme operators to be generic over a variety of mathematical 148 | objects, including symbolic expressions. The Scmutils library also 149 | provides support for the numerical methods we use in this book, such as 150 | quadrature, integration of systems of differential equations, and 151 | multivariate minimization. 152 | 153 | The Scheme system, augmented with the Scmutils library, is free 154 | software. We provide this system, complete with documentation and source 155 | code, in a form that can be used with the GNU/Linux operating system, on 156 | the Internet at mitpress.mit.edu/classical mech. 157 | 158 | <> 159 | 160 | This book presents classical mechanics from an unusual perspective. It 161 | focuses on understanding motion rather than deriving equations of 162 | motion. It weaves recent discoveries in nonlinear dynamics throughout 163 | the presentation, rather than presenting them as an afterthought. It 164 | uses functional mathematical notation that allows precise understanding 165 | of fundamental properties of classical mechanics. It uses computation to 166 | constrain notation, to capture and formalize methods, for simulation, 167 | and for symbolic analysis. 168 | 169 | This book is the result of teaching classical mechanics at MIT. The 170 | contents of our class began with ideas from a class on nonlinear 171 | dynamics and solar system dynamics by Wisdom and ideas about how 172 | computation can be used to formulate methodology developed in an 173 | introductory computer science class by Abelson and Sussman. When we 174 | started we expected that using this approach to formulate mechanics 175 | would be easy. We quickly learned that many things we thought we 176 | understood we did not in fact understand. Our requirement that our 177 | mathematical notations be explicit and precise enough that they can be 178 | interpreted automatically, as by a computer, is very effective in 179 | uncovering puns and flaws in reasoning. The resulting struggle to make 180 | the mathematics precise, yet clear and computationally effective, lasted 181 | far longer than we anticipated. We learned a great deal about both 182 | mechanics and computation by this process. We hope others, especially 183 | our competitors, will adopt these methods, which enhance understanding 184 | while slowing research. 185 | 186 | * *Second Edition* 187 | :PROPERTIES: 188 | :CUSTOM_ID: h1-1 189 | :CLASS: level1 190 | :END: 191 | We have taught classical mechanics using this text every year at MIT 192 | since the first edition was published. We have learned a great deal 193 | about what difficulties students encountered with the material. We have 194 | found that some of our explanations needed improvement. This edition is 195 | the result of our new understanding. 196 | 197 | Our software support has improved substantially over the years, and we 198 | have exploited it to provide algebraic proofs of more generality than 199 | could be supplied in the first edition. This advantage permeates most of 200 | the new edition. 201 | 202 | In the first chapter we now go more directly to the coordinate 203 | representation of the action, without compromising the 204 | <>importance of the coordinate independence of the action. We 205 | also added a simple derivation of the Euler--Lagrange equations from the 206 | Principle of Stationary Action, supplementing the more formal derivation 207 | of the first edition. 208 | 209 | In the chapter on rigid-body motion we now provide an algebraic 210 | derivation of the existence of the angular-velocity vector. Our new 211 | derivation is in harmony with the development of generalized coordinates 212 | for a rigid body as parameters of the transformation from a reference 213 | orientation to the actual orientation. We also provide a new section on 214 | quaternions as a way of avoiding singularities in the analysis of the 215 | motion of rigid bodies. 216 | 217 | A canonical transformation is a transformation of phase-space 218 | coordinates and an associated transformation of the Hamiltonian that 219 | maintains a one-to-one correspondence between trajectories. We allow 220 | time-dependent systems and transformations, complicating the treatment 221 | of canonical transformations. The chapter on canonical transformations 222 | has been extensively revised to clarify the relationship of canonical 223 | transformations to symplectic transformations. We split off the 224 | treatment of canonical transformations that arise from evolution, 225 | including Lie transforms, into a new chapter. 226 | 227 | We fixed myriad minor mistakes throughout. We hope that we have not 228 | introduced more than we have removed. 229 | 230 | __________________ 231 | 232 | [[#endnote_ref_1][^{1}]]In his book on mathematical pedagogy 233 | [[[file:bibliography.html#bib_17][17]]], Hans Freudenthal argues that 234 | the reliance on ambiguous, unstated notational conventions in such 235 | expressions as /f/(/x/) and /df/(/x/)//dx/ makes mathematics, and 236 | especially introductory calculus, extremely confusing for beginning 237 | students; and he enjoins mathematics educators to use more formal modern 238 | notation. 239 | 240 | [[#endnote_ref_2][^{2}]]In his beautiful book /Calculus on Manifolds/ 241 | [[[file:bibliography.html#bib_40][40]]], Michael Spivak uses functional 242 | notation. On p. 44 he discusses some of the problems with classical 243 | notation. We excerpt a particularly juicy passage: 244 | 245 | The mere statement of [the chain rule] in classical notation requires 246 | the introduction of irrelevant letters. The usual evaluation for 247 | /D/_{1}(/f/ ∘ (/g, h/)) runs as follows: 248 | 249 | If /f/(/u, v/) is a function and /u/ = /g/(/x, y/) and /v/ = /h/(/x, y/) 250 | then 251 | 252 | $\frac{\partial f(g(x,y),h(x,y)}{\partial x} = \frac{\partial f(u,v)}{\partial u}\frac{\partial u}{\partial x} + \frac{\partial f(u,v)}{\partial v}\frac{\partial v}{\partial x}$ 253 | [The symbol ∂/u//∂/x/ means ∂///∂/x g/(/x, y/), and ∂///∂/u f/(/u, v/) 254 | means /D/_{1}/f/(/u, v/) = /D/_{1}/f/(/g/(/x, y/), /h/(/x, y/)).] This 255 | equation is often written simply 256 | 257 | $\frac{\partial f}{\partial x} = \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} + \frac{\partial f}{\partial v}\frac{\partial v}{\partial x}.$ 258 | Note that /f/ means something different on the two sides of the 259 | equation! 260 | 261 | [[#endnote_ref_3][^{3}]]This is presented here without explanation, to 262 | give the flavor of the notation. The text gives a full explanation. 263 | 264 | [[#endnote_ref_4][^{4}]]“It is necessary to use the apparatus of partial 265 | derivatives, in which even the notation is ambiguous.” V.I. Arnold, 266 | /Mathematical Methods of Classical Mechanics/ 267 | [[[file:bibliography.html#bib_5][5]]], Section 47, p. 258. See also the 268 | footnote on that page. 269 | -------------------------------------------------------------------------------- /org/titlepage.org: -------------------------------------------------------------------------------- 1 | [Go to [[file:book.html][first]], [[file:book.html][previous]], 2 | [[file:preface.html][next]] section;    [[file:toc.html][contents]];    3 | [[file:index.html][index]]] 4 | 5 | <> 6 | *Structure and Interpretation of Classical Mechanics* 7 | 8 | second edition 9 | 10 | Gerald Jay Sussman and Jack Wisdom 11 | 12 | The MIT Press\\ 13 | Cambridge, Massachusetts\\ 14 | London, England 15 | 16 | [Go to [[file:book.html][first]], [[file:book.html][previous]], 17 | [[file:preface.html][next]] section;    [[file:toc.html][contents]];    18 | [[file:index.html][index]]] 19 | -------------------------------------------------------------------------------- /org/toc.org: -------------------------------------------------------------------------------- 1 | --- --- 2 | {% include toplink.html %} 3 | 4 | * Structure and Interpretation\\ 5 | of Classical Mechanics 6 | :PROPERTIES: 7 | :CUSTOM_ID: structure-and-interpretation-of-classical-mechanics 8 | :CLASS: titlefont 9 | :END: 10 | 11 | Second Edition\\ 12 | Unofficial HTML Version 13 | 14 | *Gerald Jay Sussman and Jack Wisdom*\\ 15 | ©2014 by The Massachusetts Institute of Technology 16 | 17 | [[https://creativecommons.org/licenses/by-nc-sa/3.0/][[[file:images/by-nc-sa.svg]]]] 18 | This work is licensed under a Creative Commons 19 | Attribution-NonCommercial-ShareAlike 3.0 Unported License 20 | ([[http://creativecommons.org/licenses/by-sa/3.0/][CC BY-SA 3.0]]). 21 | Based on a work at 22 | [[https://mitpress.mit.edu/sites/default/files/titles/content/sicm_edition_2/book.html][mitpress.mit.edu]]. 23 | 24 | The MIT Press\\ 25 | Cambridge, Massachusetts\\ 26 | London, England 27 | 28 | Title page image credit: [[https://wellcomeimages.org/][Wellcome 29 | Library, London]]. Licensed under a Creative Commons Attribution only 30 | license ([[http://creativecommons.org/licenses/by/4.0/][CC BY 4.0]]). 31 | 32 | <> 33 | ** Short Table of Contents 34 | :PROPERTIES: 35 | :CUSTOM_ID: short-table-of-contents 36 | :CLASS: shortcontents-heading 37 | :END: 38 | 39 | - [[#toc-dedication][Dedication]] 40 | - [[#toc-preface][Preface]] 41 | - [[#toc-acknowledgments][Acknowledgments]] 42 | - [[#toc-chap-1][Lagrangian Mechanics]] 43 | - [[#toc-chap-2][Rigid Bodies]] 44 | - [[#toc-chap-3][Hamiltonian Mechanics]] 45 | - [[#toc-chap-4][Phase Space Structure]] 46 | - [[#toc-chap-5][Canonical Transformations]] 47 | - [[#toc-chap-6][Canonical Evolution]] 48 | - [[#toc-chap-7][Canonical Perturbation Theory]] 49 | - [[#toc-chap-8][Appendix: Scheme]] 50 | - [[#toc-chap-9][Appendix: Our Notation]] 51 | 52 | <> 53 | ** Table of Contents 54 | :PROPERTIES: 55 | :CUSTOM_ID: table-of-contents 56 | :CLASS: contents-heading 57 | :END: 58 | 59 | - [[file:dedication.html][Dedication]] 60 | - [[file:preface.html][Preface]] 61 | - [[file:acknowledgments.html][Acknowledgments]] 62 | - [[file:chapter001.html][*1 Lagrangian Mechanics*]] 63 | 64 | - [[file:chapter001.html#h1-2][1.1 Configuration Spaces]] 65 | - [[file:chapter001.html#h1-3][1.2 Generalized Coordinates]] 66 | - [[file:chapter001.html#h1-4][1.3 The Principle of Stationary 67 | Action]] 68 | - [[file:chapter001.html#h1-5][1.4 Computing Actions]] 69 | - [[file:chapter001.html#h1-6][1.5 The Euler--Lagrange Equations]] 70 | 71 | - [[file:chapter001.html#h3_1-5-1][1.5.1 Derivation of the Lagrange 72 | Equations]] 73 | - [[file:chapter001.html#h3_1-5-2][1.5.2 Computing Lagrange's 74 | Equations]] 75 | 76 | - [[file:chapter001.html#h1-6a][1.6 How to Find Lagrangians]] 77 | 78 | - [[file:chapter001.html#h3_1-6-1][1.6.1 Coordinate 79 | Transformations]] 80 | - [[file:chapter001.html#h3_1-6-2][1.6.2 Systems with Rigid 81 | Constraints]] 82 | - [[file:chapter001.html#h3_1-6-3][1.6.3 Constraints as Coordinate 83 | Transformations]] 84 | - [[file:chapter001.html#h3_1-6-4][1.6.4 The Lagrangian Is Not 85 | Unique]] 86 | 87 | - [[file:chapter001.html#h1-6b][1.7 Evolution of Dynamical State]] 88 | - [[file:chapter001.html#h1-6c][1.8 Conserved Quantities]] 89 | 90 | - [[file:chapter001.html#h3_1-8-1][1.8.1 Conserved Momenta]] 91 | - [[file:chapter001.html#h3_1-8-2][1.8.2 Energy Conservation]] 92 | - [[file:chapter001.html#h3_1-8-3][1.8.3 Central Forces in Three 93 | Dimensions]] 94 | - [[file:chapter001.html#h3_1-8-4][1.8.4 The Restricted Three-Body 95 | Problem]] 96 | - [[file:chapter001.html#h3_1-8-5][1.8.5 Noether's Theorem]] 97 | 98 | - [[file:chapter001.html#h1-6d][1.9 Abstraction of Path Functions]] 99 | - [[file:chapter001.html#h1-6e][1.10 Constrained Motion]] 100 | 101 | - [[file:chapter001.html#h3_1-10-1][1.10.1 Coordinate Constraints]] 102 | - [[file:chapter001.html#h3_1-10-2][1.10.2 Derivative Constraints]] 103 | - [[file:chapter001.html#h3_1-10-3][1.10.3 Nonholonomic Systems]] 104 | 105 | - [[file:chapter001.html#h1-6f][1.11 Summary]] 106 | - [[file:chapter001.html#h1-6g][1.12 Projects]] 107 | 108 | - [[file:chapter002.html][*2 Rigid Bodies*]] 109 | 110 | - [[file:chapter002.html#h1-7][2.1 Rotational Kinetic Energy]] 111 | - [[file:chapter002.html#h1-8][2.2 Kinematics of Rotation]] 112 | - [[file:chapter002.html#h1-8a][2.3 Moments of Inertia]] 113 | - [[file:chapter002.html#h1-9][2.4 Inertia Tensor]] 114 | - [[file:chapter002.html#h1-9a][2.5 Principal Moments of Inertia]] 115 | - [[file:chapter002.html#h1-10][2.6 Vector Angular Momentum]] 116 | - [[file:chapter002.html#h1-11][2.7 Euler Angles]] 117 | - [[file:chapter002.html#h1-12][2.8 Motion of a Free Rigid Body]] 118 | 119 | - [[file:chapter002.html#h3_2-8-1][2.8.1 Computing the Motion of 120 | Free Rigid Bodies]] 121 | - [[file:chapter002.html#h3_2-8-2][2.8.2 Qualitative Features]] 122 | 123 | - [[file:chapter002.html#h1-12a][2.9 Euler's Equations]] 124 | - [[file:chapter002.html#h1-12b][2.10 Axisymmetric Tops]] 125 | - [[file:chapter002.html#h1-12c][2.11 Spin-Orbit Coupling]] 126 | 127 | - [[file:chapter002.html#h3_2-11-1][2.11.1 Development of the 128 | Potential Energy]] 129 | - [[file:chapter002.html#h3_2-11-2][2.11.2 Rotation of the Moon and 130 | Hyperion]] 131 | - [[file:chapter002.html#h3_2-11-3][2.11.3 Spin-Orbit Resonances]] 132 | 133 | - [[file:chapter002.html#h1-12d][2.12 Nonsingular Coordinates and 134 | Quaternions]] 135 | 136 | - [[file:chapter002.html#h3_2-12-1][2.12.1 Motion in Terms of 137 | Quaternions]] 138 | 139 | - [[file:chapter002.html#h1-13][2.13 Summary]] 140 | - [[file:chapter002.html#h1-14][2.14 Projects]] 141 | 142 | - [[file:chapter003.html][*3 Hamiltonian Mechanics*]] 143 | 144 | - [[file:chapter003.html#h1-15][3.1 Hamilton's Equations]] 145 | 146 | - [[file:chapter003.html#h3_3-1-1][3.1.1 The Legendre 147 | Transformation]] 148 | - [[file:chapter003.html#h3_3-1-2][3.1.2 Hamilton's Equations from 149 | the Action Principle]] 150 | - [[file:chapter003.html#h3_3-1-3][3.1.3 A Wiring Diagram]] 151 | 152 | - [[file:chapter003.html#h1-16][3.2 Poisson Brackets]] 153 | - [[file:chapter003.html#h1-17][3.3 One Degree of Freedom]] 154 | - [[file:chapter003.html#h1-18][3.4 Phase Space Reduction]] 155 | 156 | - [[file:chapter003.html#h3_3-4-1][3.4.1 Lagrangian Reduction]] 157 | 158 | - [[file:chapter003.html#h1-19][3.5 Phase Space Evolution]] 159 | 160 | - [[file:chapter003.html#h3_3-5-1][3.5.1 Phase-Space Description Is 161 | Not Unique]] 162 | 163 | - [[file:chapter003.html#h1-20][3.6 Surfaces of Section]] 164 | 165 | - [[file:chapter003.html#h3_3-6-1][3.6.1 Periodically Driven 166 | Systems]] 167 | - [[file:chapter003.html#h3_3-6-2][3.6.2 Computing Stroboscopic 168 | Surfaces of Section]] 169 | - [[file:chapter003.html#h3_3-6-3][3.6.3 Autonomous Systems]] 170 | - [[file:chapter003.html#h3_3-6-4][3.6.4 Computing Hénon--Heiles 171 | Surfaces of Section]] 172 | - [[file:chapter003.html#h3_3-6-5][3.6.5 Non-Axisymmetric Top]] 173 | 174 | - [[file:chapter003.html#h1-21][3.7 Exponential Divergence]] 175 | - [[file:chapter003.html#h1-21a][3.8 Liouville's Theorem]] 176 | - [[file:chapter003.html#h1-21b][3.9 Standard Map]] 177 | - [[file:chapter003.html#h1-22][3.10 Summary]] 178 | - [[file:chapter003.html#h1-23][3.11 Projects]] 179 | 180 | - [[file:chapter004.html][*4 Phase Space Structure*]] 181 | 182 | - [[file:chapter004.html#h1-24a][4.1 Emergence of the Divided Phase 183 | Space]] 184 | - [[file:chapter004.html#h1-24][4.2 Linear Stability]] 185 | 186 | - [[file:chapter004.html#h3_4-2-1][4.2.1 Equilibria of Differential 187 | Equations]] 188 | - [[file:chapter004.html#h3_4-2-2][4.2.2 Fixed Points of Maps]] 189 | - [[file:chapter004.html#h3_4-2-3][4.2.3 Relations Among Exponents]] 190 | 191 | - [[file:chapter004.html#h1-25][4.3 Homoclinic Tangle]] 192 | 193 | - [[file:chapter004.html#h3_4-3-1][4.3.1 Computation of Stable and 194 | Unstable Manifolds]] 195 | 196 | - [[file:chapter004.html#h1-26][4.4 Integrable Systems]] 197 | - [[file:chapter004.html#h1-26a][4.5 Poincaré--Birkhoff Theorem]] 198 | 199 | - [[file:chapter004.html#h3_4-5-1][4.5.1 Computing the 200 | Poincaré--Birkhoff Construction]] 201 | 202 | - [[file:chapter004.html#h1-26b][4.6 Invariant Curves]] 203 | 204 | - [[file:chapter004.html#h3_4-6-1][4.6.1 Finding Invariant Curves]] 205 | - [[file:chapter004.html#h3_4-6-2][4.6.2 Dissolution of Invariant 206 | Curves]] 207 | 208 | - [[file:chapter004.html#h1-27][4.7 Summary]] 209 | - [[file:chapter004.html#h1-28][4.8 Projects]] 210 | 211 | - [[file:chapter005.html][*5 Canonical Transformations*]] 212 | 213 | - [[file:chapter005.html#h1-29][5.1 Point Transformations]] 214 | - [[file:chapter005.html#h1-29a][5.2 General Canonical 215 | Transformations]] 216 | 217 | - [[file:chapter005.html#h3_5-2-1][5.2.1 Time-Dependent 218 | Transformations]] 219 | - [[file:chapter005.html#h3_5-2-2][5.2.2 Abstracting the Canonical 220 | Condition]] 221 | 222 | - [[file:chapter005.html#h1-30][5.3 Invariants of Canonical 223 | Transformations]] 224 | - [[file:chapter005.html#h1-31][5.4 Generating Functions]] 225 | 226 | - [[file:chapter005.html#h3_5-4-1][5.4.1 /F/_{1} Generates Canonical 227 | Transformations]] 228 | - [[file:chapter005.html#h3_5-4-2][5.4.2 Generating Functions and 229 | Integral Invariants]] 230 | - [[file:chapter005.html#h3_5-4-3][5.4.3 Types of Generating 231 | Functions]] 232 | - [[file:chapter005.html#h3_5-4-4][5.4.4 Point Transformations]] 233 | - [[file:chapter005.html#h3_5-4-5][5.4.5 Total Time Derivatives]] 234 | 235 | - [[file:chapter005.html#h1-32][5.5 Extended Phase Space]] 236 | 237 | - [[file:chapter005.html#h3_5-5-1][5.5.1 Poincaré--Cartan Integral 238 | Invariant]] 239 | 240 | - [[file:chapter005.html#h1-33][5.6 Reduced Phase Space]] 241 | - [[file:chapter005.html#h1-34][5.7 Summary]] 242 | - [[file:chapter005.html#h1-35][5.8 Projects]] 243 | 244 | - [[file:chapter006.html][*6 Canonical Evolution*]] 245 | 246 | - [[file:chapter006.html#h1-36][6.1 Hamilton--Jacobi Equation]] 247 | 248 | - [[file:chapter006.html#h3_6-1-1][6.1.1 Harmonic Oscillator]] 249 | - [[file:chapter006.html#h3_6-1-2][6.1.2 Hamilton--Jacobi Solution 250 | of the Kepler Problem]] 251 | - [[file:chapter006.html#h3_6-1-3][6.1.3 /F/_{2} and the 252 | Lagrangian]] 253 | - [[file:chapter006.html#h3_6-1-3][6.1.4 The Action Generates Time 254 | Evolution]] 255 | 256 | - [[file:chapter006.html#h1-37][6.2 Time Evolution is Canonical]] 257 | 258 | - [[file:chapter006.html#h3_6-2-1][6.2.1 Another View of Time 259 | Evolution]] 260 | - [[file:chapter006.html#h3_6-2-2][6.2.2 Yet Another View of Time 261 | Evolution]] 262 | 263 | - [[file:chapter006.html#h1-38][6.3 Lie Transforms]] 264 | - [[file:chapter006.html#h1-39][6.4 Lie Series]] 265 | - [[file:chapter006.html#h1-39a][6.5 Exponential Identities]] 266 | - [[file:chapter006.html#h1-40][6.6 Summary]] 267 | - [[file:chapter006.html#h1-41][6.7 Projects]] 268 | 269 | - [[file:chapter007.html][*7 Canonical Perturbation Theory*]] 270 | 271 | - [[file:chapter007.html#h1-42][7.1 Perturbation Theory with Lie 272 | Series]] 273 | - [[file:chapter007.html#h1-42a][7.2 Pendulum as a Perturbed Rotor]] 274 | 275 | - [[file:chapter007.html#h3_7-2-1][7.2.1 Higher Order]] 276 | - [[file:chapter007.html#h3_7-2-2][7.2.2 Eliminating Secular Terms]] 277 | 278 | - [[file:chapter007.html#h1-43][7.3 Many Degrees of Freedom]] 279 | 280 | - [[file:chapter007.html#h3_7-3-1][7.3.1 Driven Pendulum as a 281 | Perturbed Rotor]] 282 | 283 | - [[file:chapter007.html#h1-44][7.4 Nonlinear Resonance]] 284 | 285 | - [[file:chapter007.html#h3_7-4-1][7.4.1 Pendulum Approximation]] 286 | - [[file:chapter007.html#h3_7-4-2][7.4.2 Reading the Hamiltonian]] 287 | - [[file:chapter007.html#h3_7-4-3][7.4.3 Resonance-Overlap 288 | Criterion]] 289 | - [[file:chapter007.html#h3_7-4-4][7.4.4 Higher-Order Perturbation 290 | Theory]] 291 | - [[file:chapter007.html#h3_7-4-5][7.4.5 Stability of the Inverted 292 | Vertical Equilibrium]] 293 | 294 | - [[file:chapter007.html#h1-45][7.5 Summary]] 295 | - [[file:chapter007.html#h1-46][7.6 Projects]] 296 | 297 | - [[file:chapter008.html][*8 Appendix: Scheme*]] 298 | - [[file:chapter009.html][*9 Appendix: Our Notation*]] 299 | - [[file:bibliography.html][References]] 300 | - [[file:appendix.html][List of Exercises]] 301 | - [[file:keyword_index.html][Index]] 302 | 303 | {% include bottomlink.html %} 304 | --------------------------------------------------------------------------------