# bibtab

bibtype: book
filename: master.bib
label: Dolnick:2011:CUI
author: Edward Dolnick
title: The Clockwork Universe: Isaac Newton, the Royal Society, and the Birth of the Modern World
publisher: pub-HARPERCOLLINS
address: pub-HARPERCOLLINS:adr
pages: xviii + 378
year: 2011
ISBN: 0-06-171951-X OR 006171951X
ISBN13: 978-0-06-171951-6 OR 9780061719516
LCCN: Q127.E8 D65 2011
bibdate: Mon Jun 13 16:38:27 MDT 2011
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; z3950.loc.gov:7090/Voyager
bibtimestamp: 2011.06.13 16:38:27 MDT
subject: Science; Europe; History; 17th century; Newton, Isaac; Sir; Religion and science
acknowledgement: ack-nhfb
subjectdates: 1642--1727
rawauthor: Edward Dolnick
rawtitle: The Clockwork Universe: {Isaac Newton}, the {Royal Society}, and the Birth of the Modern World
TOC:
London, 1660 Satan's claws The end of the world ``When spotted death ran arm'd through every street'' Melancholy streets Fire God at His drawing table The idea that unlocked the world Euclid and unicorns The boys' club To the barricades! Dogs and rascals A dose of poison Of mites and men A play without an audience All in pieces Never seen until this moment Flies as big as a lamb From earthworms to angels The parade of the horribles ``Shuddering before the beautiful'' Patterns made with ideas God's strange cryptography The secret plan Tears of joy Walrus with a golden nose Cracking the cosmic safe The view from the crow's nest Sputnik in orbit, 1687 Hidden in plain sight Two rocks and a rope A fly on the wall ``Euclid alone has looked on beauty bare'' Here be monsters! Barricaded against the beast Out of the whirlpool All men are created equal The miracle years All mystery banished Talking dogs and unsuspected powers The world in close-up When the cable snaps The best of all possible feuds Battle's end The apple and the moon A visit to Cambridge Newton bears down Trouble with Mr. Hooke The system of the world Only three people Just crazy enough In search of God Conclusion

rawTOC:
London, 1660 \\ Satan's claws \\ The end of the world \\ ``When spotted death ran arm'd through every street'' \\ Melancholy streets \\ Fire \\ God at His drawing table \\ The idea that unlocked the world \\ Euclid and unicorns \\ The boys' club \\ To the barricades! \\ Dogs and rascals \\ A dose of poison \\ Of mites and men \\ A play without an audience \\ All in pieces \\ Never seen until this moment \\ Flies as big as a lamb \\ From earthworms to angels \\ The parade of the horribles \\ ``Shuddering before the beautiful'' \\ Patterns made with ideas \\ God's strange cryptography \\ The secret plan \\ Tears of joy \\ Walrus with a golden nose \\ Cracking the cosmic safe \\ The view from the crow's nest \\ Sputnik in orbit, 1687 \\ Hidden in plain sight \\ Two rocks and a rope \\ A fly on the wall \\ ``Euclid alone has looked on beauty bare'' \\ Here be monsters! \\ Barricaded against the beast \\ Out of the whirlpool \\ All men are created equal \\ The miracle years \\ All mystery banished \\ Talking dogs and unsuspected powers \\ The world in close-up \\ When the cable snaps \\ The best of all possible feuds \\ Battle's end \\ The apple and the moon \\ A visit to Cambridge \\ Newton bears down \\ Trouble with Mr. Hooke \\ The system of the world \\ Only three people \\ Just crazy enough \\ In search of God \\ Conclusion

entry:
@Book{Dolnick:2011:CUI,
  author =       "Edward Dolnick",
  title =        "The Clockwork Universe: {Isaac Newton}, the {Royal
                 Society}, and the Birth of the Modern World",
  publisher =    pub-HARPERCOLLINS,
  address =      pub-HARPERCOLLINS:adr,
  pages =        "xviii + 378",
  year =         "2011",
  ISBN =         "0-06-171951-X",
  ISBN-13 =      "978-0-06-171951-6",
  LCCN =         "Q127.E8 D65 2011",
  bibdate =      "Mon Jun 13 16:38:27 MDT 2011",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Science; Europe; History; 17th century; Newton, Isaac;
                 Sir; Religion and science",
  subject-dates = "1642--1727",
  tableofcontents = "London, 1660 \\
                 Satan's claws \\
                 The end of the world \\
                 ``When spotted death ran arm'd through every street''
                 \\
                 Melancholy streets \\
                 Fire \\
                 God at His drawing table \\
                 The idea that unlocked the world \\
                 Euclid and unicorns \\
                 The boys' club \\
                 To the barricades! \\
                 Dogs and rascals \\
                 A dose of poison \\
                 Of mites and men \\
                 A play without an audience \\
                 All in pieces \\
                 Never seen until this moment \\
                 Flies as big as a lamb \\
                 From earthworms to angels \\
                 The parade of the horribles \\
                 ``Shuddering before the beautiful'' \\
                 Patterns made with ideas \\
                 God's strange cryptography \\
                 The secret plan \\
                 Tears of joy \\
                 Walrus with a golden nose \\
                 Cracking the cosmic safe \\
                 The view from the crow's nest \\
                 Sputnik in orbit, 1687 \\
                 Hidden in plain sight \\
                 Two rocks and a rope \\
                 A fly on the wall \\
                 ``Euclid alone has looked on beauty bare'' \\
                 Here be monsters! \\
                 Barricaded against the beast \\
                 Out of the whirlpool \\
                 All men are created equal \\
                 The miracle years \\
                 All mystery banished \\
                 Talking dogs and unsuspected powers \\
                 The world in close-up \\
                 When the cable snaps \\
                 The best of all possible feuds \\
                 Battle's end \\
                 The apple and the moon \\
                 A visit to Cambridge \\
                 Newton bears down \\
                 Trouble with Mr. Hooke \\
                 The system of the world \\
                 Only three people \\
                 Just crazy enough \\
                 In search of God \\
                 Conclusion",
}


bibtype: book
filename: master.bib
label: Dongarra:1979:LUG
author: J. J. Dongarra and J. R. Bunch and C. B. Moler and G. W. Stewart
title: LINPACK Users' Guide
publisher: pub-SIAM
address: pub-SIAM:adr
pages: 320
year: 1979
DOI: https://doi.org/10.1137/1.9781611971811
ISBN: 0-89871-172-X (paperback) OR 089871172X (paperback)
ISBN13: 978-0-89871-172-1 (paperback) OR 9780898711721 (paperback)
LCCN: QA76.73 .L22 L5 1979; QA184 .L56 1982; QA214 .L56 1979
bibdate: Mon Dec 13 15:18:20 1993
bibtimestamp: 1993.12.13 15:18:20 ???
acknowledgement: ack-nhfb
rawauthor: J. J. Dongarra and J. R. Bunch and C. B. Moler and G. W. Stewart
rawtitle: {LINPACK} Users' Guide
bibsource:
https://www.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib; https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib; https://www.math.utah.edu/pub/bibnet/authors/s/stewart-gilbert-w.bib; https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg-2ed.bib; https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib; https://www.math.utah.edu/pub/tex/bib/cordic.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/master.bib

abstract:
The authors of this carefully structured guide are the principal developers of LINPACK, a unique package of Fortran subroutines for analyzing and solving various systems of simultaneous linear algebraic equations and linear least squares problems. This guide supports both the casual user of LINPACK who simply requires a library subroutine, and the specialist who wishes to modify or extend the code to handle special problems. It is also recommended for classroom work.

keywords:
book, Cholesky decomposition, cond, downd, linpack, lud, lud, math, nla, qrd, qrd, soft, software, survey, svd, svd, upd, updating

subject:
LINPACK (Computer system); Equations, Simultaneous; Data processing; Matrices; Data processing; LINPACK (Computer system); LINPACK (Systeme d'ordinateur); Equations simultanees; Informatique

TOC:
General matrices Band matrices Positive definite matrices Positive definite band matrices Symmetric indefinite matrices Triangular matrices Tridiagonal matrices The Cholesky decomposition The $QR$ decomposition Updating $QR$ and Cholesky decompositions The singular value decomposition References Basic linear algebra subprograms Timing data Program listings BLA listings

rawabstract:
The authors of this carefully structured guide are the principal developers of LINPACK, a unique package of Fortran subroutines for analyzing and solving various systems of simultaneous linear algebraic equations and linear least squares problems. This guide supports both the casual user of LINPACK who simply requires a library subroutine, and the specialist who wishes to modify or extend the code to handle special problems. It is also recommended for classroom work.

rawTOC:
General matrices \\ Band matrices \\ Positive definite matrices \\ Positive definite band matrices \\ Symmetric indefinite matrices \\ Triangular matrices \\ Tridiagonal matrices \\ The Cholesky decomposition \\ The $QR$ decomposition \\ Updating $QR$ and Cholesky decompositions \\ The singular value decomposition \\ References \\ Basic linear algebra subprograms \\ Timing data \\ Program listings \\ BLA listings

entry:
@Book{Dongarra:1979:LUG,
  author =       "J. J. Dongarra and J. R. Bunch and C. B. Moler and G.
                 W. Stewart",
  title =        "{LINPACK} Users' Guide",
  publisher =    pub-SIAM,
  address =      pub-SIAM:adr,
  pages =        "320",
  year =         "1979",
  DOI =          "https://doi.org/10.1137/1.9781611971811",
  ISBN =         "0-89871-172-X (paperback)",
  ISBN-13 =      "978-0-89871-172-1 (paperback)",
  LCCN =         "QA76.73 .L22 L5 1979; QA184 .L56 1982; QA214 .L56
                 1979",
  bibdate =      "Mon Dec 13 15:18:20 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/s/stewart-gilbert-w.bib;
                 https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg-2ed.bib;
                 https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 https://www.math.utah.edu/pub/tex/bib/cordic.bib;
                 https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "The authors of this carefully structured guide are the
                 principal developers of LINPACK, a unique package of
                 Fortran subroutines for analyzing and solving various
                 systems of simultaneous linear algebraic equations and
                 linear least squares problems. This guide supports both
                 the casual user of LINPACK who simply requires a
                 library subroutine, and the specialist who wishes to
                 modify or extend the code to handle special problems.
                 It is also recommended for classroom work.",
  acknowledgement = ack-nhfb,
  GWS-number =   "B2",
  keywords =     "book, Cholesky decomposition, cond, downd, linpack,
                 lud, lud, math, nla, qrd, qrd, soft, software, survey,
                 svd, svd, upd, updating",
  subject =      "LINPACK (Computer system); Equations, Simultaneous;
                 Data processing; Matrices; Data processing; LINPACK
                 (Computer system); LINPACK (Syst{\`e}me d'ordinateur);
                 {\'E}quations simultan{\'e}es; Informatique",
  tableofcontents = "General matrices \\
                 Band matrices \\
                 Positive definite matrices \\
                 Positive definite band matrices \\
                 Symmetric indefinite matrices \\
                 Triangular matrices \\
                 Tridiagonal matrices \\
                 The Cholesky decomposition \\
                 The $QR$ decomposition \\
                 Updating $QR$ and Cholesky decompositions \\
                 The singular value decomposition \\
                 References \\
                 Basic linear algebra subprograms \\
                 Timing data \\
                 Program listings \\
                 BLA listings",
  xxauthor =     "J. J. Dongarra and C. B. Moler and J. R. Bunch and G.
                 W. Stewart",
}


bibtype: book
filename: master.bib
label: Dongarra:1991:SLS
author: Jack J. Dongarra and Iain S. Duff and Danny C. Sorensen and Henk A. van der Vorst
title: Solving Linear Systems on Vector and Shared Memory Computers
publisher: pub-SIAM
address: pub-SIAM:adr
pages: x + 256
year: 1991
ISBN: 0-89871-270-X OR 089871270X
ISBN13: 978-0-89871-270-4 OR 9780898712704
LCCN: QA184 .S65 1991
bibdate: Mon Oct 26 07:30:53 1998
bibtimestamp: 1998.10.26 07:30:53 ???
acknowledgement: ack-nhfb
rawauthor: Jack J. Dongarra and Iain S. Duff and Danny C. Sorensen and Henk A. {van der Vorst}
rawtitle: Solving Linear Systems on Vector and Shared Memory Computers
bibsource:
https://www.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib; https://www.math.utah.edu/pub/bibnet/authors/d/duff-iain-s.bib; https://www.math.utah.edu/pub/bibnet/authors/v/vandervorst-henk-a.bib; https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/numana1990.bib; https://www.math.utah.edu/pub/tex/bib/texbook2.bib; MathSciNet database

TOC:
Introduction / 1 1 Vector and Parallel Processing / 3 1.1 Traditional Computers and Their Limitations / 3 1.2 Parallelism within a Single Processor / 4 1.2.1 Multiple Functional Units / 4 1.2.2 Pipelining / 4 1.2.3 Overlapping / 6 1.2.4 RISC / 7 1.2.5 VLIW / 8 1.2.6 Vector Instructions / 8 1.2.7 Chaining / 9 1.2.8 Memory-to-Memory and Register-to-Register Organizations / 10 1.2.9 Register Set / 10 1.2.10 Stripmining / 11 1.2.11 Reconfigurable Vector Registers / 11 1.2.12 Memory Organization / 12 1.3 Data Organization / 14 1.3.1 Main Memory / 14 1.3.2 Cache / 16 1.3.3 Local Memory / 18 1.4 Memory Management / 18 1.5 Parallelism through Multiple Pipes or Multiple Processors / 21 1.6 Interconnection Topology / 22 1.6.1 Crossbar Switch / 23 1.6.2 Timeshared Bus / 24 1.6.3 Ring Connection / 25 1.6.4 Mesh Connection / 25 1.6.5 Hypercube / 26 1.6.6 Multistaged Network / 27 1.7 Programming Techniques / 29 2 Overview of Current High-Performance Computers / 33 2.1 Supercomputers / 33 2.2 Mini-Supercomputers / 36 2.3 Vector Mainframes / 37 2.4 Novel Parallel Processors / 37 3 Implementation Details and Overhead / 43 3.1 Parallel Decomposition and Data Dependency Graphs / 43 3.2 Synchronization / 46 3.3 Load Balancing / 48 3.4 Recurrence / 49 3.5 Indirect Addressing / 51 4 Performance: Analysis, Modeling, and Measurements / 53 4.1 Amdahl's Law / 54 4.1.1 Simple Case of Amdahl's Law / 54 4.1.2 General Form of Amdahl's Law / 55 4.2 Vector Speed and Vector Length / 56 4.3 Amdahl's Law-Parallel Processing / 57 4.3.1 A Simple Model / 60 4.3.2 Gustafson's Model / 60 4.4 Examples of $(r_infty , n_1/2)$-values for Various Computers / 60 4.4.1 CRAY-1 and CRAY-2 (one processor) / 62 4.4.2 CRAY X-MP (one processor; clock cycle time 8.5 nsec) / 63 4.4.3 CYBER 205 (2-pipe) and ETA-10P (single processor) / 63 4.4.4 IBM 3090/VF (1 processor; clock cycle time 18.5 nsec) / 64 4.4.5 NEC SX/2 / 65 4.4.6 Convex C-1 and Convex C-210 / 66 4.4.7 Alliant FX/80 / 66 4.4.8 General Observations / 68 4.5 LINPACK Benchmark / 68 4.5.1 Description of the Benchmark / 69 4.5.2 Calls to the BLAS / 69 4.5.3 Asymptotic Performance / 75 5 Building Blocks in Linear Algebra / 75 5.1 Basic Linear Algebra Subprograms / 75 5.1.1 Level 1 BLAS / 76 5.1.2 Level 2 BLAS / 77 5.1.3 Level 3 BLAS / 78 5.2 Levels of Parallelism / 81 5.2.1 Vector Computers / 81 5.2.2 Parallel Processors with Shared Memory / 82 5.2.3 Parallel-Vector Computers / 83 5.2.4 Clusters of Parallel Vector Processors / 84 5.3 Basic Factorizations of Linear Algebra / 84 5.3.1 Point Algorithm: Gaussian Elimination with Partial Pivoting / 84 5.3.2 Special Matrices / 86 5.4 Blocked Algorithms: Matrix-Vector and Matrix-Matrix Versions / 89 5.4.1 Right-Looking Algorithm / 90 5.4.2 Left-Looking Algorithm / 92 5.4.3 Crout Algorithm / 98 5.4.4 Typical Performance of Blocked LU Decomposition / 94 5.4.5 Blocked Symmetric Indefinite Factorization / 95 5.4.6 Typical Performance of Blocked Symmetric Indefinite Factorization. / 98 5.5 Linear Least Squares / 98 5.5.1 Householder Method / 99 5.5.2 Blocked Householder Method / 100 5.5.3 Typical Performance of the Blocked Householder Factorization / 101 5.6 Organization of the Modules / 102 5.6.1 Matrix--Vector Product / 102 5.6.2 Matrix--Matrix Product / 103 5.6.3 Typical Performance for Parallel Processing / 104 5.6.4 Benefits / 105 5.7 LAPACK / 106 6 Direct Solution of Sparse Linear Systems / 109 6.1 Introduction to Direct Methods for Sparse Linear Systems / 111 6.1.1 Three Approaches / 111 6.1.2 Description of Sparse Data Structure / 112 6.1.3 Manipulation of Sparse Data Structure / 114 6.2 General Sparse Matrix Methods / 116 6.3 Methods for Symmetric Matrices and Band Systems / 124 6.3.1 The Clique Concept in Gaussian Elimination / 125 6.3.2 Code Performance and Symmetry / 128 6.4 Frontal Methods / 130 6.4.1 Organization / 130 6.4.2 Vector Performance / 132 6.5 Multifrontal Methods / 135 6.5.1 Performance on Vector Machines / 139 6.5.2 Performance on Parallel Machines / 139 6.6 Other Approaches for Exploitation of Parallelism / 141 6.7 Software / 141 6.8 Brief Summary / 142 7 Iterative Solution of Sparse Linear Systems / 143 7.1 Iterative Methods / 145 7.1.1 Conjugate Gradient / 145 7.1.2 Least Squares Conjugate Gradients / 148 7.1.3 Biconjugate Gradients / 150 7.1.4 Conjugate Gradient Squared / 152 7.1.5 GMRES and GMRES(m) / 154 7.1.6 Adaptive Chebychev / 156 7.2 Vector and Parallel Aspects / 158 7.2.1 General Remarks / 158 7.2.2 Sparse Matrix-Vector Multiplication / 160 7.2.3 Performance of the Unpreconditioned Methods / 164 7.3 Preconditioning / 165 7.3.1 General Aspects / 165 7.3.2 Efficient Implementations / 168 7.3.3 Partial Vectorization / 170 7.3.4 Reordering the Unknowns / 172 7.3.5 Changing the Order of Computation / 174 7.3.6 Some Other Vectorizable Preconditioners / 180 7.3.7 Parallel Aspects / 183 7.4 Experiences with Parallelism / 186 7.4.1 General Remarks / 186 7.4.2 Overlapping Local Preconditioners / 186 7.4.3 Repeated Twisted Factorization / 188 7.4.4 Twisted and Nested Twisted Factorization / 189 7.4.5 Hyperplane Ordering / 189 A Acquiring Mathematical Software / 191 B Glossary / 197 C Information on Various High-Performance Computers / 213 D Level 1, 2, and 3 BLAS Quick Reference / 221 E Operation Counts for Various BLAS and Decompositions / 227 Index / 247

rawTOC:
Introduction / 1 \\ 1 Vector and Parallel Processing / 3 \\ 1.1 Traditional Computers and Their Limitations / 3 \\ 1.2 Parallelism within a Single Processor / 4 \\ 1.2.1 Multiple Functional Units / 4 \\ 1.2.2 Pipelining / 4 \\ 1.2.3 Overlapping / 6 \\ 1.2.4 RISC / 7 \\ 1.2.5 VLIW / 8 \\ 1.2.6 Vector Instructions / 8 \\ 1.2.7 Chaining / 9 \\ 1.2.8 Memory-to-Memory and Register-to-Register Organizations / 10 \\ 1.2.9 Register Set / 10 \\ 1.2.10 Stripmining / 11 \\ 1.2.11 Reconfigurable Vector Registers / 11 \\ 1.2.12 Memory Organization / 12 \\ 1.3 Data Organization / 14 \\ 1.3.1 Main Memory / 14 \\ 1.3.2 Cache / 16 \\ 1.3.3 Local Memory / 18 \\ 1.4 Memory Management / 18 \\ 1.5 Parallelism through Multiple Pipes or Multiple Processors / 21 \\ 1.6 Interconnection Topology / 22 \\ 1.6.1 Crossbar Switch / 23 \\ 1.6.2 Timeshared Bus / 24 \\ 1.6.3 Ring Connection / 25 \\ 1.6.4 Mesh Connection / 25 \\ 1.6.5 Hypercube / 26 \\ 1.6.6 Multistaged Network / 27 \\ 1.7 Programming Techniques / 29 \\ 2 Overview of Current High-Performance Computers / 33 \\ 2.1 Supercomputers / 33 \\ 2.2 Mini-Supercomputers / 36 \\ 2.3 Vector Mainframes / 37 \\ 2.4 Novel Parallel Processors / 37 \\ 3 Implementation Details and Overhead / 43 \\ 3.1 Parallel Decomposition and Data Dependency Graphs / 43 \\ 3.2 Synchronization / 46 \\ 3.3 Load Balancing / 48 \\ 3.4 Recurrence / 49 \\ 3.5 Indirect Addressing / 51 \\ 4 Performance: Analysis, Modeling, and Measurements / 53 \\ 4.1 Amdahl's Law / 54 \\ 4.1.1 Simple Case of Amdahl's Law / 54 \\ 4.1.2 General Form of Amdahl's Law / 55 \\ 4.2 Vector Speed and Vector Length / 56 \\ 4.3 Amdahl's Law-Parallel Processing / 57 \\ 4.3.1 A Simple Model / 60 \\ 4.3.2 Gustafson's Model / 60 \\ 4.4 Examples of $(r_\infty, n_{1/2})$-values for Various Computers / 60 \\ 4.4.1 CRAY-1 and CRAY-2 (one processor) / 62 \\ 4.4.2 CRAY X-MP (one processor; clock cycle time 8.5 nsec) / 63 \\ 4.4.3 CYBER 205 (2-pipe) and ETA-10P (single processor) / 63 \\ 4.4.4 IBM 3090/VF (1 processor; clock cycle time 18.5 nsec) / 64 \\ 4.4.5 NEC SX/2 / 65 \\ 4.4.6 Convex C-1 and Convex C-210 / 66 \\ 4.4.7 Alliant FX/80 / 66 \\ 4.4.8 General Observations / 68 \\ 4.5 LINPACK Benchmark / 68 \\ 4.5.1 Description of the Benchmark / 69 \\ 4.5.2 Calls to the BLAS / 69 \\ 4.5.3 Asymptotic Performance / 75 \\ 5 Building Blocks in Linear Algebra / 75 \\ 5.1 Basic Linear Algebra Subprograms / 75 \\ 5.1.1 Level 1 BLAS / 76 \\ 5.1.2 Level 2 BLAS / 77 \\ 5.1.3 Level 3 BLAS / 78 \\ 5.2 Levels of Parallelism / 81 \\ 5.2.1 Vector Computers / 81 \\ 5.2.2 Parallel Processors with Shared Memory / 82 \\ 5.2.3 Parallel-Vector Computers / 83 \\ 5.2.4 Clusters of Parallel Vector Processors / 84 \\ 5.3 Basic Factorizations of Linear Algebra / 84 \\ 5.3.1 Point Algorithm: Gaussian Elimination with Partial Pivoting / 84 \\ 5.3.2 Special Matrices / 86 \\ 5.4 Blocked Algorithms: Matrix-Vector and Matrix-Matrix Versions / 89 \\ 5.4.1 Right-Looking Algorithm / 90 \\ 5.4.2 Left-Looking Algorithm / 92 \\ 5.4.3 Crout Algorithm / 98 \\ 5.4.4 Typical Performance of Blocked LU Decomposition / 94 \\ 5.4.5 Blocked Symmetric Indefinite Factorization / 95 \\ 5.4.6 Typical Performance of Blocked Symmetric Indefinite Factorization. / 98 \\ 5.5 Linear Least Squares / 98 \\ 5.5.1 Householder Method / 99 \\ 5.5.2 Blocked Householder Method / 100 \\ 5.5.3 Typical Performance of the Blocked Householder Factorization / 101 \\ 5.6 Organization of the Modules / 102 \\ 5.6.1 Matrix--Vector Product / 102 \\ 5.6.2 Matrix--Matrix Product / 103 \\ 5.6.3 Typical Performance for Parallel Processing / 104 \\ 5.6.4 Benefits / 105 \\ 5.7 LAPACK / 106 \\ 6 Direct Solution of Sparse Linear Systems / 109 \\ 6.1 Introduction to Direct Methods for Sparse Linear Systems / 111 \\ 6.1.1 Three Approaches / 111 \\ 6.1.2 Description of Sparse Data Structure / 112 \\ 6.1.3 Manipulation of Sparse Data Structure / 114 \\ 6.2 General Sparse Matrix Methods / 116 \\ 6.3 Methods for Symmetric Matrices and Band Systems / 124 \\ 6.3.1 The Clique Concept in Gaussian Elimination / 125 \\ 6.3.2 Code Performance and Symmetry / 128 \\ 6.4 Frontal Methods / 130 \\ 6.4.1 Organization / 130 \\ 6.4.2 Vector Performance / 132 \\ 6.5 Multifrontal Methods / 135 \\ 6.5.1 Performance on Vector Machines / 139 \\ 6.5.2 Performance on Parallel Machines / 139 \\ 6.6 Other Approaches for Exploitation of Parallelism / 141 \\ 6.7 Software / 141 \\ 6.8 Brief Summary / 142 \\ 7 Iterative Solution of Sparse Linear Systems / 143 \\ 7.1 Iterative Methods / 145 \\ 7.1.1 Conjugate Gradient / 145 \\ 7.1.2 Least Squares Conjugate Gradients / 148 \\ 7.1.3 Biconjugate Gradients / 150 \\ 7.1.4 Conjugate Gradient Squared / 152 \\ 7.1.5 GMRES and GMRES(m) / 154 \\ 7.1.6 Adaptive Chebychev / 156 \\ 7.2 Vector and Parallel Aspects / 158 \\ 7.2.1 General Remarks / 158 \\ 7.2.2 Sparse Matrix-Vector Multiplication / 160 \\ 7.2.3 Performance of the Unpreconditioned Methods / 164 \\ 7.3 Preconditioning / 165 \\ 7.3.1 General Aspects / 165 \\ 7.3.2 Efficient Implementations / 168 \\ 7.3.3 Partial Vectorization / 170 \\ 7.3.4 Reordering the Unknowns / 172 \\ 7.3.5 Changing the Order of Computation / 174 \\ 7.3.6 Some Other Vectorizable Preconditioners / 180 \\ 7.3.7 Parallel Aspects / 183 \\ 7.4 Experiences with Parallelism / 186 \\ 7.4.1 General Remarks / 186 \\ 7.4.2 Overlapping Local Preconditioners / 186 \\ 7.4.3 Repeated Twisted Factorization / 188 \\ 7.4.4 Twisted and Nested Twisted Factorization / 189 \\ 7.4.5 Hyperplane Ordering / 189 \\ A Acquiring Mathematical Software / 191 \\ B Glossary / 197 \\ C Information on Various High-Performance Computers / 213 \\ D Level 1, 2, and 3 BLAS Quick Reference / 221 \\ E Operation Counts for Various BLAS and Decompositions / 227 \\ Index / 247

entry:
@Book{Dongarra:1991:SLS,
  author =       "Jack J. Dongarra and Iain S. Duff and Danny C.
                 Sorensen and Henk A. {van der Vorst}",
  title =        "Solving Linear Systems on Vector and Shared Memory
                 Computers",
  publisher =    pub-SIAM,
  address =      pub-SIAM:adr,
  pages =        "x + 256",
  year =         "1991",
  ISBN =         "0-89871-270-X",
  ISBN-13 =      "978-0-89871-270-4",
  LCCN =         "QA184 .S65 1991",
  bibdate =      "Mon Oct 26 07:30:53 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dongarra-jack-j.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/d/duff-iain-s.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/v/vandervorst-henk-a.bib;
                 https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/numana1990.bib;
                 https://www.math.utah.edu/pub/tex/bib/texbook2.bib;
                 MathSciNet database",
  acknowledgement = ack-nhfb,
  tableofcontents = "Introduction / 1 \\
                 1 Vector and Parallel Processing / 3 \\
                 1.1 Traditional Computers and Their Limitations / 3 \\
                 1.2 Parallelism within a Single Processor / 4 \\
                 1.2.1 Multiple Functional Units / 4 \\
                 1.2.2 Pipelining / 4 \\
                 1.2.3 Overlapping / 6 \\
                 1.2.4 RISC / 7 \\
                 1.2.5 VLIW / 8 \\
                 1.2.6 Vector Instructions / 8 \\
                 1.2.7 Chaining / 9 \\
                 1.2.8 Memory-to-Memory and Register-to-Register
                 Organizations / 10 \\
                 1.2.9 Register Set / 10 \\
                 1.2.10 Stripmining / 11 \\
                 1.2.11 Reconfigurable Vector Registers / 11 \\
                 1.2.12 Memory Organization / 12 \\
                 1.3 Data Organization / 14 \\
                 1.3.1 Main Memory / 14 \\
                 1.3.2 Cache / 16 \\
                 1.3.3 Local Memory / 18 \\
                 1.4 Memory Management / 18 \\
                 1.5 Parallelism through Multiple Pipes or Multiple
                 Processors / 21 \\
                 1.6 Interconnection Topology / 22 \\
                 1.6.1 Crossbar Switch / 23 \\
                 1.6.2 Timeshared Bus / 24 \\
                 1.6.3 Ring Connection / 25 \\
                 1.6.4 Mesh Connection / 25 \\
                 1.6.5 Hypercube / 26 \\
                 1.6.6 Multistaged Network / 27 \\
                 1.7 Programming Techniques / 29 \\
                 2 Overview of Current High-Performance Computers / 33
                 \\
                 2.1 Supercomputers / 33 \\
                 2.2 Mini-Supercomputers / 36 \\
                 2.3 Vector Mainframes / 37 \\
                 2.4 Novel Parallel Processors / 37 \\
                 3 Implementation Details and Overhead / 43 \\
                 3.1 Parallel Decomposition and Data Dependency Graphs /
                 43 \\
                 3.2 Synchronization / 46 \\
                 3.3 Load Balancing / 48 \\
                 3.4 Recurrence / 49 \\
                 3.5 Indirect Addressing / 51 \\
                 4 Performance: Analysis, Modeling, and Measurements /
                 53 \\
                 4.1 Amdahl's Law / 54 \\
                 4.1.1 Simple Case of Amdahl's Law / 54 \\
                 4.1.2 General Form of Amdahl's Law / 55 \\
                 4.2 Vector Speed and Vector Length / 56 \\
                 4.3 Amdahl's Law-Parallel Processing / 57 \\
                 4.3.1 A Simple Model / 60 \\
                 4.3.2 Gustafson's Model / 60 \\
                 4.4 Examples of $(r_\infty, n_{1/2})$-values for
                 Various Computers / 60 \\
                 4.4.1 CRAY-1 and CRAY-2 (one processor) / 62 \\
                 4.4.2 CRAY X-MP (one processor; clock cycle time 8.5
                 nsec) / 63 \\
                 4.4.3 CYBER 205 (2-pipe) and ETA-10P (single processor)
                 / 63 \\
                 4.4.4 IBM 3090/VF (1 processor; clock cycle time 18.5
                 nsec) / 64 \\
                 4.4.5 NEC SX/2 / 65 \\
                 4.4.6 Convex C-1 and Convex C-210 / 66 \\
                 4.4.7 Alliant FX/80 / 66 \\
                 4.4.8 General Observations / 68 \\
                 4.5 LINPACK Benchmark / 68 \\
                 4.5.1 Description of the Benchmark / 69 \\
                 4.5.2 Calls to the BLAS / 69 \\
                 4.5.3 Asymptotic Performance / 75 \\
                 5 Building Blocks in Linear Algebra / 75 \\
                 5.1 Basic Linear Algebra Subprograms / 75 \\
                 5.1.1 Level 1 BLAS / 76 \\
                 5.1.2 Level 2 BLAS / 77 \\
                 5.1.3 Level 3 BLAS / 78 \\
                 5.2 Levels of Parallelism / 81 \\
                 5.2.1 Vector Computers / 81 \\
                 5.2.2 Parallel Processors with Shared Memory / 82 \\
                 5.2.3 Parallel-Vector Computers / 83 \\
                 5.2.4 Clusters of Parallel Vector Processors / 84 \\
                 5.3 Basic Factorizations of Linear Algebra / 84 \\
                 5.3.1 Point Algorithm: Gaussian Elimination with
                 Partial Pivoting / 84 \\
                 5.3.2 Special Matrices / 86 \\
                 5.4 Blocked Algorithms: Matrix-Vector and Matrix-Matrix
                 Versions / 89 \\
                 5.4.1 Right-Looking Algorithm / 90 \\
                 5.4.2 Left-Looking Algorithm / 92 \\
                 5.4.3 Crout Algorithm / 98 \\
                 5.4.4 Typical Performance of Blocked LU Decomposition /
                 94 \\
                 5.4.5 Blocked Symmetric Indefinite Factorization / 95
                 \\
                 5.4.6 Typical Performance of Blocked Symmetric
                 Indefinite Factorization. / 98 \\
                 5.5 Linear Least Squares / 98 \\
                 5.5.1 Householder Method / 99 \\
                 5.5.2 Blocked Householder Method / 100 \\
                 5.5.3 Typical Performance of the Blocked Householder
                 Factorization / 101 \\
                 5.6 Organization of the Modules / 102 \\
                 5.6.1 Matrix--Vector Product / 102 \\
                 5.6.2 Matrix--Matrix Product / 103 \\
                 5.6.3 Typical Performance for Parallel Processing / 104
                 \\
                 5.6.4 Benefits / 105 \\
                 5.7 LAPACK / 106 \\
                 6 Direct Solution of Sparse Linear Systems / 109 \\
                 6.1 Introduction to Direct Methods for Sparse Linear
                 Systems / 111 \\
                 6.1.1 Three Approaches / 111 \\
                 6.1.2 Description of Sparse Data Structure / 112 \\
                 6.1.3 Manipulation of Sparse Data Structure / 114 \\
                 6.2 General Sparse Matrix Methods / 116 \\
                 6.3 Methods for Symmetric Matrices and Band Systems /
                 124 \\
                 6.3.1 The Clique Concept in Gaussian Elimination / 125
                 \\
                 6.3.2 Code Performance and Symmetry / 128 \\
                 6.4 Frontal Methods / 130 \\
                 6.4.1 Organization / 130 \\
                 6.4.2 Vector Performance / 132 \\
                 6.5 Multifrontal Methods / 135 \\
                 6.5.1 Performance on Vector Machines / 139 \\
                 6.5.2 Performance on Parallel Machines / 139 \\
                 6.6 Other Approaches for Exploitation of Parallelism /
                 141 \\
                 6.7 Software / 141 \\
                 6.8 Brief Summary / 142 \\
                 7 Iterative Solution of Sparse Linear Systems / 143 \\
                 7.1 Iterative Methods / 145 \\
                 7.1.1 Conjugate Gradient / 145 \\
                 7.1.2 Least Squares Conjugate Gradients / 148 \\
                 7.1.3 Biconjugate Gradients / 150 \\
                 7.1.4 Conjugate Gradient Squared / 152 \\
                 7.1.5 GMRES and GMRES(m) / 154 \\
                 7.1.6 Adaptive Chebychev / 156 \\
                 7.2 Vector and Parallel Aspects / 158 \\
                 7.2.1 General Remarks / 158 \\
                 7.2.2 Sparse Matrix-Vector Multiplication / 160 \\
                 7.2.3 Performance of the Unpreconditioned Methods / 164
                 \\
                 7.3 Preconditioning / 165 \\
                 7.3.1 General Aspects / 165 \\
                 7.3.2 Efficient Implementations / 168 \\
                 7.3.3 Partial Vectorization / 170 \\
                 7.3.4 Reordering the Unknowns / 172 \\
                 7.3.5 Changing the Order of Computation / 174 \\
                 7.3.6 Some Other Vectorizable Preconditioners / 180 \\
                 7.3.7 Parallel Aspects / 183 \\
                 7.4 Experiences with Parallelism / 186 \\
                 7.4.1 General Remarks / 186 \\
                 7.4.2 Overlapping Local Preconditioners / 186 \\
                 7.4.3 Repeated Twisted Factorization / 188 \\
                 7.4.4 Twisted and Nested Twisted Factorization / 189
                 \\
                 7.4.5 Hyperplane Ordering / 189 \\
                 A Acquiring Mathematical Software / 191 \\
                 B Glossary / 197 \\
                 C Information on Various High-Performance Computers /
                 213 \\
                 D Level 1, 2, and 3 BLAS Quick Reference / 221 \\
                 E Operation Counts for Various BLAS and Decompositions
                 / 227 \\
                 Index / 247",
}


bibtype: techreport
filename: master.bib
label: Dongarra:ANL-23-89
author: J. J. Dongarra
title: Performance of Various Computers Using Standard Linear Equations Software in a Fortran Environment
type: Technical Memorandum
number: 23
institution: pub-ANL
address: pub-ANL:adr
pages: x + 256
month: jun
monthnumber: 6
year: 1989
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
acknowledgement: ack-nhfb
rawauthor: J. J. Dongarra
rawtitle:
Performance of Various Computers Using Standard Linear Equations Software in a {Fortran} Environment

entry:
@TechReport{Dongarra:ANL-23-89,
  author =       "J. J. Dongarra",
  title =        "Performance of Various Computers Using Standard Linear
                 Equations Software in a {Fortran} Environment",
  type =         "Technical Memorandum",
  number =       "23",
  institution =  pub-ANL,
  address =      pub-ANL:adr,
  month =        jun # " 4",
  year =         "1989",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: master.bib
label: Dongarra:netlib
author: Jack Dongarra and Eric Grosse
title: Distribution of Mathematical Software via Electronic Mail
journal: j-CACM
volume: 30
number: 5
pages: 403--407
month: may
monthnumber: 5
year: 1987
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
acknowledgement: ack-nhfb
rawauthor: Jack Dongarra and Eric Grosse
rawtitle: Distribution of Mathematical Software via Electronic Mail
entry:
@Article{Dongarra:netlib,
  author =       "Jack Dongarra and Eric Grosse",
  title =        "Distribution of Mathematical Software via Electronic
                 Mail",
  journal =      j-CACM,
  volume =       "30",
  number =       "5",
  pages =        "403--407",
  month =        may,
  year =         "1987",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: techreport
filename: master.bib
label: Donnelly:bison
author: Charles Donnelly and Richard M. Stallman
title: BISON: The YACC-compatible Parser Generator
institution: pub-FSF
address: pub-FSF:adr
pages: 403--407
year: 1988
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
acknowledgement: ack-nhfb
rawauthor: Charles Donnelly and Richard M. Stallman
rawtitle: {BISON}: The {YACC}-compatible Parser Generator
note:
Bison was largely written by Robert Corbett, and made tt yacc-compatible by Richard Stallman. Electronic mail: path |rms@prep.ai.mit.edu|. Software also available via ANONYMOUS FTP to path |prep.ai.mit.edu|. See also cite Paxson:flex.

rawnote:
Bison was largely written by Robert Corbett, and made {\tt yacc}-compatible by Richard Stallman. Electronic mail: \path|rms@prep.ai.mit.edu|. Software also available via ANONYMOUS FTP to \path|prep.ai.mit.edu|. See also \cite{Paxson:flex}.

entry:
@TechReport{Donnelly:bison,
  author =       "Charles Donnelly and Richard M. Stallman",
  title =        "{BISON}: The {YACC}-compatible Parser Generator",
  institution =  pub-FSF,
  address =      pub-FSF:adr,
  year =         "1988",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Bison was largely written by Robert Corbett, and made
                 {\tt yacc}-compatible by Richard Stallman. Electronic
                 mail: \path|rms@prep.ai.mit.edu|. Software also
                 available via ANONYMOUS FTP to \path|prep.ai.mit.edu|.
                 See also \cite{Paxson:flex}.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Donovan:2016:GPL
author: Alan A. A. Donovan and Brian W. Kernighan
title: The Go Programming Language
publisher: pub-AW
address: pub-AW:adr
pages: xvii + 380
year: 2016
ISBN: 0-13-419044-0 (paperback) OR 0134190440 (paperback)
ISBN13: 978-0-13-419044-0 (paperback) OR 9780134190440 (paperback)
LCCN: QA76.73.G63 D66 2016
bibdate: Fri Oct 11 12:07:52 MDT 2019
bibtimestamp: 2019.10.11 12:07:52 MDT
series: Addison-Wesley professional computing series
acknowledgement: ack-nhfb
authordates: 1976--
rawauthor: Alan A. A. Donovan and Brian W. Kernighan
rawtitle: The {Go} Programming Language
bibsource:
https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager

URL:
https://www.pearson.com/us/higher-education/program/Donovan-Go-Programming-Language-The/PGM234922.html

abstract:
Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C; the great ideas it borrows from other modern languages; and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy.

subject:
Go (Computer program language); Open source software; Programming; G (Lenguaje de programacion para computadora); Programacion de computadoras

TOC:
Preface / xi 1: Tutorial / 1 1.1 Hello, World / 1 1.2 Command-Line Arguments / 4 1.3 Finding Duplicate Lines / 8 1.4 Animated GIFs / 13 1.5 Fetching a URL / 15 1.6 Fetching URLs Concurrently / 17 1.7 A Web Server / 19 1.8 Loose Ends / 23 2: Program Structure / 27 2.1 Names / 27 2.2 Declarations / 28 2.3 Variables / 30 2.4 Assignments / 36 2.5 Type Declarations / 39 2.6 Packages and Files / 41 2.7 Scope / 45 3: Basic Data Types / 51 3.1 Integers / 51 3.2 Floating-Point Numbers / 56 3.3 Complex Numbers / 61 3.4 Booleans / 63 3.5 Strings / 64 3.6 Constants / 75 4: Composite Types / 81 4.1 Arrays / 81 4.2 Slices / 84 4.3 Maps / 93 4.4 Structs / 99 4.5 JSON / 107 4.6 Text and HTML Templates / 113 5: Functions / 119 5.1 Function Declarations / 119 5.2 Recursion / 121 5.3 Multiple Return Values / 124 5.4 Errors / 127 5.5 Function Values / 132 5.6 Anonymous Functions / 135 5.7 Variadic Functions / 142 5.8 Deferred Function Calls / 143 5.9 Panic / 148 5.10 Recover / 151 6:. Methods / 155 6.1 Method Declarations / 155 6.2 Methods with a Pointer Receiver / 158 6.3 Composing Types by Struct Embedding / 161 6.4 Method Values and Expressions / 164 6.5 Example: Bit Vector Type / 165 6.6 Encapsulation / 168 7: Interfaces / 171 7.1 Interfaces as Contracts / 171 7.2 Interface Types / 174 7.3 Interface Satisfaction / 175 7.4 Parsing Flags with flag.Value / 179 7.5 Interface Values / 181 7.6 Sorting with sort.Interface / 186 7.7 The http.Handler Interface / 191 7.8 The error Interface / 196 7.9 Example: Expression Evaluator / 197 7.10 Type Assertions / 205 7.11 Discriminating Errors with Type Assertions / 206 7.12 Querying Behaviors with Interface Type Assertions / 208 7.13 Type Switches / 210 7.14 Example: Token-Based XML Decoding / 213 7.15 A Few Words of Advice / 216 8: Goroutines and Channels / 217 8.1 Goroutines / 217 8.2 Example: Concurrent Clock Server / 219 8.3 Example: Concu rent Echo Server / 222 8.4 Channels / 225 8.5 Looping in Parallel / 234 8.6 Example: Concurrent Web Crawler / 239 8.7 Multiplexing with select / 244 8.8 Example: Concurrent Directory Traversal / 247 8.9 Cancellation / 251 8.10 Example: Chat Server / 253 9: Concurrency with Shared Variables / 257 9.1 Race Conditions / 257 9.2 Mutual Exclusion: sync.Mutex / 262 9.3 Read/Write Mutexes: sync.RWMutex / 266 9.4 Memory Synchronization / 267 9.5 Lazy Initialization: sync.Once / 268 9.6 The Race Detector / 271 9.7 Example: Concurrent Non-Blocking Cache / 272 9.8 Goroutines and Threads / 280 10: Packages and the Go Tool / 283 10.1 Introduction / 283 10.2 Import Paths / 284 10.3 The Package Declaration / 285 10.4 Import Declarations / 285 10.5 Blank Imports / 286 10.6 Packages and Naming / 289 10.7 The Go Tool / 290 11: Testing / 301 11.1 The go test Tool / 302 11.2 Test Functions / 302 11.3 Coverage / 318 11.4 Benchmark Functions / 321 11.5 Profiling / 323 11.6 Example Functions / 326 12: Reflection / 329 12.1 Why Reflection? / 329 12.2 reflect.Type and reflect.Value / 330 12.3 Display, a Recursive Value Printer / 333 12.4 Example: Encoding S-Expressions / 338 12.5 Setting Variables with reflect.Value / 341 12.6 Example: Decoding S-Expressions / 344 12.7 Accessing Struct Field Tags / 348 12.8 Displaying the Methods of a Type / 351 12.9 A Word of Caution / 352 13: Low-Level Programming / 353 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 13.2 unsafe.Pointer / 356 13.3 Example: Deep Equivalence / 358 13.4 Calling C Code with cgo / 361 13.5 Another Word of Caution / 366 Index / 367

rawabstract:
Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C; the great ideas it borrows from other modern languages; and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy.

shortTOC:
1: Tutorial 2: Program structure 3: Basic data types 4: Composite types 5: Functions 6: Methods 7: Interfaces 8: Goroutines and channels 9: Concurrency with shared variables 10: Packages and the Go tool 11: Testing 12: Reflection 13: Low-level programming

rawshortTOC:
1: Tutorial \\ 2: Program structure \\ 3: Basic data types \\ 4: Composite types \\ 5: Functions \\ 6: Methods \\ 7: Interfaces \\ 8: Goroutines and channels \\ 9: Concurrency with shared variables \\ 10: Packages and the Go tool \\ 11: Testing \\ 12: Reflection \\ 13: Low-level programming

rawTOC:
Preface / xi \\ 1: Tutorial / 1 \\ 1.1 Hello, World / 1 \\ 1.2 Command-Line Arguments / 4 \\ 1.3 Finding Duplicate Lines / 8 \\ 1.4 Animated GIFs / 13 \\ 1.5 Fetching a URL / 15 \\ 1.6 Fetching URLs Concurrently / 17 \\ 1.7 A Web Server / 19 \\ 1.8 Loose Ends / 23 \\ 2: Program Structure / 27 \\ 2.1 Names / 27 \\ 2.2 Declarations / 28 \\ 2.3 Variables / 30 \\ 2.4 Assignments / 36 \\ 2.5 Type Declarations / 39 \\ 2.6 Packages and Files / 41 \\ 2.7 Scope / 45 \\ 3: Basic Data Types / 51 \\ 3.1 Integers / 51 \\ 3.2 Floating-Point Numbers / 56 \\ 3.3 Complex Numbers / 61 \\ 3.4 Booleans / 63 \\ 3.5 Strings / 64 \\ 3.6 Constants / 75 \\ 4: Composite Types / 81 \\ 4.1 Arrays / 81 \\ 4.2 Slices / 84 \\ 4.3 Maps / 93 \\ 4.4 Structs / 99 \\ 4.5 JSON / 107 \\ 4.6 Text and HTML Templates / 113 \\ 5: Functions / 119 \\ 5.1 Function Declarations / 119 \\ 5.2 Recursion / 121 \\ 5.3 Multiple Return Values / 124 \\ 5.4 Errors / 127 \\ 5.5 Function Values / 132 \\ 5.6 Anonymous Functions / 135 \\ 5.7 Variadic Functions / 142 \\ 5.8 Deferred Function Calls / 143 \\ 5.9 Panic / 148 \\ 5.10 Recover / 151 \\ 6:. Methods / 155 \\ 6.1 Method Declarations / 155 \\ 6.2 Methods with a Pointer Receiver / 158 \\ 6.3 Composing Types by Struct Embedding / 161 \\ 6.4 Method Values and Expressions / 164 \\ 6.5 Example: Bit Vector Type / 165 \\ 6.6 Encapsulation / 168 \\ 7: Interfaces / 171 \\ 7.1 Interfaces as Contracts / 171 \\ 7.2 Interface Types / 174 \\ 7.3 Interface Satisfaction / 175 \\ 7.4 Parsing Flags with flag.Value / 179 \\ 7.5 Interface Values / 181 \\ 7.6 Sorting with sort.Interface / 186 \\ 7.7 The http.Handler Interface / 191 \\ 7.8 The error Interface / 196 \\ 7.9 Example: Expression Evaluator / 197 \\ 7.10 Type Assertions / 205 \\ 7.11 Discriminating Errors with Type Assertions / 206 \\ 7.12 Querying Behaviors with Interface Type Assertions / 208 \\ 7.13 Type Switches / 210 \\ 7.14 Example: Token-Based XML Decoding / 213 \\ 7.15 A Few Words of Advice / 216 \\ 8: Goroutines and Channels / 217 \\ 8.1 Goroutines / 217 \\ 8.2 Example: Concurrent Clock Server / 219 \\ 8.3 Example: Concu rent Echo Server / 222 \\ 8.4 Channels / 225 \\ 8.5 Looping in Parallel / 234 \\ 8.6 Example: Concurrent Web Crawler / 239 \\ 8.7 Multiplexing with select / 244 \\ 8.8 Example: Concurrent Directory Traversal / 247 \\ 8.9 Cancellation / 251 \\ 8.10 Example: Chat Server / 253 \\ 9: Concurrency with Shared Variables / 257 \\ 9.1 Race Conditions / 257 \\ 9.2 Mutual Exclusion: sync.Mutex / 262 \\ 9.3 Read/Write Mutexes: sync.RWMutex / 266 \\ 9.4 Memory Synchronization / 267 \\ 9.5 Lazy Initialization: sync.Once / 268 \\ 9.6 The Race Detector / 271 \\ 9.7 Example: Concurrent Non-Blocking Cache / 272 \\ 9.8 Goroutines and Threads / 280 \\ 10: Packages and the Go Tool / 283 \\ 10.1 Introduction / 283 \\ 10.2 Import Paths / 284 \\ 10.3 The Package Declaration / 285 \\ 10.4 Import Declarations / 285 \\ 10.5 Blank Imports / 286 \\ 10.6 Packages and Naming / 289 \\ 10.7 The Go Tool / 290 \\ 11: Testing / 301 \\ 11.1 The go test Tool / 302 \\ 11.2 Test Functions / 302 \\ 11.3 Coverage / 318 \\ 11.4 Benchmark Functions / 321 \\ 11.5 Profiling / 323 \\ 11.6 Example Functions / 326 \\ 12: Reflection / 329 \\ 12.1 Why Reflection? / 329 \\ 12.2 reflect.Type and reflect.Value / 330 \\ 12.3 Display, a Recursive Value Printer / 333 \\ 12.4 Example: Encoding S-Expressions / 338 \\ 12.5 Setting Variables with reflect.Value / 341 \\ 12.6 Example: Decoding S-Expressions / 344 \\ 12.7 Accessing Struct Field Tags / 348 \\ 12.8 Displaying the Methods of a Type / 351 \\ 12.9 A Word of Caution / 352 \\ 13: Low-Level Programming / 353 \\ 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 \\ 13.2 unsafe.Pointer / 356 \\ 13.3 Example: Deep Equivalence / 358 \\ 13.4 Calling C Code with cgo / 361 \\ 13.5 Another Word of Caution / 366 \\ Index / 367

entry:
@Book{Donovan:2016:GPL,
  author =       "Alan A. A. Donovan and Brian W. Kernighan",
  title =        "The {Go} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 380",
  year =         "2016",
  ISBN =         "0-13-419044-0 (paperback)",
  ISBN-13 =      "978-0-13-419044-0 (paperback)",
  LCCN =         "QA76.73.G63 D66 2016",
  bibdate =      "Fri Oct 11 12:07:52 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Addison-Wesley professional computing series",
  URL =          "https://www.pearson.com/us/higher-education/program/Donovan-Go-Programming-Language-The/PGM234922.html",
  abstract =     "Go may be our generation's most important new
                 programming language. It is exceptionally expressive,
                 highly efficient in both compilation and execution, and
                 enables the development of extremely reliable and
                 robust programs. It shares the same spirit programmers
                 once found in C: it helps serious professional
                 programmers achieve maximum effect with minimum means.
                 Now, Go shares something else with C, too. Brian
                 Kernighan, who wrote the world's most respected and
                 useful C primer for working programmers, has just done
                 the same for Go. Together with Google Go insider Alan
                 Donovan, Kernighan explains what Go does and doesn't
                 borrow from C; the great ideas it borrows from other
                 modern languages; and how it avoids features that lead
                 to unnecessary complexity and unreliable code.
                 Throughout, their short, carefully-crafted code
                 examples demonstrate today's most effective Go idioms,
                 so you can start using Go effectively right from the
                 beginning, and quickly take advantage of its full
                 power. All code has been extensively reviewed by Go's
                 creators at Google for both completeness and
                 accuracy.",
  acknowledgement = ack-nhfb,
  author-dates = "1976--",
  shorttableofcontents = "1: Tutorial \\
                 2: Program structure \\
                 3: Basic data types \\
                 4: Composite types \\
                 5: Functions \\
                 6: Methods \\
                 7: Interfaces \\
                 8: Goroutines and channels \\
                 9: Concurrency with shared variables \\
                 10: Packages and the Go tool \\
                 11: Testing \\
                 12: Reflection \\
                 13: Low-level programming",
  subject =      "Go (Computer program language); Open source software;
                 Programming; G (Lenguaje de programaci\'on para
                 computadora); Programaci\'on de computadoras",
  tableofcontents = "Preface / xi \\
                 1: Tutorial / 1 \\
                 1.1 Hello, World / 1 \\
                 1.2 Command-Line Arguments / 4 \\
                 1.3 Finding Duplicate Lines / 8 \\
                 1.4 Animated GIFs / 13 \\
                 1.5 Fetching a URL / 15 \\
                 1.6 Fetching URLs Concurrently / 17 \\
                 1.7 A Web Server / 19 \\
                 1.8 Loose Ends / 23 \\
                 2: Program Structure / 27 \\
                 2.1 Names / 27 \\
                 2.2 Declarations / 28 \\
                 2.3 Variables / 30 \\
                 2.4 Assignments / 36 \\
                 2.5 Type Declarations / 39 \\
                 2.6 Packages and Files / 41 \\
                 2.7 Scope / 45 \\
                 3: Basic Data Types / 51 \\
                 3.1 Integers / 51 \\
                 3.2 Floating-Point Numbers / 56 \\
                 3.3 Complex Numbers / 61 \\
                 3.4 Booleans / 63 \\
                 3.5 Strings / 64 \\
                 3.6 Constants / 75 \\
                 4: Composite Types / 81 \\
                 4.1 Arrays / 81 \\
                 4.2 Slices / 84 \\
                 4.3 Maps / 93 \\
                 4.4 Structs / 99 \\
                 4.5 JSON / 107 \\
                 4.6 Text and HTML Templates / 113 \\
                 5: Functions / 119 \\
                 5.1 Function Declarations / 119 \\
                 5.2 Recursion / 121 \\
                 5.3 Multiple Return Values / 124 \\
                 5.4 Errors / 127 \\
                 5.5 Function Values / 132 \\
                 5.6 Anonymous Functions / 135 \\
                 5.7 Variadic Functions / 142 \\
                 5.8 Deferred Function Calls / 143 \\
                 5.9 Panic / 148 \\
                 5.10 Recover / 151 \\
                 6:. Methods / 155 \\
                 6.1 Method Declarations / 155 \\
                 6.2 Methods with a Pointer Receiver / 158 \\
                 6.3 Composing Types by Struct Embedding / 161 \\
                 6.4 Method Values and Expressions / 164 \\
                 6.5 Example: Bit Vector Type / 165 \\
                 6.6 Encapsulation / 168 \\
                 7: Interfaces / 171 \\
                 7.1 Interfaces as Contracts / 171 \\
                 7.2 Interface Types / 174 \\
                 7.3 Interface Satisfaction / 175 \\
                 7.4 Parsing Flags with flag.Value / 179 \\
                 7.5 Interface Values / 181 \\
                 7.6 Sorting with sort.Interface / 186 \\
                 7.7 The http.Handler Interface / 191 \\
                 7.8 The error Interface / 196 \\
                 7.9 Example: Expression Evaluator / 197 \\
                 7.10 Type Assertions / 205 \\
                 7.11 Discriminating Errors with Type Assertions / 206
                 \\
                 7.12 Querying Behaviors with Interface Type Assertions
                 / 208 \\
                 7.13 Type Switches / 210 \\
                 7.14 Example: Token-Based XML Decoding / 213 \\
                 7.15 A Few Words of Advice / 216 \\
                 8: Goroutines and Channels / 217 \\
                 8.1 Goroutines / 217 \\
                 8.2 Example: Concurrent Clock Server / 219 \\
                 8.3 Example: Concu rent Echo Server / 222 \\
                 8.4 Channels / 225 \\
                 8.5 Looping in Parallel / 234 \\
                 8.6 Example: Concurrent Web Crawler / 239 \\
                 8.7 Multiplexing with select / 244 \\
                 8.8 Example: Concurrent Directory Traversal / 247 \\
                 8.9 Cancellation / 251 \\
                 8.10 Example: Chat Server / 253 \\
                 9: Concurrency with Shared Variables / 257 \\
                 9.1 Race Conditions / 257 \\
                 9.2 Mutual Exclusion: sync.Mutex / 262 \\
                 9.3 Read/Write Mutexes: sync.RWMutex / 266 \\
                 9.4 Memory Synchronization / 267 \\
                 9.5 Lazy Initialization: sync.Once / 268 \\
                 9.6 The Race Detector / 271 \\
                 9.7 Example: Concurrent Non-Blocking Cache / 272 \\
                 9.8 Goroutines and Threads / 280 \\
                 10: Packages and the Go Tool / 283 \\
                 10.1 Introduction / 283 \\
                 10.2 Import Paths / 284 \\
                 10.3 The Package Declaration / 285 \\
                 10.4 Import Declarations / 285 \\
                 10.5 Blank Imports / 286 \\
                 10.6 Packages and Naming / 289 \\
                 10.7 The Go Tool / 290 \\
                 11: Testing / 301 \\
                 11.1 The go test Tool / 302 \\
                 11.2 Test Functions / 302 \\
                 11.3 Coverage / 318 \\
                 11.4 Benchmark Functions / 321 \\
                 11.5 Profiling / 323 \\
                 11.6 Example Functions / 326 \\
                 12: Reflection / 329 \\
                 12.1 Why Reflection? / 329 \\
                 12.2 reflect.Type and reflect.Value / 330 \\
                 12.3 Display, a Recursive Value Printer / 333 \\
                 12.4 Example: Encoding S-Expressions / 338 \\
                 12.5 Setting Variables with reflect.Value / 341 \\
                 12.6 Example: Decoding S-Expressions / 344 \\
                 12.7 Accessing Struct Field Tags / 348 \\
                 12.8 Displaying the Methods of a Type / 351 \\
                 12.9 A Word of Caution / 352 \\
                 13: Low-Level Programming / 353 \\
                 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 \\
                 13.2 unsafe.Pointer / 356 \\
                 13.3 Example: Deep Equivalence / 358 \\
                 13.4 Calling C Code with cgo / 361 \\
                 13.5 Another Word of Caution / 366 \\
                 Index / 367",
}


bibtype: book
filename: master.bib
label: Doob:1993:TSS
author: Michael Doob
title: TeX : Starting from Square 1
publisher: pub-SV
address: pub-SV:adr
pages: x + 114
year: 1993
ISBN: 3-540-56441-1, 0-387-56441-1 (US) OR 3540564411, 0387564411 (US)
ISBN13: 978-3-540-56441-6, 978-0-387-56441-8 (US) OR 9783540564416, 9780387564418 (US)
LCCN: Z253.4.T47 D66 1993
bibdate: Wed Aug 10 14:00:46 1994
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1994.08.10 14:00:46 ???
URL: http://www.loc.gov/catdir/enhancements/fy0902/93026025-d.html
subject: TeX (Computer file); Computerized typesetting; Mathematics printing; Computer programs
acknowledgement: ack-nhfb
rawauthor: Michael Doob
rawtitle: {\TeX}: Starting from Square 1
entry:
@Book{Doob:1993:TSS,
  author =       "Michael Doob",
  title =        "{\TeX}: Starting from Square 1",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 114",
  year =         "1993",
  ISBN =         "3-540-56441-1, 0-387-56441-1 (US)",
  ISBN-13 =      "978-3-540-56441-6, 978-0-387-56441-8 (US)",
  LCCN =         "Z253.4.T47 D66 1993",
  bibdate =      "Wed Aug 10 14:00:46 1994",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$25.00",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0902/93026025-d.html",
  acknowledgement = ack-nhfb,
  subject =      "TeX (Computer file); Computerized typesetting;
                 Mathematics printing; Computer programs",
}


bibtype: book
filename: master.bib
label: Dorain:1965:SIC
author: Paul B. Dorain
title: Symmetry in Inorganic Chemistry
publisher: pub-AW
address: pub-AW:adr
pages: vi + 122
year: 1965
LCCN: QD475.D6
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: Paul B. Dorain
rawtitle: Symmetry in Inorganic Chemistry
entry:
@Book{Dorain:1965:SIC,
  author =       "Paul B. Dorain",
  title =        "Symmetry in Inorganic Chemistry",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "vi + 122",
  year =         "1965",
  LCCN =         "QD475.D6",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  xxISBN =       "none",
}


bibtype: book
filename: master.bib
label: Dorren:2014:LAE
author: Gaston Dorren
title: Lingo: around Europe in sixty languages
publisher: Grove Press
address: New York, NY, USA
pages: 303
year: 2014
ISBN: 0-8021-2571-9 (softcover) OR 0802125719 (softcover)
ISBN13: 978-0-8021-2571-2 (softcover) OR 9780802125712 (softcover)
LCCN: P380 .D6713 2016
bibdate: Sat Aug 27 12:16:03 MDT 2022
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2022.08.27 12:16:03 MDT
note: With contributions by Jenny Audring, Frauke Watson, and Alison Edwards.
acknowledgement: ack-nhfb
rawauthor: Gaston Dorren
rawnote: With contributions by Jenny Audring, Frauke Watson, and Alison Edwards.
rawtitle: Lingo: around {Europe} in sixty languages
subject:
Language and culture; Europe; Philology; Language and languages; Variation; Langage et culture; Philologie; Variation (Linguistique); philology; Language and culture; Language and languages; Variation; Philology; Europe; Variation; Languages; Langues

TOC:
What Europeans speak Next of tongue: Languages and their families Past perfect discontinuous Languages and their history War and peace Languages and politics Werds, wirds, wurds ldots Written and spoken Nuts and bolts Languages and their vocabulary Talking by the book Languages and their grammar Intensive care Languages on the brink and beyond Movers and shakers Linguists who left their mark Warts and all Linguistic portrait studies Part One: Next of tongue Lithuanian Finno-Ugric Languages Romansh French Slavic languages Balkan languages Ossetian Part Two: Past perfect discontinuous German Galician Danish Channel Island Norman Karaim, Ladino and Yiddish Icelandic Part Three: War and peace Norwegian Belarus(s)ian Luxembourgish Scots and Frisian Swedish Catalan Serbo-Croatian Part Four: Werds, wirds, wurds ldots Czech Polish Scots Gaelic Russian Spanish lovene helta and Anglo-Romani Part Five: Nuts and bolts Greek Portuguese Sorbian Latvian Italian Sami Breton Part Six: Talking by the book Dutch Romani Bulgarian-Slovak Welsh Basque Ukrainian Part Seven: Intensive care Monegasque Irish Gagauz Dalmatian Cornish Manx Part Eight: Movers and shakers Slovak Albanian Germanic languages Esperanto Macedonian Turkish Part Nine: Warts and all Finnish Faroese Sign languages Armenian Hungarian Maltese English

rawTOC:
What Europeans speak \\ Next of tongue: Languages and their families \\ Past perfect discontinuous \\ Languages and their history \\ War and peace \\ Languages and politics \\ Werds, wirds, wurds \ldots{} \\ Written and spoken \\ Nuts and bolts \\ Languages and their vocabulary \\ Talking by the book \\ Languages and their grammar \\ Intensive care \\ Languages on the brink and beyond \\ Movers and shakers \\ Linguists who left their mark \\ Warts and all \\ Linguistic portrait studies \\ Part One: Next of tongue \\ Lithuanian \\ Finno-Ugric Languages \\ Romansh \\ French \\ Slavic languages \\ Balkan languages \\ Ossetian \\ Part Two: Past perfect discontinuous \\ German \\ Galician \\ Danish \\ Channel Island Norman \\ Karaim, Ladino and Yiddish \\ Icelandic \\ Part Three: War and peace \\ Norwegian \\ Belarus(s)ian \\ Luxembourgish \\ Scots and Frisian \\ Swedish \\ Catalan \\ Serbo-Croatian \\ Part Four: Werds, wirds, wurds \ldots{} \\ Czech \\ Polish \\ Scots Gaelic \\ Russian \\ Spanish \\ lovene \\ helta and Anglo-Romani \\ Part Five: Nuts and bolts \\ Greek \\ Portuguese \\ Sorbian \\ Latvian \\ Italian \\ Sami \\ Breton \\ Part Six: Talking by the book \\ Dutch \\ Romani \\ Bulgarian-Slovak \\ Welsh \\ Basque \\ Ukrainian \\ Part Seven: Intensive care \\ Monegasque \\ Irish \\ Gagauz \\ Dalmatian \\ Cornish \\ Manx \\ Part Eight: Movers and shakers \\ Slovak \\ Albanian \\ Germanic languages \\ Esperanto \\ Macedonian \\ Turkish \\ Part Nine: Warts and all \\ Finnish \\ Faroese \\ Sign languages \\ Armenian \\ Hungarian \\ Maltese \\ English

entry:
@Book{Dorren:2014:LAE,
  author =       "Gaston Dorren",
  title =        "Lingo: around {Europe} in sixty languages",
  publisher =    "Grove Press",
  address =      "New York, NY, USA",
  pages =        "303",
  year =         "2014",
  ISBN =         "0-8021-2571-9 (softcover)",
  ISBN-13 =      "978-0-8021-2571-2 (softcover)",
  LCCN =         "P380 .D6713 2016",
  bibdate =      "Sat Aug 27 12:16:03 MDT 2022",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "With contributions by Jenny Audring, Frauke Watson,
                 and Alison Edwards.",
  acknowledgement = ack-nhfb,
  libnote =      "Not in my library.",
  subject =      "Language and culture; Europe; Philology; Language and
                 languages; Variation; Langage et culture; Philologie;
                 Variation (Linguistique); philology; Language and
                 culture; Language and languages; Variation; Philology;
                 Europe; Variation; Languages; Langues",
  tableofcontents = "What Europeans speak \\
                 Next of tongue:  Languages and their families \\
                 Past perfect discontinuous \\
                 Languages and their history \\
                 War and peace \\
                 Languages and politics \\
                 Werds, wirds, wurds \ldots{} \\
                 Written and spoken \\
                 Nuts and bolts \\
                 Languages and their vocabulary \\
                 Talking by the book \\
                 Languages and their grammar \\
                 Intensive care \\
                 Languages on the brink and beyond \\
                 Movers and shakers \\
                 Linguists who left their mark \\
                 Warts and all \\
                 Linguistic portrait studies \\
                 Part One: Next of tongue \\
                 Lithuanian \\
                 Finno-Ugric Languages \\
                 Romansh \\
                 French \\
                 Slavic languages \\
                 Balkan languages \\
                 Ossetian \\
                 Part Two: Past perfect discontinuous \\
                 German \\
                 Galician \\
                 Danish \\
                 Channel Island Norman \\
                 Karaim, Ladino and Yiddish \\
                 Icelandic \\
                 Part Three: War and peace \\
                 Norwegian \\
                 Belarus(s)ian \\
                 Luxembourgish \\
                 Scots and Frisian \\
                 Swedish \\
                 Catalan \\
                 Serbo-Croatian \\
                 Part Four: Werds, wirds, wurds \ldots{} \\
                 Czech \\
                 Polish \\
                 Scots Gaelic \\
                 Russian \\
                 Spanish \\
                 lovene \\
                 helta and Anglo-Romani \\
                 Part Five: Nuts and bolts \\
                 Greek \\
                 Portuguese \\
                 Sorbian \\
                 Latvian \\
                 Italian \\
                 Sami \\
                 Breton \\
                 Part Six: Talking by the book \\
                 Dutch \\
                 Romani \\
                 Bulgarian-Slovak \\
                 Welsh \\
                 Basque \\
                 Ukrainian \\
                 Part Seven: Intensive care \\
                 Monegasque \\
                 Irish \\
                 Gagauz \\
                 Dalmatian \\
                 Cornish \\
                 Manx \\
                 Part Eight: Movers and shakers \\
                 Slovak \\
                 Albanian \\
                 Germanic languages \\
                 Esperanto \\
                 Macedonian \\
                 Turkish \\
                 Part Nine: Warts and all \\
                 Finnish \\
                 Faroese \\
                 Sign languages \\
                 Armenian \\
                 Hungarian \\
                 Maltese \\
                 English",
}


bibtype: book
filename: master.bib
label: Dorren:2018:BAW
author: Gaston Dorren
title: Babel: around the world in twenty languages
publisher: Atlantic Monthly Press
address: New York, NY, USA
pages: 361
year: 2018
ISBN: 0-8021-2879-3 (hardcover) OR 0802128793 (hardcover)
ISBN13: 978-0-8021-2879-9 (hardcover) OR 9780802128799 (hardcover)
LCCN: P375 .D67 2018
bibdate: Sat Dec 22 16:00:19 MST 2018
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2018.12.22 16:00:19 MST
acknowledgement: ack-nhfb
rawauthor: Gaston Dorren
rawtitle: {Babel}: around the world in twenty languages
abstract:
A tour of the world's twenty most-spoken languages explores the history, geography, linguistics, and cultures that have been shaped by languages and their customs. English is the world language, except that most of the world doesn't speak it --- only one in five people does. Gaston Dorren calculates that to speak fluently with half of the world's 7.4 or so billion people in their mother tongues, you would need to know no fewer than twenty languages. He sets out to explore these top twenty world languages, which range from the familiar (French, Spanish) to the surprising (Malay, Javanese, Punjabi). [This book] whisks the reader on a delightful journey to every continent of the world, tracing how these world languages rose to greatness while others fell away, and showing how speakers today handle the foibles of their mother tongues. Whether exploring tongue-tying phonetics, complicated writing scripts, or mind-bending quirks of grammar, booktitle Babel vividly illustrates that mother tongues are like nations: each has its own customs and beliefs. Among many other things, booktitle Babel will teach you why modern Turks can't read books that are a mere seventy-five years old, what it means in practice for Russian and English to be relatives, and how Japanese developed separate `dialects' for men and women. Dorren lets you in on his personal trials and triumphs while studying Vietnamese, debunks ten widespread myths about Chinese characters, and discovers that Swahili became the lingua franca in a part of the world where people routinely speak three or more languages. Witty, fascinating and utterly compelling, booktitle Babel will change the way you look at and listen to the world and how it speaks.

subject:
Linguistic geography; Language and languages; Variation; Philology; Language Arts and Disciplines / Linguistics / Historical and Comparative; Variation; Linguistic geography

TOC:
Introduction: twenty languages: half the world Vietnamese, 85 million: linguistic moutaineering Korean, 85 million: sound and sensibility Tamil, 90 million: a matter of life and death Turkish, 90 million: irreparably improved Javanese, 95 million: talking up, talking down Persian, 110 million: empire builders and construction workers Punjabi, 125 million: the tone is the message Japanese, 130 million: linguistic gender apartheid Swahili, 135 million: Africa's nonchalant multilingualism German, 200 million: an eccentric in central Europe French, 250 million: death to la difference Malay, 275 million: the one that won Russian, 275 million: on being Indo-European Portuguese, 275 million: punching above its weight Bengali, 275 million: world leaders in abugidas Arabic, 375 million: a concise dictionary of our Arabic Hindi-Urdu, 550 million: always something breaking us in two Spanish, 575 million: AA Ser or estar? that's the question Mandarin, 1.3 billion: the mythical Chinese script Japanese revisited: a writing system lacking in system English, 1.5 billion: a special lingua franca?

rawabstract:
A tour of the world's twenty most-spoken languages explores the history, geography, linguistics, and cultures that have been shaped by languages and their customs. English is the world language, except that most of the world doesn't speak it --- only one in five people does. Gaston Dorren calculates that to speak fluently with half of the world's 7.4 or so billion people in their mother tongues, you would need to know no fewer than twenty languages. He sets out to explore these top twenty world languages, which range from the familiar (French, Spanish) to the surprising (Malay, Javanese, Punjabi). [This book] whisks the reader on a delightful journey to every continent of the world, tracing how these world languages rose to greatness while others fell away, and showing how speakers today handle the foibles of their mother tongues. Whether exploring tongue-tying phonetics, complicated writing scripts, or mind-bending quirks of grammar, \booktitle{Babel} vividly illustrates that mother tongues are like nations: each has its own customs and beliefs. Among many other things, \booktitle{Babel} will teach you why modern Turks can't read books that are a mere seventy-five years old, what it means in practice for Russian and English to be relatives, and how Japanese developed separate `dialects' for men and women. Dorren lets you in on his personal trials and triumphs while studying Vietnamese, debunks ten widespread myths about Chinese characters, and discovers that Swahili became the lingua franca in a part of the world where people routinely speak three or more languages. Witty, fascinating and utterly compelling, \booktitle{Babel} will change the way you look at and listen to the world and how it speaks.

rawTOC:
Introduction: twenty languages: half the world \\ Vietnamese, 85 million: linguistic moutaineering \\ Korean, 85 million: sound and sensibility \\ Tamil, 90 million: a matter of life and death \\ Turkish, 90 million: irreparably improved \\ Javanese, 95 million: talking up, talking down \\ Persian, 110 million: empire builders and construction workers \\ Punjabi, 125 million: the tone is the message \\ Japanese, 130 million: linguistic gender apartheid \\ Swahili, 135 million: Africa's nonchalant multilingualism \\ German, 200 million: an eccentric in central Europe \\ French, 250 million: death to la diff{\'e}rence \\ Malay, 275 million: the one that won \\ Russian, 275 million: on being Indo-European \\ Portuguese, 275 million: punching above its weight \\ Bengali, 275 million: world leaders in abugidas \\ Arabic, 375 million: a concise dictionary of our Arabic \\ Hindi-Urdu, 550 million: always something breaking us in two \\ Spanish, 575 million: {\AA}Ser or estar? that's the question \\ Mandarin, 1.3 billion: the mythical Chinese script \\ Japanese revisited: a writing system lacking in system \\ English, 1.5 billion: a special lingua franca?

entry:
@Book{Dorren:2018:BAW,
  author =       "Gaston Dorren",
  title =        "{Babel}: around the world in twenty languages",
  publisher =    "Atlantic Monthly Press",
  address =      "New York, NY, USA",
  pages =        "361",
  year =         "2018",
  ISBN =         "0-8021-2879-3 (hardcover)",
  ISBN-13 =      "978-0-8021-2879-9 (hardcover)",
  LCCN =         "P375 .D67 2018",
  bibdate =      "Sat Dec 22 16:00:19 MST 2018",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "A tour of the world's twenty most-spoken languages
                 explores the history, geography, linguistics, and
                 cultures that have been shaped by languages and their
                 customs. English is the world language, except that
                 most of the world doesn't speak it --- only one in five
                 people does. Gaston Dorren calculates that to speak
                 fluently with half of the world's 7.4 or so billion
                 people in their mother tongues, you would need to know
                 no fewer than twenty languages. He sets out to explore
                 these top twenty world languages, which range from the
                 familiar (French, Spanish) to the surprising (Malay,
                 Javanese, Punjabi). [This book] whisks the reader on a
                 delightful journey to every continent of the world,
                 tracing how these world languages rose to greatness
                 while others fell away, and showing how speakers today
                 handle the foibles of their mother tongues. Whether
                 exploring tongue-tying phonetics, complicated writing
                 scripts, or mind-bending quirks of grammar,
                 \booktitle{Babel} vividly illustrates that mother
                 tongues are like nations: each has its own customs and
                 beliefs. Among many other things, \booktitle{Babel}
                 will teach you why modern Turks can't read books that
                 are a mere seventy-five years old, what it means in
                 practice for Russian and English to be relatives, and
                 how Japanese developed separate `dialects' for men and
                 women. Dorren lets you in on his personal trials and
                 triumphs while studying Vietnamese, debunks ten
                 widespread myths about Chinese characters, and
                 discovers that Swahili became the lingua franca in a
                 part of the world where people routinely speak three or
                 more languages. Witty, fascinating and utterly
                 compelling, \booktitle{Babel} will change the way you
                 look at and listen to the world and how it speaks.",
  acknowledgement = ack-nhfb,
  subject =      "Linguistic geography; Language and languages;
                 Variation; Philology; Language Arts and Disciplines /
                 Linguistics / Historical and Comparative; Variation;
                 Linguistic geography",
  tableofcontents = "Introduction: twenty languages: half the world \\
                 Vietnamese, 85 million: linguistic moutaineering \\
                 Korean, 85 million: sound and sensibility \\
                 Tamil, 90 million: a matter of life and death \\
                 Turkish, 90 million: irreparably improved \\
                 Javanese, 95 million: talking up, talking down \\
                 Persian, 110 million: empire builders and construction
                 workers \\
                 Punjabi, 125 million: the tone is the message \\
                 Japanese, 130 million: linguistic gender apartheid \\
                 Swahili, 135 million: Africa's nonchalant
                 multilingualism \\
                 German, 200 million: an eccentric in central Europe \\
                 French, 250 million: death to la diff{\'e}rence \\
                 Malay, 275 million: the one that won \\
                 Russian, 275 million: on being Indo-European \\
                 Portuguese, 275 million: punching above its weight \\
                 Bengali, 275 million: world leaders in abugidas \\
                 Arabic, 375 million: a concise dictionary of our Arabic
                 \\
                 Hindi-Urdu, 550 million: always something breaking us
                 in two \\
                 Spanish, 575 million: {\AA}Ser or estar? that's the
                 question \\
                 Mandarin, 1.3 billion: the mythical Chinese script \\
                 Japanese revisited: a writing system lacking in system
                 \\
                 English, 1.5 billion: a special lingua franca?",
}


bibtype: book
filename: master.bib
label: Dougherty:1987:MSI
author: Edward R. Dougherty and Charles R. Giardina
title: Matrix Structured Image Processing
publisher: pub-PH
address: pub-PH:adr
pages: x + 258
year: 1987
ISBN: 0-13-565623-0 OR 0135656230
ISBN13: 978-0-13-565623-5 OR 9780135656235
LCCN: TA1632.D68 1987
bibdate: Tue Dec 14 22:47:38 1993
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1993.12.14 22:47:38 ???
acknowledgement: ack-nhfb
rawauthor: Edward R. Dougherty and Charles R. Giardina
rawtitle: Matrix Structured Image Processing
entry:
@Book{Dougherty:1987:MSI,
  author =       "Edward R. Dougherty and Charles R. Giardina",
  title =        "Matrix Structured Image Processing",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "x + 258",
  year =         "1987",
  ISBN =         "0-13-565623-0",
  ISBN-13 =      "978-0-13-565623-5",
  LCCN =         "TA1632.D68 1987",
  bibdate =      "Tue Dec 14 22:47:38 1993",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$44.95",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Dougherty:1991:SA
author: Dale Dougherty
title: sed & awk
publisher: pub-ORA
address: pub-ORA:adr
pages: xxii + 394
year: 1991
ISBN: 0-937175-59-5 OR 0937175595
ISBN13: 978-0-937175-59-0 OR 9780937175590
LCCN: QA76.76.U84 D69 1991
URL: http://www.oreilly.com/catalog/9780937175590
acknowledgement: ack-nhfb
rawauthor: Dale Dougherty
rawtitle: sed \& awk
bibsource:
https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
For people who create and modify text files, sed and awk are power tools for editing. Most of the things that you can do with these programs can be done interactively with a text editor. However, using sed and awk can save many hours of repetitive work in achieving the same result. To master sed and awk you must thoroughly understand UNIX regular expressions, and understand the syntax of sed and awk commands. This handbook treats regular expressions as a foundation for learning about sed and awk and contains a comprehensive treatment of sed and awk syntax. It emphasizes the kinds of practical problems that sed and awk can help users to solve, with many useful example scripts and programs.

TOC:
1. Power Tools for Editing 2. Understanding Basic Operations 3. Understanding Regular Expression Syntax 4. Writing Sed Scripts 5. Basic Sed Commands 6. Advanced Sed Commands 7. Writing Scripts for Awk 8. Conditionals, Loops, and Arrays 9. Functions 10. The Bottoms Drawer 11. Full-featured Applications 12. A Miscellany of Scripts Appendices

rawabstract:
For people who create and modify text files, sed and awk are power tools for editing. Most of the things that you can do with these programs can be done interactively with a text editor. However, using sed and awk can save many hours of repetitive work in achieving the same result. To master sed and awk you must thoroughly understand UNIX regular expressions, and understand the syntax of sed and awk commands. This handbook treats regular expressions as a foundation for learning about sed and awk and contains a comprehensive treatment of sed and awk syntax. It emphasizes the kinds of practical problems that sed and awk can help users to solve, with many useful example scripts and programs.

rawTOC:
1. Power Tools for Editing \\ 2. Understanding Basic Operations \\ 3. Understanding Regular Expression Syntax \\ 4. Writing Sed Scripts \\ 5. Basic Sed Commands \\ 6. Advanced Sed Commands \\ 7. Writing Scripts for Awk \\ 8. Conditionals, Loops, and Arrays \\ 9. Functions \\ 10. The Bottoms Drawer \\ 11. Full-featured Applications \\ 12. A Miscellany of Scripts \\ Appendices

entry:
@Book{Dougherty:1991:SA,
  author =       "Dale Dougherty",
  title =        "sed \& awk",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxii + 394",
  year =         "1991",
  ISBN =         "0-937175-59-5",
  ISBN-13 =      "978-0-937175-59-0",
  LCCN =         "QA76.76.U84 D69 1991",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.oreilly.com/catalog/9780937175590",
  abstract =     "For people who create and modify text files, sed and
                 awk are power tools for editing. Most of the things
                 that you can do with these programs can be done
                 interactively with a text editor. However, using sed
                 and awk can save many hours of repetitive work in
                 achieving the same result. To master sed and awk you
                 must thoroughly understand UNIX regular expressions,
                 and understand the syntax of sed and awk commands. This
                 handbook treats regular expressions as a foundation for
                 learning about sed and awk and contains a comprehensive
                 treatment of sed and awk syntax. It emphasizes the
                 kinds of practical problems that sed and awk can help
                 users to solve, with many useful example scripts and
                 programs.",
  acknowledgement = ack-nhfb,
  tableofcontents = "1. Power Tools for Editing \\
                 2. Understanding Basic Operations \\
                 3. Understanding Regular Expression Syntax \\
                 4. Writing Sed Scripts \\
                 5. Basic Sed Commands \\
                 6. Advanced Sed Commands \\
                 7. Writing Scripts for Awk \\
                 8. Conditionals, Loops, and Arrays \\
                 9. Functions \\
                 10. The Bottoms Drawer \\
                 11. Full-featured Applications \\
                 12. A Miscellany of Scripts \\
                 Appendices",
}


bibtype: book
filename: master.bib
label: Doupnik:1990:MMK
author: Joe R. Doupnik
title: The Making of MS-DOS Kermit
publisher: pub-DP
address: pub-DP:adr
pages: xxii + 394
year: 1990
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
note: Not yet published.
acknowledgement: ack-nhfb
rawauthor: Joe R. Doupnik
rawnote: Not yet published.
rawtitle: The Making of {MS-DOS} Kermit
entry:
@Book{Doupnik:1990:MMK,
  author =       "Joe R. Doupnik",
  title =        "The Making of {MS-DOS} Kermit",
  publisher =    pub-DP,
  address =      pub-DP:adr,
  year =         "1990",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Not yet published.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Dowd:1993:HPC
author: Kevin Dowd
title: High Performance Computing
publisher: pub-ORA
address: pub-ORA:adr
pages: xxv + 371
year: 1993
ISBN: 1-56592-032-5 OR 1565920325
ISBN13: 978-1-56592-032-3 OR 9781565920323
LCCN: QA76.88 .D6 1993; QA76.9.A73 D68 1993
bibdate: Mon Jan 3 18:34:37 1994
bibtimestamp: 1994.01.03 18:34:37 ???
series: RISC architectures, optimization and benchmarks; A Nutshell handbook
URL: http://www.oreilly.com/catalog/9781565920323
acknowledgement: ack-nhfb
rawauthor: Kevin Dowd
rawtitle: High Performance Computing
bibsource:
https://www.math.utah.edu/pub/tex/bib/fortran3.bib; https://www.math.utah.edu/pub/tex/bib/fparith.bib; https://www.math.utah.edu/pub/tex/bib/hpfortran.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; z3950.loc.gov:7090/Voyager

subject:
Computer architecture; Electronic digital computers; Parallel processing (Electronic computers); Supercomputers

TOC:
Preface / xxi Who Should Buy This Book? / xxii What's in This Book / xxii Conventions / xxiv Acknowledgments / xxv 1 Modern Computer Architectures / 1 1: What is High Performance Computing? / 3 Why Worry About Performance? / 3 Measuring Performance / 5 The Next Step / 6 2: RISC Computers / 9 Why CISC? / 10 Space and Time / 10 Beliefs About Complex Instruction Sets / 11 Memory Addressing Modes / 12 Microcode / 14 Making the Most of a Clock Tick / 17 Pipelines / 18 Instruction Pipelining / 19 Why RISC? / 21 Characterizing RISC / 22 A Few More Words About Pipelining / 27 Memory References / 27 Floating Point Pipelines / 28 Classes of Processors / 29 Superscalar Processors / 30 Superpipelined Processors / 32 Long Instruction Word (LIW) / 34 Other Advanced Features / 35 Register Bypass / 36 Register Renaming / 36 Reducing Branch Penalties / 37 Closing Notes / 40 3: Memory / 43 Memory Technology / 44 Random Access Memory / 45 Access Time / 47 Caches / 48 Direct Mapped Cache / 50 Fully Associative Cache / 52 Set Associative Cache / 52 Uses of Cache / 54 Virtual Memory / 54 Page Tables / 55 Translation Lookaside Buffer / 56 Page Faults / 57 Improving Bandwidth / 59 Large Caches / 60 Interleaved Memory Systems / 60 Software Managed Caches / 64 Memory Reference Reordering / 64 Multiple References / 66 Closing Notes / 67 IL Porting and Tuning Software / 91 4: What an Optimizing Compiler Does / 69 Optimizing Compiler Tour / 70 Intermediate Language Representation / 70 Basic Blocks / 72 Forming a DAG / 74 Uses and Definitions / 76 Loops / 78 Object Code Generation / 80 Classical Optimizations / 81 Copy Propagation / 81 Constant Folding / 82 Dead Code Removal / 83 Strength Reduction / 84 Variable Renaming / 84 Common Subexpression Elimination / 85 Loop Invariant Code Motion / 86 Induction Variable Simplification / 87 Register Variable Detection / 88 Closing Notes / 88 5: Clarity / 93 Under Construction / 94 Comments / 94 Clues in the Landscape / 95 Variable Names / 96 Variable Types / 98 Named Constants / 99 INCLUDE Statements / 100 Use of COMMON / 101 The Shape of Data / 102 Closing Notes / 104 6: Finding Porting Problems / 105 Problems in Argument Lists / 106 Aliasing / 106 Argument Type Mismatch / 108 Storage Issues / 110 Equivalenced Storage / 111 Memory Reference Alignment Restrictions / 112 Closing Notes / 115 7: Timing and Profiling / 119 Timing / 120 Timing a Whole Program / 120 Timing a Portion of the Program / 124 Using Timing Information / 126 Subroutine Profiling / 127 prof / 130 gprof / 133 gprofs Flat Profile / 138 Accumulating the Results of Several gprof Runs / 139 A Few Words About Accuracy / 140 Basic Block Profilers / 140 tcov / 141 prof / 142 pixie / 143 Closing Notes / 144 8: Understanding Parallelism / 147 A Few Important Concepts / 148 Constants / 148 Scalars / 150 Vectors and Vector Processing / 150 Dependencies / 153 Data Dependencies / 154 Control Dependencies / 159 Ambiguous References / 161 Closing Notes / 162 9: Eliminating Clutter / 165 Subroutine Calls / 166 Macros / 168 Procedure Inlining / 170 Branches / 171 Wordy Conditionals / 171 Redundant Tests / 172 Branches Within Loops / 173 Loop Invariant Conditionals / 174 Loop Index Dependent Conditionals / 175 Independent Loop Conditionals / 176 Dependent Loop Conditionals / 177 Reductions / 178 Conditionals That Transfer Control / 179 A Few Words About Branch Probability / 180 Other Clutter / 181 Data Type Conversions / 181 Doing Your Own Common Subexpression Elimination / 182 Doing Your Own Code Motion / 183 Handling Array Elements in Loops / 184 Closing Notes / 185 10: Loop Optimizations / 187 Basic Loop Unrolling / 188 Qualifying Candidates for Loop Unrolling / 189 Loops with Low Trip Counts / 190 Fat Loops / 191 Loops Containing Procedure Calls / 191 Loops with Branches in Them / 193 Recursive Loops / 194 Negatives of Loop Unrolling / 195 Unrolling by the Wrong Factor / 196 Register Thrashing / 196 Instruction Cache Miss / 197 Other Hardware Delays / 197 Outer Loop Unrolling / 197 Outer Loop Unrolling to Expose Computations / 199 Associative Transformations / 200 Reductions / 202 Dot Products and daxpys / 204 Matrix Multiplication / 206 Loop Interchange / 208 Loop Interchange to Move Computations to the Center / 208 Operation Counting / 209 Closing Notes / 211 11: Memory Reference Optimizations / 213 Memory Access Patterns / 214 Loop Interchange to Ease Memory Access Patterns / 215 Blocking to Ease Memory Access Patterns / 216 Ambiguity in Memory References / 223 Ambiguity in Vector Operations / 224 Pointer Ambiguity in Numerical C Applications / 225 Programs That Require More Memory Than You Have / 227 Software-Managed, Out-of-Core Solutions / 227 Virtual Memory / 228 Instruction Cache Ordering / 231 Closing Notes / 232 12: Language Support for Performance / 235 Subroutine Libraries / 235 Vectorizing Preprocessors / 237 Explicitly Parallel Languages / 243 Fortran 90 / 244 High Performance Fortran (HPF) / 250 Explicitly Parallel Programming Environments / 251 Closing Notes / 253 1/L Evaluating Performance / 255 13: Industry Benchmarks / 257 What is a MIP? / 258 VAX MIPS / 259 Dhrystones / 259 Floating Point Benchmarks / 261 Linpack / 262 Whetstone / 264 The SPEC Benchmarks / 265 Individual SPEC Benchmarks / 266 030.matrix300 Was Deleted / 272 Transaction Processing Benchmarks / 272 TPC-A / 273 TPC-B / 273 TPC-C / 273 Closing Notes / 273 14: Running Your Own Benchmarks / 275 Choosing What to Benchmark / 275 Benchmark Run Time / 276 Benchmark Memory Size / 277 Kernels and Sanitized Benchmarks / 277 Benchmarking Third Party Codes / 278 Types of Benchmarks / 279 Single Stream Benchmarks / 280 Throughput Benchmarks / 282 Interactive Benchmarks / 283 Preparing the Code / 285 Portability / 285 Making a Benchmark Kit / 286 Benchmarking Checklist / 287 Closing Notes / 288 IV. Parallel Computing / 291 15: Large Scale Parallel Computing / 293 Problem Decomposition / 294 Data Decomposition / 295 Control Decomposition / 299 Distributing Work Fairly / 300 Classes of Parallel Architectures / 302 Single Instruction, Multiple Data / 303 SIMD Architecture / 305 Mechanics of Programming a SIMD Machine / 309 Multiple Instruction, Multiple Data / 312 Distributed Memory MIMD Architecture / 314 Programming a Distributed Memory MIMD Machine / 315 A Few Words About Data Layout Directives / 319 Virtual Shared Memory / 320 Closing Notes / 323 16: Shared-Memory Multiprocessors / 325 Symmetric Multiprocessing / 326 Operating System Support for Multiprocessing / 327 Multiprocessor Architecture / 329 Shared Memory / 330 Conservation of Bandwidth / 330 Coherency / 332 Data Placement / 334 Multiprocessor Software Concepts / 334 Fork and Join / 335 Synchronization with Locks / 337 Synchronization with Barriers / 340 Automatic Parallelization / 341 Loop Splitting / 341 Subroutine Calls in Loops / 342 Nested Loops / 342 Manual Parallelism / 344 Closing Notes / 345 A: Processor Overview / 347 B: How to Tell When Loops Can Be Interchanged / 351 C: Obtaining Sample Programs and Problem Set Answers / 357 FTP / 357 FTPMAIL / 358 BITFTP / 359 UUCP / 359 Figures 2: RISC Computers / 9 2-1 Registers, a single common data path, and an adder / 15 2-2 A pipeline / 18 2-3 Three instructions in flight through one pipeline / 20 2-4 Variable length instructions make pipelining difficult / 23 2-5 Variable length CISC versus fixed length RISC instructions / 23 2-6 Processor encounters a branch / 26 2-7 The Branch Delay Slot --- ZERO R3 executes either way / 27 2-8 Memory references scheduled early to account for pipeline depth / 28 2-9 Decomposing a serial stream / 30 2-10 RS/ 6000 functional blocks / 31 2-11 MIPS R4000 Instruction Pipeline / 33 2-12 Intel i860 transition between modes / 35 3: Memory / 43 3-1 Row--Column memory address / 46 3-2 Direct mapping of memory address to RAM / 46 3-3 Cache lines can come from different parts of memory / 49 3-4 Many memory addresses map to same cache line / 51 3-5 Two -way set associative cache / 53 3-6 Virtual to physical address mapping / 55 3-7 Simple memory system / 59 3-8 Page mode cache refill / 60 3-9 Multi-banked memory system / 62 3-10 Cache refill from interleaved memory / 63 4: What an Optimizing Compiler Does / 69 4-1 Example 4-1 divided into basic blocks / 73 4-2 Tuple mapped into a DAG / 74 4-3 Basic Block B / 75 4-4 DAG for Block B / 75 4-5 Revised Basic Block B / 76 4-6 Flow graph for data flow analysis / 77 4-7 Flow graph with a loop in it / 79 5: Clarity / 93 5-1 Array C in two -dimensional memory / 103 6: Finding Porting Problems / 105 6-1 IEEE 754 floating point formats / 109 6-2 IBM 370 floating point formats / 110 6-3 Equivalence storage relationship on most computers / 111 6-4 Misaligned variables / 113 7: Timing and Pro.filing / 119 7-1 The built-in csh time function / 123 7-2 Sharp profile --- dominated by routine 1 / 128 7-3 Flat profile --- no routine predominates / 129 7-4 Simple call graph / 134 7-5 FORTRAN example / 135 7-6 Quantization Errors in Profiling / 140 8: Understanding Parallelism / 147 8-1 Vector Computer / 152 8-2 A little section of your program / 159 8-3 Expensive operation moved so that it's rarely executed / 160 11: Memory Reference Optimizations / 213 11-1 Arrays A and B / 217 11-2 How array elements are stored / 218 11-3 2x2 squares / 219 11-4 Picture of unblocked versus blocked references / 220 11-5 Optimization performance for various sized loops / 222 11-6 Vector machine memory access / 223 12: Language Support for Performance / 235 12-1 Linda's Tuple Space Bulletin Board / 252 14: Running Your Own Benchmarks / 275 14-1 Kernel benchmark / 278 14-2 Single stream benchmarks / 280 14-3 Computing an overall benchmark score / 281 14-4 Wrong way to run a throughput benchmark / 282 14-5 Benchmark stone wall / 283 14-6 Interactive use benchmark / 284 15: Large Scale Parallel Computing / 293 15-1 Domain decomposition / 295 15-2 Cells with X's have life / 296 15-3 One iteration later / 297 15-4 Two examples of division of cells between four CPUs / 298 15-5 Each processor with a piece of the domain / 300 15-6 Duplicated data domain / 301 15-7 Iterations mapped onto SIMD nodes / 304 15-8 Mapping a route through a strictly Cartesian mesh / 306 15-9 Four nodes / 307 15-10 A 3-cube and a 4-cube / 307 15-11 Front-end and SIMD machine / 309 15-12 KSR-1 ring of rings architecture / 322 16: Shared-Memory Multiprocessors / 325 16-1 A typical bus architecture / 329 16-2 A $4 times 4$ crossbar / 330 16-3 High cache hit rate reduces main memory traffic / 331 16-4 Multiple copies of variable A / 332 16-5 Fork and join / 335 16-6 Integration / 337 16-7 Implementation of a spinlock / 339 B: How to Tell When Loops Can Be Interchanged / 351 B-1 $4 times 4$ matrix / 352 B-2 One iteration complete / 353 B-3 All iterations completed / 354 B-4 Movement of data in array A / 355 Examples 4: What an Optimizing Compiler Does / 69 4-1 Intermediate Language for a Single Loop / 72 5: Clarity / 93 5-1 Comments, asterisks, and pretty printing / 95 5-2 Variable names count / 97 5-3 Parameter statements 5-4 Declarations / 100 5-5 Routine using both INCLUDE files / 100 5-6 Changing the Shape of an Array / 100 / 102 6: Finding Porting Problems / 105 6-1 Program for creating misaligned references 6-2 Misaligned reference in C / 114 / 115 7: Timing and Profiling / 119 7-1 FORTRAN program using etime / 125 7-2 etime implemented in C / 126 7-3 loops.c --- a program for testing profilers / 131 7-4 Profile of loops.c / 132 7-5 A portion of gprof output / 135 7-6 gprof flat profile / 138 8: Understanding Parallelism / 147 8-1 Vector Addition / 150 9: Eliminating Clutter / 165 9-1 Macro definition and use / 168 10: Loop Optimizations / 187 10-1 Loop containing a procedure call / 192 10-2 Matrix multiply with daxpy inner loop / 206 10-3 Matrix multiply with dot product inner loop / 206 11: Memory Reference Optimizations / 213 11-1 Two-dimensional vector sum / 216 11-2 Outer and inner loop unrolled / 217 B: How to Tell When Loops Can Be Interchanged / 351 B-1 Each iteration is independent / 351 B-2 Can we interchange these loops? / 352 B-3 Legal alternate loop nests / 354 B-4 More complicated references / 355 B-5 More complicated references / 356 Tables 6: Finding Porting Problems / 105 6-1 Preferred Alignment Boundaries on Most Computers / 113 15: Large Scale Parallel Computing / 293 15-1 Worst Case Communication / 308 A: Processor Overview / 347 A-1 CPU Characteristics / 347 A-2 Cache and Branch Architecture / 348 A-2 Cache and Branch Architecture (continued) / 349

rawTOC:
Preface / xxi \\ Who Should Buy This Book? / xxii \\ What's in This Book / xxii \\ Conventions / xxiv \\ Acknowledgments / xxv \\ 1 Modern Computer Architectures / 1 \\ 1: What is High Performance Computing? / 3 \\ Why Worry About Performance? / 3 \\ Measuring Performance / 5 \\ The Next Step / 6 \\ 2: RISC Computers / 9 \\ Why CISC? / 10 \\ Space and Time / 10 \\ Beliefs About Complex Instruction Sets / 11 \\ Memory Addressing Modes / 12 \\ Microcode / 14 \\ Making the Most of a Clock Tick / 17 \\ Pipelines / 18 \\ Instruction Pipelining / 19 \\ Why RISC? / 21 \\ Characterizing RISC / 22 \\ A Few More Words About Pipelining / 27 \\ Memory References / 27 \\ Floating Point Pipelines / 28 \\ Classes of Processors / 29 \\ Superscalar Processors / 30 \\ Superpipelined Processors / 32 \\ Long Instruction Word (LIW) / 34 \\ Other Advanced Features / 35 \\ Register Bypass / 36 \\ Register Renaming / 36 \\ Reducing Branch Penalties / 37 \\ Closing Notes / 40 \\ 3: Memory / 43 \\ Memory Technology / 44 \\ Random Access Memory / 45 \\ Access Time / 47 \\ Caches / 48 \\ Direct Mapped Cache / 50 \\ Fully Associative Cache / 52 \\ Set Associative Cache / 52 \\ Uses of Cache / 54 \\ Virtual Memory / 54 \\ Page Tables / 55 \\ Translation Lookaside Buffer / 56 \\ Page Faults / 57 \\ Improving Bandwidth / 59 \\ Large Caches / 60 \\ Interleaved Memory Systems / 60 \\ Software Managed Caches / 64 \\ Memory Reference Reordering / 64 \\ Multiple References / 66 \\ Closing Notes / 67 \\ IL Porting and Tuning Software / 91 \\ 4: What an Optimizing Compiler Does / 69 \\ Optimizing Compiler Tour / 70 \\ Intermediate Language Representation / 70 \\ Basic Blocks / 72 \\ Forming a DAG / 74 \\ Uses and Definitions / 76 \\ Loops / 78 \\ Object Code Generation / 80 \\ Classical Optimizations / 81 \\ Copy Propagation / 81 \\ Constant Folding / 82 \\ Dead Code Removal / 83 \\ Strength Reduction / 84 \\ Variable Renaming / 84 \\ Common Subexpression Elimination / 85 \\ Loop Invariant Code Motion / 86 \\ Induction Variable Simplification / 87 \\ Register Variable Detection / 88 \\ Closing Notes / 88 \\ 5: Clarity / 93 \\ Under Construction / 94 \\ Comments / 94 \\ Clues in the Landscape / 95 \\ Variable Names / 96 \\ Variable Types / 98 \\ Named Constants / 99 \\ INCLUDE Statements / 100 \\ Use of COMMON / 101 \\ The Shape of Data / 102 \\ Closing Notes / 104 \\ 6: Finding Porting Problems / 105 \\ Problems in Argument Lists / 106 \\ Aliasing / 106 \\ Argument Type Mismatch / 108 \\ Storage Issues / 110 \\ Equivalenced Storage / 111 \\ Memory Reference Alignment Restrictions / 112 \\ Closing Notes / 115 \\ 7: Timing and Profiling / 119 \\ Timing / 120 \\ Timing a Whole Program / 120 \\ Timing a Portion of the Program / 124 \\ Using Timing Information / 126 \\ Subroutine Profiling / 127 \\ prof / 130 \\ gprof / 133 \\ gprofs Flat Profile / 138 \\ Accumulating the Results of Several gprof Runs / 139 \\ A Few Words About Accuracy / 140 \\ Basic Block Profilers / 140 \\ tcov / 141 \\ prof / 142 \\ pixie / 143 \\ Closing Notes / 144 \\ 8: Understanding Parallelism / 147 \\ A Few Important Concepts / 148 \\ Constants / 148 \\ Scalars / 150 \\ Vectors and Vector Processing / 150 \\ Dependencies / 153 \\ Data Dependencies / 154 \\ Control Dependencies / 159 \\ Ambiguous References / 161 \\ Closing Notes / 162 \\ 9: Eliminating Clutter / 165 \\ Subroutine Calls / 166 \\ Macros / 168 \\ Procedure Inlining / 170 \\ Branches / 171 \\ Wordy Conditionals / 171 \\ Redundant Tests / 172 \\ Branches Within Loops / 173 \\ Loop Invariant Conditionals / 174 \\ Loop Index Dependent Conditionals / 175 \\ Independent Loop Conditionals / 176 \\ Dependent Loop Conditionals / 177 \\ Reductions / 178 \\ Conditionals That Transfer Control / 179 \\ A Few Words About Branch Probability / 180 \\ Other Clutter / 181 \\ Data Type Conversions / 181 \\ Doing Your Own Common Subexpression Elimination / 182 \\ Doing Your Own Code Motion / 183 \\ Handling Array Elements in Loops / 184 \\ Closing Notes / 185 \\ 10: Loop Optimizations / 187 \\ Basic Loop Unrolling / 188 \\ Qualifying Candidates for Loop Unrolling / 189 \\ Loops with Low Trip Counts / 190 \\ Fat Loops / 191 \\ Loops Containing Procedure Calls / 191 \\ Loops with Branches in Them / 193 \\ Recursive Loops / 194 \\ Negatives of Loop Unrolling / 195 \\ Unrolling by the Wrong Factor / 196 \\ Register Thrashing / 196 \\ Instruction Cache Miss / 197 \\ Other Hardware Delays / 197 \\ Outer Loop Unrolling / 197 \\ Outer Loop Unrolling to Expose Computations / 199 \\ Associative Transformations / 200 \\ Reductions / 202 \\ Dot Products and daxpys / 204 \\ Matrix Multiplication / 206 \\ Loop Interchange / 208 \\ Loop Interchange to Move Computations to the Center / 208 \\ Operation Counting / 209 \\ Closing Notes / 211 \\ 11: Memory Reference Optimizations / 213 \\ Memory Access Patterns / 214 \\ Loop Interchange to Ease Memory Access Patterns / 215 \\ Blocking to Ease Memory Access Patterns / 216 \\ Ambiguity in Memory References / 223 \\ Ambiguity in Vector Operations / 224 \\ Pointer Ambiguity in Numerical C Applications / 225 \\ Programs That Require More Memory Than You Have / 227 \\ Software-Managed, Out-of-Core Solutions / 227 \\ Virtual Memory / 228 \\ Instruction Cache Ordering / 231 \\ Closing Notes / 232 \\ 12: Language Support for Performance / 235 \\ Subroutine Libraries / 235 \\ Vectorizing Preprocessors / 237 \\ Explicitly Parallel Languages / 243 \\ Fortran 90 / 244 \\ High Performance Fortran (HPF) / 250 \\ Explicitly Parallel Programming Environments / 251 \\ Closing Notes / 253 \\ 1/L Evaluating Performance / 255 \\ 13: Industry Benchmarks / 257 \\ What is a MIP? / 258 \\ VAX MIPS / 259 \\ Dhrystones / 259 \\ Floating Point Benchmarks / 261 \\ Linpack / 262 \\ Whetstone / 264 \\ The SPEC Benchmarks / 265 \\ Individual SPEC Benchmarks / 266 \\ 030.matrix300 Was Deleted / 272 \\ Transaction Processing Benchmarks / 272 \\ TPC-A / 273 \\ TPC-B / 273 \\ TPC-C / 273 \\ Closing Notes / 273 \\ 14: Running Your Own Benchmarks / 275 \\ Choosing What to Benchmark / 275 \\ Benchmark Run Time / 276 \\ Benchmark Memory Size / 277 \\ Kernels and Sanitized Benchmarks / 277 \\ Benchmarking Third Party Codes / 278 \\ Types of Benchmarks / 279 \\ Single Stream Benchmarks / 280 \\ Throughput Benchmarks / 282 \\ Interactive Benchmarks / 283 \\ Preparing the Code / 285 \\ Portability / 285 \\ Making a Benchmark Kit / 286 \\ Benchmarking Checklist / 287 \\ Closing Notes / 288 \\ IV. Parallel Computing / 291 \\ 15: Large Scale Parallel Computing / 293 \\ Problem Decomposition / 294 \\ Data Decomposition / 295 \\ Control Decomposition / 299 \\ Distributing Work Fairly / 300 \\ Classes of Parallel Architectures / 302 \\ Single Instruction, Multiple Data / 303 \\ SIMD Architecture / 305 \\ Mechanics of Programming a SIMD Machine / 309 \\ Multiple Instruction, Multiple Data / 312 \\ Distributed Memory MIMD Architecture / 314 \\ Programming a Distributed Memory MIMD Machine / 315 \\ A Few Words About Data Layout Directives / 319 \\ Virtual Shared Memory / 320 \\ Closing Notes / 323 \\ 16: Shared-Memory Multiprocessors / 325 \\ Symmetric Multiprocessing / 326 \\ Operating System Support for Multiprocessing / 327 \\ Multiprocessor Architecture / 329 \\ Shared Memory / 330 \\ Conservation of Bandwidth / 330 \\ Coherency / 332 \\ Data Placement / 334 \\ Multiprocessor Software Concepts / 334 \\ Fork and Join / 335 \\ Synchronization with Locks / 337 \\ Synchronization with Barriers / 340 \\ Automatic Parallelization / 341 \\ Loop Splitting / 341 \\ Subroutine Calls in Loops / 342 \\ Nested Loops / 342 \\ Manual Parallelism / 344 \\ Closing Notes / 345 \\ A: Processor Overview / 347 \\ B: How to Tell When Loops Can Be Interchanged / 351 \\ C: Obtaining Sample Programs and Problem Set Answers / 357 \\ FTP / 357 \\ FTPMAIL / 358 \\ BITFTP / 359 \\ UUCP / 359 \\ Figures \\ 2: RISC Computers / 9 \\ 2-1 Registers, a single common data path, and an adder / 15 \\ 2-2 A pipeline / 18 \\ 2-3 Three instructions in flight through one pipeline / 20 \\ 2-4 Variable length instructions make pipelining difficult / 23 \\ 2-5 Variable length CISC versus fixed length RISC instructions / 23 \\ 2-6 Processor encounters a branch / 26 \\ 2-7 The Branch Delay Slot --- ZERO R3 executes either way / 27 \\ 2-8 Memory references scheduled early to account for pipeline depth / 28 \\ 2-9 Decomposing a serial stream / 30 \\ 2-10 RS/ 6000 functional blocks / 31 \\ 2-11 MIPS R4000 Instruction Pipeline / 33 \\ 2-12 Intel i860 transition between modes / 35 \\ 3: Memory / 43 \\ 3-1 Row--Column memory address / 46 \\ 3-2 Direct mapping of memory address to RAM / 46 \\ 3-3 Cache lines can come from different parts of memory / 49 \\ 3-4 Many memory addresses map to same cache line / 51 \\ 3-5 Two -way set associative cache / 53 \\ 3-6 Virtual to physical address mapping / 55 \\ 3-7 Simple memory system / 59 \\ 3-8 Page mode cache refill / 60 \\ 3-9 Multi-banked memory system / 62 \\ 3-10 Cache refill from interleaved memory / 63 \\ 4: What an Optimizing Compiler Does / 69 \\ 4-1 Example 4-1 divided into basic blocks / 73 \\ 4-2 Tuple mapped into a DAG / 74 \\ 4-3 Basic Block B / 75 \\ 4-4 DAG for Block B / 75 \\ 4-5 Revised Basic Block B / 76 \\ 4-6 Flow graph for data flow analysis / 77 \\ 4-7 Flow graph with a loop in it / 79 \\ 5: Clarity / 93 \\ 5-1 Array C in two -dimensional memory / 103 \\ 6: Finding Porting Problems / 105 \\ 6-1 IEEE 754 floating point formats / 109 \\ 6-2 IBM 370 floating point formats / 110 \\ 6-3 Equivalence storage relationship on most computers / 111 \\ 6-4 Misaligned variables / 113 \\ 7: Timing and Pro.filing / 119 \\ 7-1 The built-in csh time function / 123 \\ 7-2 Sharp profile --- dominated by routine 1 / 128 \\ 7-3 Flat profile --- no routine predominates / 129 \\ 7-4 Simple call graph / 134 \\ 7-5 FORTRAN example / 135 \\ 7-6 Quantization Errors in Profiling / 140 \\ 8: Understanding Parallelism / 147 \\ 8-1 Vector Computer / 152 \\ 8-2 A little section of your program / 159 \\ 8-3 Expensive operation moved so that it's rarely executed / 160 \\ 11: Memory Reference Optimizations / 213 \\ 11-1 Arrays A and B / 217 \\ 11-2 How array elements are stored / 218 \\ 11-3 2x2 squares / 219 \\ 11-4 Picture of unblocked versus blocked references / 220 \\ 11-5 Optimization performance for various sized loops / 222 \\ 11-6 Vector machine memory access / 223 \\ 12: Language Support for Performance / 235 \\ 12-1 Linda's Tuple Space Bulletin Board / 252 \\ 14: Running Your Own Benchmarks / 275 \\ 14-1 Kernel benchmark / 278 \\ 14-2 Single stream benchmarks / 280 \\ 14-3 Computing an overall benchmark score / 281 \\ 14-4 Wrong way to run a throughput benchmark / 282 \\ 14-5 Benchmark stone wall / 283 \\ 14-6 Interactive use benchmark / 284 \\ 15: Large Scale Parallel Computing / 293 \\ 15-1 Domain decomposition / 295 \\ 15-2 Cells with X's have life / 296 \\ 15-3 One iteration later / 297 \\ 15-4 Two examples of division of cells between four CPUs / 298 \\ 15-5 Each processor with a piece of the domain / 300 \\ 15-6 Duplicated data domain / 301 \\ 15-7 Iterations mapped onto SIMD nodes / 304 \\ 15-8 Mapping a route through a strictly Cartesian mesh / 306 \\ 15-9 Four nodes / 307 \\ 15-10 A 3-cube and a 4-cube / 307 \\ 15-11 Front-end and SIMD machine / 309 \\ 15-12 KSR-1 ring of rings architecture / 322 \\ 16: Shared-Memory Multiprocessors / 325 \\ 16-1 A typical bus architecture / 329 \\ 16-2 A $4 \times 4$ crossbar / 330 \\ 16-3 High cache hit rate reduces main memory traffic / 331 \\ 16-4 Multiple copies of variable A / 332 \\ 16-5 Fork and join / 335 \\ 16-6 Integration / 337 \\ 16-7 Implementation of a spinlock / 339 \\ B: How to Tell When Loops Can Be Interchanged / 351 \\ B-1 $4 \times 4$ matrix / 352 \\ B-2 One iteration complete / 353 \\ B-3 All iterations completed / 354 \\ B-4 Movement of data in array A / 355 \\ Examples \\ 4: What an Optimizing Compiler Does / 69 \\ 4-1 Intermediate Language for a Single Loop / 72 \\ 5: Clarity / 93 \\ 5-1 Comments, asterisks, and pretty printing / 95 \\ 5-2 Variable names count / 97 \\ 5-3 Parameter statements \\ 5-4 Declarations / 100 \\ 5-5 Routine using both INCLUDE files / 100 \\ 5-6 Changing the Shape of an Array / 100 \\ / 102 \\ 6: Finding Porting Problems / 105 \\ 6-1 Program for creating misaligned references \\ 6-2 Misaligned reference in C / 114 \\ / 115 \\ 7: Timing and Profiling / 119 \\ 7-1 FORTRAN program using etime / 125 \\ 7-2 etime implemented in C / 126 \\ 7-3 loops.c --- a program for testing profilers / 131 \\ 7-4 Profile of loops.c / 132 \\ 7-5 A portion of gprof output / 135 \\ 7-6 gprof flat profile / 138 \\ 8: Understanding Parallelism / 147 \\ 8-1 Vector Addition / 150 \\ 9: Eliminating Clutter / 165 \\ 9-1 Macro definition and use / 168 \\ 10: Loop Optimizations / 187 \\ 10-1 Loop containing a procedure call / 192 \\ 10-2 Matrix multiply with daxpy inner loop / 206 \\ 10-3 Matrix multiply with dot product inner loop / 206 \\ 11: Memory Reference Optimizations / 213 \\ 11-1 Two-dimensional vector sum / 216 \\ 11-2 Outer and inner loop unrolled / 217 \\ B: How to Tell When Loops Can Be Interchanged / 351 \\ B-1 Each iteration is independent / 351 \\ B-2 Can we interchange these loops? / 352 \\ B-3 Legal alternate loop nests / 354 \\ B-4 More complicated references / 355 \\ B-5 More complicated references / 356 \\ Tables \\ 6: Finding Porting Problems / 105 \\ 6-1 Preferred Alignment Boundaries on Most Computers / 113 \\ 15: Large Scale Parallel Computing / 293 \\ 15-1 Worst Case Communication / 308 \\ A: Processor Overview / 347 \\ A-1 CPU Characteristics / 347 \\ A-2 Cache and Branch Architecture / 348 \\ A-2 Cache and Branch Architecture (continued) / 349

entry:
@Book{Dowd:1993:HPC,
  author =       "Kevin Dowd",
  title =        "High Performance Computing",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxv + 371",
  year =         "1993",
  ISBN =         "1-56592-032-5",
  ISBN-13 =      "978-1-56592-032-3",
  LCCN =         "QA76.88 .D6 1993; QA76.9.A73 D68 1993",
  bibdate =      "Mon Jan 3 18:34:37 1994",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 https://www.math.utah.edu/pub/tex/bib/hpfortran.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$25.95",
  series =       "RISC architectures, optimization and benchmarks; A
                 Nutshell handbook",
  URL =          "http://www.oreilly.com/catalog/9781565920323",
  acknowledgement = ack-nhfb,
  subject =      "Computer architecture; Electronic digital computers;
                 Parallel processing (Electronic computers);
                 Supercomputers",
  tableofcontents = "Preface / xxi \\
                 Who Should Buy This Book? / xxii \\
                 What's in This Book / xxii \\
                 Conventions / xxiv \\
                 Acknowledgments / xxv \\
                 1 Modern Computer Architectures / 1 \\
                 1: What is High Performance Computing? / 3 \\
                 Why Worry About Performance? / 3 \\
                 Measuring Performance / 5 \\
                 The Next Step / 6 \\
                 2: RISC Computers / 9 \\
                 Why CISC? / 10 \\
                 Space and Time / 10 \\
                 Beliefs About Complex Instruction Sets / 11 \\
                 Memory Addressing Modes / 12 \\
                 Microcode / 14 \\
                 Making the Most of a Clock Tick / 17 \\
                 Pipelines / 18 \\
                 Instruction Pipelining / 19 \\
                 Why RISC? / 21 \\
                 Characterizing RISC / 22 \\
                 A Few More Words About Pipelining / 27 \\
                 Memory References / 27 \\
                 Floating Point Pipelines / 28 \\
                 Classes of Processors / 29 \\
                 Superscalar Processors / 30 \\
                 Superpipelined Processors / 32 \\
                 Long Instruction Word (LIW) / 34 \\
                 Other Advanced Features / 35 \\
                 Register Bypass / 36 \\
                 Register Renaming / 36 \\
                 Reducing Branch Penalties / 37 \\
                 Closing Notes / 40 \\
                 3: Memory / 43 \\
                 Memory Technology / 44 \\
                 Random Access Memory / 45 \\
                 Access Time / 47 \\
                 Caches / 48 \\
                 Direct Mapped Cache / 50 \\
                 Fully Associative Cache / 52 \\
                 Set Associative Cache / 52 \\
                 Uses of Cache / 54 \\
                 Virtual Memory / 54 \\
                 Page Tables / 55 \\
                 Translation Lookaside Buffer / 56 \\
                 Page Faults / 57 \\
                 Improving Bandwidth / 59 \\
                 Large Caches / 60 \\
                 Interleaved Memory Systems / 60 \\
                 Software Managed Caches / 64 \\
                 Memory Reference Reordering / 64 \\
                 Multiple References / 66 \\
                 Closing Notes / 67 \\
                 IL Porting and Tuning Software / 91 \\
                 4: What an Optimizing Compiler Does / 69 \\
                 Optimizing Compiler Tour / 70 \\
                 Intermediate Language Representation / 70 \\
                 Basic Blocks / 72 \\
                 Forming a DAG / 74 \\
                 Uses and Definitions / 76 \\
                 Loops / 78 \\
                 Object Code Generation / 80 \\
                 Classical Optimizations / 81 \\
                 Copy Propagation / 81 \\
                 Constant Folding / 82 \\
                 Dead Code Removal / 83 \\
                 Strength Reduction / 84 \\
                 Variable Renaming / 84 \\
                 Common Subexpression Elimination / 85 \\
                 Loop Invariant Code Motion / 86 \\
                 Induction Variable Simplification / 87 \\
                 Register Variable Detection / 88 \\
                 Closing Notes / 88 \\
                 5: Clarity / 93 \\
                 Under Construction / 94 \\
                 Comments / 94 \\
                 Clues in the Landscape / 95 \\
                 Variable Names / 96 \\
                 Variable Types / 98 \\
                 Named Constants / 99 \\
                 INCLUDE Statements / 100 \\
                 Use of COMMON / 101 \\
                 The Shape of Data / 102 \\
                 Closing Notes / 104 \\
                 6: Finding Porting Problems / 105 \\
                 Problems in Argument Lists / 106 \\
                 Aliasing / 106 \\
                 Argument Type Mismatch / 108 \\
                 Storage Issues / 110 \\
                 Equivalenced Storage / 111 \\
                 Memory Reference Alignment Restrictions / 112 \\
                 Closing Notes / 115 \\
                 7: Timing and Profiling / 119 \\
                 Timing / 120 \\
                 Timing a Whole Program / 120 \\
                 Timing a Portion of the Program / 124 \\
                 Using Timing Information / 126 \\
                 Subroutine Profiling / 127 \\
                 prof / 130 \\
                 gprof / 133 \\
                 gprofs Flat Profile / 138 \\
                 Accumulating the Results of Several gprof Runs / 139
                 \\
                 A Few Words About Accuracy / 140 \\
                 Basic Block Profilers / 140 \\
                 tcov / 141 \\
                 prof / 142 \\
                 pixie / 143 \\
                 Closing Notes / 144 \\
                 8: Understanding Parallelism / 147 \\
                 A Few Important Concepts / 148 \\
                 Constants / 148 \\
                 Scalars / 150 \\
                 Vectors and Vector Processing / 150 \\
                 Dependencies / 153 \\
                 Data Dependencies / 154 \\
                 Control Dependencies / 159 \\
                 Ambiguous References / 161 \\
                 Closing Notes / 162 \\
                 9: Eliminating Clutter / 165 \\
                 Subroutine Calls / 166 \\
                 Macros / 168 \\
                 Procedure Inlining / 170 \\
                 Branches / 171 \\
                 Wordy Conditionals / 171 \\
                 Redundant Tests / 172 \\
                 Branches Within Loops / 173 \\
                 Loop Invariant Conditionals / 174 \\
                 Loop Index Dependent Conditionals / 175 \\
                 Independent Loop Conditionals / 176 \\
                 Dependent Loop Conditionals / 177 \\
                 Reductions / 178 \\
                 Conditionals That Transfer Control / 179 \\
                 A Few Words About Branch Probability / 180 \\
                 Other Clutter / 181 \\
                 Data Type Conversions / 181 \\
                 Doing Your Own Common Subexpression Elimination / 182
                 \\
                 Doing Your Own Code Motion / 183 \\
                 Handling Array Elements in Loops / 184 \\
                 Closing Notes / 185 \\
                 10: Loop Optimizations / 187 \\
                 Basic Loop Unrolling / 188 \\
                 Qualifying Candidates for Loop Unrolling / 189 \\
                 Loops with Low Trip Counts / 190 \\
                 Fat Loops / 191 \\
                 Loops Containing Procedure Calls / 191 \\
                 Loops with Branches in Them / 193 \\
                 Recursive Loops / 194 \\
                 Negatives of Loop Unrolling / 195 \\
                 Unrolling by the Wrong Factor / 196 \\
                 Register Thrashing / 196 \\
                 Instruction Cache Miss / 197 \\
                 Other Hardware Delays / 197 \\
                 Outer Loop Unrolling / 197 \\
                 Outer Loop Unrolling to Expose Computations / 199 \\
                 Associative Transformations / 200 \\
                 Reductions / 202 \\
                 Dot Products and daxpys / 204 \\
                 Matrix Multiplication / 206 \\
                 Loop Interchange / 208 \\
                 Loop Interchange to Move Computations to the Center /
                 208 \\
                 Operation Counting / 209 \\
                 Closing Notes / 211 \\
                 11: Memory Reference Optimizations / 213 \\
                 Memory Access Patterns / 214 \\
                 Loop Interchange to Ease Memory Access Patterns / 215
                 \\
                 Blocking to Ease Memory Access Patterns / 216 \\
                 Ambiguity in Memory References / 223 \\
                 Ambiguity in Vector Operations / 224 \\
                 Pointer Ambiguity in Numerical C Applications / 225 \\
                 Programs That Require More Memory Than You Have / 227
                 \\
                 Software-Managed, Out-of-Core Solutions / 227 \\
                 Virtual Memory / 228 \\
                 Instruction Cache Ordering / 231 \\
                 Closing Notes / 232 \\
                 12: Language Support for Performance / 235 \\
                 Subroutine Libraries / 235 \\
                 Vectorizing Preprocessors / 237 \\
                 Explicitly Parallel Languages / 243 \\
                 Fortran 90 / 244 \\
                 High Performance Fortran (HPF) / 250 \\
                 Explicitly Parallel Programming Environments / 251 \\
                 Closing Notes / 253 \\
                 1/L Evaluating Performance / 255 \\
                 13: Industry Benchmarks / 257 \\
                 What is a MIP? / 258 \\
                 VAX MIPS / 259 \\
                 Dhrystones / 259 \\
                 Floating Point Benchmarks / 261 \\
                 Linpack / 262 \\
                 Whetstone / 264 \\
                 The SPEC Benchmarks / 265 \\
                 Individual SPEC Benchmarks / 266 \\
                 030.matrix300 Was Deleted / 272 \\
                 Transaction Processing Benchmarks / 272 \\
                 TPC-A / 273 \\
                 TPC-B / 273 \\
                 TPC-C / 273 \\
                 Closing Notes / 273 \\
                 14: Running Your Own Benchmarks / 275 \\
                 Choosing What to Benchmark / 275 \\
                 Benchmark Run Time / 276 \\
                 Benchmark Memory Size / 277 \\
                 Kernels and Sanitized Benchmarks / 277 \\
                 Benchmarking Third Party Codes / 278 \\
                 Types of Benchmarks / 279 \\
                 Single Stream Benchmarks / 280 \\
                 Throughput Benchmarks / 282 \\
                 Interactive Benchmarks / 283 \\
                 Preparing the Code / 285 \\
                 Portability / 285 \\
                 Making a Benchmark Kit / 286 \\
                 Benchmarking Checklist / 287 \\
                 Closing Notes / 288 \\
                 IV. Parallel Computing / 291 \\
                 15: Large Scale Parallel Computing / 293 \\
                 Problem Decomposition / 294 \\
                 Data Decomposition / 295 \\
                 Control Decomposition / 299 \\
                 Distributing Work Fairly / 300 \\
                 Classes of Parallel Architectures / 302 \\
                 Single Instruction, Multiple Data / 303 \\
                 SIMD Architecture / 305 \\
                 Mechanics of Programming a SIMD Machine / 309 \\
                 Multiple Instruction, Multiple Data / 312 \\
                 Distributed Memory MIMD Architecture / 314 \\
                 Programming a Distributed Memory MIMD Machine / 315 \\
                 A Few Words About Data Layout Directives / 319 \\
                 Virtual Shared Memory / 320 \\
                 Closing Notes / 323 \\
                 16: Shared-Memory Multiprocessors / 325 \\
                 Symmetric Multiprocessing / 326 \\
                 Operating System Support for Multiprocessing / 327 \\
                 Multiprocessor Architecture / 329 \\
                 Shared Memory / 330 \\
                 Conservation of Bandwidth / 330 \\
                 Coherency / 332 \\
                 Data Placement / 334 \\
                 Multiprocessor Software Concepts / 334 \\
                 Fork and Join / 335 \\
                 Synchronization with Locks / 337 \\
                 Synchronization with Barriers / 340 \\
                 Automatic Parallelization / 341 \\
                 Loop Splitting / 341 \\
                 Subroutine Calls in Loops / 342 \\
                 Nested Loops / 342 \\
                 Manual Parallelism / 344 \\
                 Closing Notes / 345 \\
                 A: Processor Overview / 347 \\
                 B: How to Tell When Loops Can Be Interchanged / 351 \\
                 C: Obtaining Sample Programs and Problem Set Answers /
                 357 \\
                 FTP / 357 \\
                 FTPMAIL / 358 \\
                 BITFTP / 359 \\
                 UUCP / 359 \\
                 Figures \\
                 2: RISC Computers / 9 \\
                 2-1 Registers, a single common data path, and an adder
                 / 15 \\
                 2-2 A pipeline / 18 \\
                 2-3 Three instructions in flight through one pipeline /
                 20 \\
                 2-4 Variable length instructions make pipelining
                 difficult / 23 \\
                 2-5 Variable length CISC versus fixed length RISC
                 instructions / 23 \\
                 2-6 Processor encounters a branch / 26 \\
                 2-7 The Branch Delay Slot --- ZERO R3 executes either
                 way / 27 \\
                 2-8 Memory references scheduled early to account for
                 pipeline depth / 28 \\
                 2-9 Decomposing a serial stream / 30 \\
                 2-10 RS/ 6000 functional blocks / 31 \\
                 2-11 MIPS R4000 Instruction Pipeline / 33 \\
                 2-12 Intel i860 transition between modes / 35 \\
                 3: Memory / 43 \\
                 3-1 Row--Column memory address / 46 \\
                 3-2 Direct mapping of memory address to RAM / 46 \\
                 3-3 Cache lines can come from different parts of memory
                 / 49 \\
                 3-4 Many memory addresses map to same cache line / 51
                 \\
                 3-5 Two -way set associative cache / 53 \\
                 3-6 Virtual to physical address mapping / 55 \\
                 3-7 Simple memory system / 59 \\
                 3-8 Page mode cache refill / 60 \\
                 3-9 Multi-banked memory system / 62 \\
                 3-10 Cache refill from interleaved memory / 63 \\
                 4: What an Optimizing Compiler Does / 69 \\
                 4-1 Example 4-1 divided into basic blocks / 73 \\
                 4-2 Tuple mapped into a DAG / 74 \\
                 4-3 Basic Block B / 75 \\
                 4-4 DAG for Block B / 75 \\
                 4-5 Revised Basic Block B / 76 \\
                 4-6 Flow graph for data flow analysis / 77 \\
                 4-7 Flow graph with a loop in it / 79 \\
                 5: Clarity / 93 \\
                 5-1 Array C in two -dimensional memory / 103 \\
                 6: Finding Porting Problems / 105 \\
                 6-1 IEEE 754 floating point formats / 109 \\
                 6-2 IBM 370 floating point formats / 110 \\
                 6-3 Equivalence storage relationship on most computers
                 / 111 \\
                 6-4 Misaligned variables / 113 \\
                 7: Timing and Pro.filing / 119 \\
                 7-1 The built-in csh time function / 123 \\
                 7-2 Sharp profile --- dominated by routine 1 / 128 \\
                 7-3 Flat profile --- no routine predominates / 129 \\
                 7-4 Simple call graph / 134 \\
                 7-5 FORTRAN example / 135 \\
                 7-6 Quantization Errors in Profiling / 140 \\
                 8: Understanding Parallelism / 147 \\
                 8-1 Vector Computer / 152 \\
                 8-2 A little section of your program / 159 \\
                 8-3 Expensive operation moved so that it's rarely
                 executed / 160 \\
                 11: Memory Reference Optimizations / 213 \\
                 11-1 Arrays A and B / 217 \\
                 11-2 How array elements are stored / 218 \\
                 11-3 2x2 squares / 219 \\
                 11-4 Picture of unblocked versus blocked references /
                 220 \\
                 11-5 Optimization performance for various sized loops /
                 222 \\
                 11-6 Vector machine memory access / 223 \\
                 12: Language Support for Performance / 235 \\
                 12-1 Linda's Tuple Space Bulletin Board / 252 \\
                 14: Running Your Own Benchmarks / 275 \\
                 14-1 Kernel benchmark / 278 \\
                 14-2 Single stream benchmarks / 280 \\
                 14-3 Computing an overall benchmark score / 281 \\
                 14-4 Wrong way to run a throughput benchmark / 282 \\
                 14-5 Benchmark stone wall / 283 \\
                 14-6 Interactive use benchmark / 284 \\
                 15: Large Scale Parallel Computing / 293 \\
                 15-1 Domain decomposition / 295 \\
                 15-2 Cells with X's have life / 296 \\
                 15-3 One iteration later / 297 \\
                 15-4 Two examples of division of cells between four
                 CPUs / 298 \\
                 15-5 Each processor with a piece of the domain / 300
                 \\
                 15-6 Duplicated data domain / 301 \\
                 15-7 Iterations mapped onto SIMD nodes / 304 \\
                 15-8 Mapping a route through a strictly Cartesian mesh
                 / 306 \\
                 15-9 Four nodes / 307 \\
                 15-10 A 3-cube and a 4-cube / 307 \\
                 15-11 Front-end and SIMD machine / 309 \\
                 15-12 KSR-1 ring of rings architecture / 322 \\
                 16: Shared-Memory Multiprocessors / 325 \\
                 16-1 A typical bus architecture / 329 \\
                 16-2 A $4 \times 4$ crossbar / 330 \\
                 16-3 High cache hit rate reduces main memory traffic /
                 331 \\
                 16-4 Multiple copies of variable A / 332 \\
                 16-5 Fork and join / 335 \\
                 16-6 Integration / 337 \\
                 16-7 Implementation of a spinlock / 339 \\
                 B: How to Tell When Loops Can Be Interchanged / 351 \\
                 B-1 $4 \times 4$ matrix / 352 \\
                 B-2 One iteration complete / 353 \\
                 B-3 All iterations completed / 354 \\
                 B-4 Movement of data in array A / 355 \\
                 Examples \\
                 4: What an Optimizing Compiler Does / 69 \\
                 4-1 Intermediate Language for a Single Loop / 72 \\
                 5: Clarity / 93 \\
                 5-1 Comments, asterisks, and pretty printing / 95 \\
                 5-2 Variable names count / 97 \\
                 5-3 Parameter statements \\
                 5-4 Declarations / 100 \\
                 5-5 Routine using both INCLUDE files / 100 \\
                 5-6 Changing the Shape of an Array / 100 \\
                 / 102 \\
                 6: Finding Porting Problems / 105 \\
                 6-1 Program for creating misaligned references \\
                 6-2 Misaligned reference in C / 114 \\
                 / 115 \\
                 7: Timing and Profiling / 119 \\
                 7-1 FORTRAN program using etime / 125 \\
                 7-2 etime implemented in C / 126 \\
                 7-3 loops.c --- a program for testing profilers / 131
                 \\
                 7-4 Profile of loops.c / 132 \\
                 7-5 A portion of gprof output / 135 \\
                 7-6 gprof flat profile / 138 \\
                 8: Understanding Parallelism / 147 \\
                 8-1 Vector Addition / 150 \\
                 9: Eliminating Clutter / 165 \\
                 9-1 Macro definition and use / 168 \\
                 10: Loop Optimizations / 187 \\
                 10-1 Loop containing a procedure call / 192 \\
                 10-2 Matrix multiply with daxpy inner loop / 206 \\
                 10-3 Matrix multiply with dot product inner loop / 206
                 \\
                 11: Memory Reference Optimizations / 213 \\
                 11-1 Two-dimensional vector sum / 216 \\
                 11-2 Outer and inner loop unrolled / 217 \\
                 B: How to Tell When Loops Can Be Interchanged / 351 \\
                 B-1 Each iteration is independent / 351 \\
                 B-2 Can we interchange these loops? / 352 \\
                 B-3 Legal alternate loop nests / 354 \\
                 B-4 More complicated references / 355 \\
                 B-5 More complicated references / 356 \\
                 Tables \\
                 6: Finding Porting Problems / 105 \\
                 6-1 Preferred Alignment Boundaries on Most Computers /
                 113 \\
                 15: Large Scale Parallel Computing / 293 \\
                 15-1 Worst Case Communication / 308 \\
                 A: Processor Overview / 347 \\
                 A-1 CPU Characteristics / 347 \\
                 A-2 Cache and Branch Architecture / 348 \\
                 A-2 Cache and Branch Architecture (continued) / 349",
}


bibtype: book
filename: master.bib
label: Doxiadis:2000:UPG
author: Apostolos K. Doxiadis
title: Uncle Petros and Goldbach's Conjecture
publisher: pub-FABER-FABER
address: pub-FABER-FABER:adr
pages: 209
year: 2000
ISBN: 0-571-20203-9 (paperback), 0-571-29569-X (e-book) OR 0571202039 (paperback), 057129569X (ebook)
LCCN: PA5615.O87 T4813 2000b
bibdate: Mon Oct 1 16:07:44 MDT 2007
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; library.ox.ac.uk:210/ADVANCE
bibtimestamp: 2007.10.01 16:07:44 MDT
subject: Uncles; Greece; Fiction; Mathematics; Mathematicians
acknowledgement: ack-nhfb
rawauthor: Apostolos K. Doxiadis
rawtitle: {Uncle Petros} and {Goldbach's Conjecture}
ISBN13:
978-0-571-20203-4 (paperback), 978-0-571-29569-2 (e-book) OR 9780571202034 (paperback), 9780571295692 (ebook)

remark:
Translated from the Greek. Available in 25+ languages. This book is claimed on one Web site to be the first work of mathematical fiction: the conjecture is real, but the mathematician in the book is not a real person. First published in 1992 in Greek as em O Theios Petros kai i Eikasia tou Goldbach.

entry:
@Book{Doxiadis:2000:UPG,
  author =       "Apostolos K. Doxiadis",
  title =        "{Uncle Petros} and {Goldbach's Conjecture}",
  publisher =    pub-FABER-FABER,
  address =      pub-FABER-FABER:adr,
  pages =        "209",
  year =         "2000",
  ISBN =         "0-571-20203-9 (paperback), 0-571-29569-X (e-book)",
  ISBN-13 =      "978-0-571-20203-4 (paperback), 978-0-571-29569-2
                 (e-book)",
  LCCN =         "PA5615.O87 T4813 2000b",
  bibdate =      "Mon Oct 1 16:07:44 MDT 2007",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 library.ox.ac.uk:210/ADVANCE",
  acknowledgement = ack-nhfb,
  remark =       "Translated from the Greek. Available in 25+ languages.
                 This book is claimed on one Web site to be the first
                 work of mathematical fiction: the conjecture is real,
                 but the mathematician in the book is not a real person.
                 First published in 1992 in Greek as {\em O Theios
                 Petros kai i Eikasia tou Goldbach}.",
  subject =      "Uncles; Greece; Fiction; Mathematics; Mathematicians",
}


bibtype: book
filename: master.bib
label: Dray:2012:GSR
author: Tevian Dray
title: The Geometry of Special Relativity
publisher: pub-TAYLOR-FRANCIS
address: pub-TAYLOR-FRANCIS:adr
pages: xvii + 131
year: 2012
ISBN: 1-4665-1047-1 OR 1466510471
ISBN13: 978-1-4665-1047-0 OR 9781466510470
LCCN: QC173.65 .D73 2012
bibdate: Fri Oct 26 09:31:57 MDT 2012
bibtimestamp: 2012.10.26 09:31:57 MDT
acknowledgement: ack-nhfb
rawauthor: Tevian Dray
rawtitle: The Geometry of {Special Relativity}
abstract:
The booktitle Geometry of Special Relativity provides an introduction to special relativity that encourages readers to see beyond the formulas to the deeper geometric structure. The text treats the geometry of hyperbolas as the key to understanding special relativity. This approach replaces the ubiquitous $ Gamma $ symbol of most standard treatments with the appropriate hyperbolic trigonometric functions. In most cases, this not only simplifies the appearance of the formulas, but also emphasizes their geometric content in such a way as to make them almost obvious. Furthermore, many important relations, including the famous relativistic addition formula for velocities, follow directly from the appropriate trigonometric addition formulas. The book first describes the basic physics of special relativity to set the stage for the geometric treatment that follows. It then reviews properties of ordinary two-dimensional Euclidean space, expressed in terms of the usual circular trigonometric functions, before presenting a similar treatment of two-dimensional Minkowski space, expressed in terms of hyperbolic trigonometric functions. After covering special relativity again from the geometric point of view, the text discusses standard paradoxes, applications to relativistic mechanics, the relativistic unification of electricity and magnetism, and further steps leading to Einstein's general theory of relativity. The book also briefly describes the further steps leading to Einstein's general theory of relativity and then explores applications of hyperbola geometry to non-Euclidean geometry and calculus, including a geometric construction of the derivatives of trigonometric functions and the exponential function.

remark:
A reviewer's comment says that this book makes Special Relativity accessible to anyone familiar with trigonometric functions and elementary calculus.

subject:
Space and time -- Mathematical models; Science; Physics; Special relativity (Physics); Space and time; Mathematical models; SCIENCE / Physics / Relativity

TOC:
Front Cover Contents List of Figures and Tables Preface Acknowledgments 1. Introduction 2. The Physics of Special Relativity 3. Circle Geometry 4. Hyperbola Geometry 5. The Geometry of Special Relativity 6. Applications 7. Problems I 8. Paradoxes 9. Relativistic Mechanics 10. Problems II 11. Relativistic Electromagnetism 12. Problems III 13. Beyond Special Relativity 14. Hyperbolic Geometry 15. Calculus Bibliography

rawabstract:
The \booktitle{Geometry of Special Relativity} provides an introduction to special relativity that encourages readers to see beyond the formulas to the deeper geometric structure. The text treats the geometry of hyperbolas as the key to understanding special relativity. This approach replaces the ubiquitous $ \Gamma $ symbol of most standard treatments with the appropriate hyperbolic trigonometric functions. In most cases, this not only simplifies the appearance of the formulas, but also emphasizes their geometric content in such a way as to make them almost obvious. Furthermore, many important relations, including the famous relativistic addition formula for velocities, follow directly from the appropriate trigonometric addition formulas. The book first describes the basic physics of special relativity to set the stage for the geometric treatment that follows. It then reviews properties of ordinary two-dimensional Euclidean space, expressed in terms of the usual circular trigonometric functions, before presenting a similar treatment of two-dimensional Minkowski space, expressed in terms of hyperbolic trigonometric functions. After covering special relativity again from the geometric point of view, the text discusses standard paradoxes, applications to relativistic mechanics, the relativistic unification of electricity and magnetism, and further steps leading to Einstein's general theory of relativity. The book also briefly describes the further steps leading to Einstein's general theory of relativity and then explores applications of hyperbola geometry to non-Euclidean geometry and calculus, including a geometric construction of the derivatives of trigonometric functions and the exponential function.

rawTOC:
Front Cover \\ Contents \\ List of Figures and Tables \\ Preface \\ Acknowledgments \\ 1. Introduction \\ 2. The Physics of Special Relativity \\ 3. Circle Geometry \\ 4. Hyperbola Geometry \\ 5. The Geometry of Special Relativity \\ 6. Applications \\ 7. Problems I \\ 8. Paradoxes \\ 9. Relativistic Mechanics \\ 10. Problems II \\ 11. Relativistic Electromagnetism \\ 12. Problems III \\ 13. Beyond Special Relativity \\ 14. Hyperbolic Geometry \\ 15. Calculus \\ Bibliography

entry:
@Book{Dray:2012:GSR,
  author =       "Tevian Dray",
  title =        "The Geometry of {Special Relativity}",
  publisher =    pub-TAYLOR-FRANCIS,
  address =      pub-TAYLOR-FRANCIS:adr,
  pages =        "xvii + 131",
  year =         "2012",
  ISBN =         "1-4665-1047-1",
  ISBN-13 =      "978-1-4665-1047-0",
  LCCN =         "QC173.65 .D73 2012",
  bibdate =      "Fri Oct 26 09:31:57 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/einstein.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 z3950.loc.gov:7090/Voyager",
  abstract =     "The \booktitle{Geometry of Special Relativity}
                 provides an introduction to special relativity that
                 encourages readers to see beyond the formulas to the
                 deeper geometric structure. The text treats the
                 geometry of hyperbolas as the key to understanding
                 special relativity. This approach replaces the
                 ubiquitous $ \Gamma $ symbol of most standard
                 treatments with the appropriate hyperbolic
                 trigonometric functions. In most cases, this not only
                 simplifies the appearance of the formulas, but also
                 emphasizes their geometric content in such a way as to
                 make them almost obvious. Furthermore, many important
                 relations, including the famous relativistic addition
                 formula for velocities, follow directly from the
                 appropriate trigonometric addition formulas. The book
                 first describes the basic physics of special relativity
                 to set the stage for the geometric treatment that
                 follows. It then reviews properties of ordinary
                 two-dimensional Euclidean space, expressed in terms of
                 the usual circular trigonometric functions, before
                 presenting a similar treatment of two-dimensional
                 Minkowski space, expressed in terms of hyperbolic
                 trigonometric functions. After covering special
                 relativity again from the geometric point of view, the
                 text discusses standard paradoxes, applications to
                 relativistic mechanics, the relativistic unification of
                 electricity and magnetism, and further steps leading to
                 Einstein's general theory of relativity. The book also
                 briefly describes the further steps leading to
                 Einstein's general theory of relativity and then
                 explores applications of hyperbola geometry to
                 non-Euclidean geometry and calculus, including a
                 geometric construction of the derivatives of
                 trigonometric functions and the exponential function.",
  acknowledgement = ack-nhfb,
  remark =       "A reviewer's comment says that this book makes Special
                 Relativity accessible to anyone familiar with
                 trigonometric functions and elementary calculus.",
  subject =      "Special relativity (Physics); Space and time;
                 Mathematical models",
  subject =      "Space and time -- Mathematical models; Science;
                 Physics; Special relativity (Physics); Space and time;
                 Mathematical models; SCIENCE / Physics / Relativity",
  tableofcontents = "Front Cover \\
                 Contents \\
                 List of Figures and Tables \\
                 Preface \\
                 Acknowledgments \\
                 1. Introduction \\
                 2. The Physics of Special Relativity \\
                 3. Circle Geometry \\
                 4. Hyperbola Geometry \\
                 5. The Geometry of Special Relativity \\
                 6. Applications \\
                 7. Problems I \\
                 8. Paradoxes \\
                 9. Relativistic Mechanics \\
                 10. Problems II \\
                 11. Relativistic Electromagnetism \\
                 12. Problems III \\
                 13. Beyond Special Relativity \\
                 14. Hyperbolic Geometry \\
                 15. Calculus \\
                 Bibliography",
}


bibtype: techreport
filename: master.bib
label: Dreyer:1946:REM
author: H.-J. Dreyer and A. Walther
type: Bericht
number: A3
institution: Institut fur Praktische Mathematik, Technische Hochschule
address: Darmstadt, West Germany
pages: xvii + 131
day: 19
month: aug
monthnumber: 8
year: 1946
bibdate: Wed Oct 13 11:20:15 2010
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2010.10.13 11:20:15 ???
note: Reprinted in cite [ 3.3]Randell:1982:ODC. Translated by Mr. and Mrs. P. Jones
language: German
acknowledgement: ack-nhfb
rawauthor: H.-J. Dreyer and A. Walther
rawnote: Reprinted in \cite[\S 3.3]{Randell:1982:ODC}. Translated by Mr. and Mrs. P. Jones
title:
Der Rechenautomat Ipm. Entwicklung Mathematischer Instrumente in Deutschland 1939 bis 1945. (German) [The Ipm Calculator. The development of mathematical instruments in Germany 1939--1945]

rawtitle:
{Der Rechenautomat Ipm. Entwicklung Mathematischer Instrumente in Deutschland 1939 bis 1945}. ({German}) [{The} {Ipm} Calculator. {The} development of mathematical instruments in {Germany} 1939--1945]

entry:
@TechReport{Dreyer:1946:REM,
  author =       "H.-J. Dreyer and A. Walther",
  title =        "{Der Rechenautomat Ipm. Entwicklung Mathematischer
                 Instrumente in Deutschland 1939 bis 1945}. ({German})
                 [{The} {Ipm} Calculator. {The} development of
                 mathematical instruments in {Germany} 1939--1945]",
  type =         "{Bericht}",
  number =       "A3",
  institution =  "Institut f{\"u}r Praktische Mathematik, Technische
                 Hochschule",
  address =      "Darmstadt, West Germany",
  day =          "19",
  month =        aug,
  year =         "1946",
  bibdate =      "Wed Oct 13 11:20:15 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Reprinted in \cite[\S 3.3]{Randell:1982:ODC}.
                 Translated by Mr. and Mrs. P. Jones",
  acknowledgement = ack-nhfb,
  language =     "German",
}


bibtype: book
filename: master.bib
label: Dry:2014:NPS
author: Sarah Dry
title: The Newton Papers: the Strange and True Odyssey of Isaac Newton's Manuscripts
publisher: pub-OXFORD
address: pub-OXFORD:adr
pages: xi + 238
year: 2014
ISBN: 0-19-995104-7 (hardcover) OR 0199951047 (hardcover)
ISBN13: 978-0-19-995104-8 (hardcover) OR 9780199951048 (hardcover)
LCCN: QC16.N7 D79 2014
bibdate: Thu Mar 5 05:42:19 MST 2015
bibtimestamp: 2015.03.05 05:42:19 MST
acknowledgement: ack-nhfb
authordates: 1974--
subjectdates: 1642--1727
rawauthor: Sarah Dry
rawtitle: The {Newton} Papers: the Strange and True Odyssey of {Isaac Newton}'s Manuscripts
bibsource:
https://www.math.utah.edu/pub/tex/bib/einstein.bib; https://www.math.utah.edu/pub/tex/bib/histmath.bib; https://www.math.utah.edu/pub/tex/bib/isis2010.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; z3950.loc.gov:7090/Voyager

abstract:
When Isaac Newton died at 85 without a will on March 20, 1727, he left a mass of disorganized papers --- upwards of 8 million words --- that presented an immediate challenge to his heirs. Most of these writings, on subjects ranging from secret alchemical formulas to impassioned rejections of the Holy Trinity to notes and calculations on his core discoveries in calculus, universal gravitation, and optics, were summarily dismissed by his heirs as ``not fit to be printed.'' Rabidly heretical, alchemically obsessed, and possibly even mad, the Newton presented in these papers threatened to undermine not just his personal reputation but the status of science itself. As a result, the private papers of the world's greatest scientist remained hidden to all but a select few for over two hundred years. In booktitle The Newton Papers, Sarah Dry divulges the story of how this secret archive finally came to light --- and the complex and contradictory man it revealed. Covering a broad swath of history, Dry explores who controlled Newton's legacy, who helped uncover him, and what, finally, we know about him today, nearly three hundred years after his death. booktitle The Newton Papers presents the eclectic group of collectors, scholars, and scientists who were motivated to track down and collect Newton's private thoughts and obsessions, many of whom led extraordinary lives themselves --- from economist John Maynard Keynes to Abraham Yahuda, a friend of Albert Einstein and key figure in the founding of Israel. The 300-year history of the disappearance, dispersal and eventual rediscovery of Newton's papers exposes how Newton has been made, and re-made, at the hands of unique and idiosyncratic individuals, reflecting the changing status of science over the centuries.

subject:
Newton, Isaac; Manuscripts; Psychology; Science; History; HISTORY / Europe / Great Britain; SCIENCE / History.

TOC:
Acknowledgments / ix Prologue: Keynes at the sale / 3 The death of Newton / 5 The inheritors / 10 Petrifying Newton / 22 The madness of Newton / 33 The meanness of Newton / 45 Getting to know the knowers / 59 Wrangling with Newton / 80 Newton divided / 101 English books, American buyers / 112 The dealers / 131 The Sotheby sale / 142 The revealed Newton / 161 The Newton industry / 176 The search for unity / 199 Epilogue: The ultimate value / 204 Notes / 213 Index / 229

rawabstract:
When Isaac Newton died at 85 without a will on March 20, 1727, he left a mass of disorganized papers --- upwards of 8 million words --- that presented an immediate challenge to his heirs. Most of these writings, on subjects ranging from secret alchemical formulas to impassioned rejections of the Holy Trinity to notes and calculations on his core discoveries in calculus, universal gravitation, and optics, were summarily dismissed by his heirs as ``not fit to be printed.'' Rabidly heretical, alchemically obsessed, and possibly even mad, the Newton presented in these papers threatened to undermine not just his personal reputation but the status of science itself. As a result, the private papers of the world's greatest scientist remained hidden to all but a select few for over two hundred years. In \booktitle{The Newton Papers}, Sarah Dry divulges the story of how this secret archive finally came to light --- and the complex and contradictory man it revealed. Covering a broad swath of history, Dry explores who controlled Newton's legacy, who helped uncover him, and what, finally, we know about him today, nearly three hundred years after his death. \booktitle{The Newton Papers} presents the eclectic group of collectors, scholars, and scientists who were motivated to track down and collect Newton's private thoughts and obsessions, many of whom led extraordinary lives themselves --- from economist John Maynard Keynes to Abraham Yahuda, a friend of Albert Einstein and key figure in the founding of Israel. The 300-year history of the disappearance, dispersal and eventual rediscovery of Newton's papers exposes how Newton has been made, and re-made, at the hands of unique and idiosyncratic individuals, reflecting the changing status of science over the centuries.

rawTOC:
Acknowledgments / ix \\ Prologue: Keynes at the sale / 3 \\ The death of Newton / 5 \\ The inheritors / 10 \\ Petrifying Newton / 22 \\ The madness of Newton / 33 \\ The meanness of Newton / 45 \\ Getting to know the knowers / 59 \\ Wrangling with Newton / 80 \\ Newton divided / 101 \\ English books, American buyers / 112 \\ The dealers / 131 \\ The Sotheby sale / 142 \\ The revealed Newton / 161 \\ The Newton industry / 176 \\ The search for unity / 199 \\ Epilogue: The ultimate value / 204 \\ Notes / 213 \\ Index / 229

entry:
@Book{Dry:2014:NPS,
  author =       "Sarah Dry",
  title =        "The {Newton} Papers: the Strange and True Odyssey of
                 {Isaac Newton}'s Manuscripts",
  publisher =    pub-OXFORD,
  address =      pub-OXFORD:adr,
  pages =        "xi + 238",
  year =         "2014",
  ISBN =         "0-19-995104-7 (hardcover)",
  ISBN-13 =      "978-0-19-995104-8 (hardcover)",
  LCCN =         "QC16.N7 D79 2014",
  bibdate =      "Thu Mar 5 05:42:19 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/einstein.bib;
                 https://www.math.utah.edu/pub/tex/bib/histmath.bib;
                 https://www.math.utah.edu/pub/tex/bib/isis2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 z3950.loc.gov:7090/Voyager",
  abstract =     "When Isaac Newton died at 85 without a will on March
                 20, 1727, he left a mass of disorganized papers ---
                 upwards of 8 million words --- that presented an
                 immediate challenge to his heirs. Most of these
                 writings, on subjects ranging from secret alchemical
                 formulas to impassioned rejections of the Holy Trinity
                 to notes and calculations on his core discoveries in
                 calculus, universal gravitation, and optics, were
                 summarily dismissed by his heirs as ``not fit to be
                 printed.'' Rabidly heretical, alchemically obsessed,
                 and possibly even mad, the Newton presented in these
                 papers threatened to undermine not just his personal
                 reputation but the status of science itself. As a
                 result, the private papers of the world's greatest
                 scientist remained hidden to all but a select few for
                 over two hundred years. In \booktitle{The Newton
                 Papers}, Sarah Dry divulges the story of how this
                 secret archive finally came to light --- and the
                 complex and contradictory man it revealed. Covering a
                 broad swath of history, Dry explores who controlled
                 Newton's legacy, who helped uncover him, and what,
                 finally, we know about him today, nearly three hundred
                 years after his death. \booktitle{The Newton Papers}
                 presents the eclectic group of collectors, scholars,
                 and scientists who were motivated to track down and
                 collect Newton's private thoughts and obsessions, many
                 of whom led extraordinary lives themselves --- from
                 economist John Maynard Keynes to Abraham Yahuda, a
                 friend of Albert Einstein and key figure in the
                 founding of Israel. The 300-year history of the
                 disappearance, dispersal and eventual rediscovery of
                 Newton's papers exposes how Newton has been made, and
                 re-made, at the hands of unique and idiosyncratic
                 individuals, reflecting the changing status of science
                 over the centuries.",
  acknowledgement = ack-nhfb,
  author-dates = "1974--",
  subject =      "Newton, Isaac; Manuscripts; Psychology; Science;
                 History; HISTORY / Europe / Great Britain; SCIENCE /
                 History.",
  subject-dates = "1642--1727",
  tableofcontents = "Acknowledgments / ix \\
                 Prologue: Keynes at the sale / 3 \\
                 The death of Newton / 5 \\
                 The inheritors / 10 \\
                 Petrifying Newton / 22 \\
                 The madness of Newton / 33 \\
                 The meanness of Newton / 45 \\
                 Getting to know the knowers / 59 \\
                 Wrangling with Newton / 80 \\
                 Newton divided / 101 \\
                 English books, American buyers / 112 \\
                 The dealers / 131 \\
                 The Sotheby sale / 142 \\
                 The revealed Newton / 161 \\
                 The Newton industry / 176 \\
                 The search for unity / 199 \\
                 Epilogue: The ultimate value / 204 \\
                 Notes / 213 \\
                 Index / 229",
}


bibtype: book
filename: master.bib
label: DuBois:1999:M
author: Paul DuBois
title: MySQL
publisher: pub-NRP
address: pub-NRP:adr
pages: xxix + 756
year: 1999
ISBN: 0-7357-0921-1 OR 0735709211
ISBN13: 978-0-7357-0921-8 OR 9780735709218
LCCN: QA76.73.S67 D83 2000
bibdate: Thu Mar 23 10:12:26 2000
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2000.03.23 10:12:26 ???
URL: http://www.mysql.com/Contrib/; http://www2.newriders.com/cfm/prod_book.cfm?RecordID=584
acknowledgement: ack-nhfb
rawauthor: Paul DuBois
rawtitle: {MySQL}
abstract:
Instead of merely giving you a general overview of MySQL, Paul teaches you how to make the most of its capabilities. Through two sample database applications that run throughout the book, he gives you solutions to problems you're sure to face. He helps you integrate MySQL efficiently with third-party tools, such as PHP and Perl, enabling you to generate dynamic Web pages through database queries. He teaches you to write programs that access MySQL databases, and also provides a comprehensive set of references to column types, operators, functions, SQL syntax, MySQL programming, C API, Perl DBI, and PHP API.

TOC:
I: General MySQL Use 1: Introduction to MySQL and SQL 2: Working with Data in MySQL 3: MySQL SQL Syntax and Use 4: Query Optimization II: Using MySQL Programming Interfaces 5: Introduction to MySQL Programming 6: MySQL C API 7: Perl DBI API 8: PHP API III: MySQL Administration 9: Introduction to MySQL Administration 10: MySQL Data Directory 11: General MySQL Administration 12: Security 13: Database Maintenance and Repair. A: Obtaining and Installing Software B: Column Type Reference C: Operator and Function Reference D: SQL Syntax Reference E: MySQL Program Reference F: C API Reference G: Perl DBI API Reference H: PHP API Reference I: Useful Third-Party Tools J: Internet Service Providers

rawabstract:
Instead of merely giving you a general overview of MySQL, Paul teaches you how to make the most of its capabilities. Through two sample database applications that run throughout the book, he gives you solutions to problems you're sure to face. He helps you integrate MySQL efficiently with third-party tools, such as PHP and Perl, enabling you to generate dynamic Web pages through database queries. He teaches you to write programs that access MySQL databases, and also provides a comprehensive set of references to column types, operators, functions, SQL syntax, MySQL programming, C API, Perl DBI, and PHP API.

rawTOC:
I: General MySQL Use \\ 1: Introduction to MySQL and SQL \\ 2: Working with Data in MySQL \\ 3: MySQL SQL Syntax and Use \\ 4: Query Optimization \\ II: Using MySQL Programming Interfaces \\ 5: Introduction to MySQL Programming \\ 6: MySQL C API \\ 7: Perl DBI API \\ 8: PHP API \\ III: MySQL Administration \\ 9: Introduction to MySQL Administration \\ 10: MySQL Data Directory \\ 11: General MySQL Administration \\ 12: Security \\ 13: Database Maintenance and Repair. A: Obtaining and Installing Software \\ B: Column Type Reference \\ C: Operator and Function Reference \\ D: SQL Syntax Reference \\ E: MySQL Program Reference \\ F: C API Reference \\ G: Perl DBI API Reference \\ H: PHP API Reference \\ I: Useful Third-Party Tools \\ J: Internet Service Providers

entry:
@Book{DuBois:1999:M,
  author =       "Paul DuBois",
  title =        "{MySQL}",
  publisher =    pub-NRP,
  address =      pub-NRP:adr,
  pages =        "xxix + 756",
  year =         "1999",
  ISBN =         "0-7357-0921-1",
  ISBN-13 =      "978-0-7357-0921-8",
  LCCN =         "QA76.73.S67 D83 2000",
  bibdate =      "Thu Mar 23 10:12:26 2000",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$49.99",
  URL =          "http://www.mysql.com/Contrib/;
                 http://www2.newriders.com/cfm/prod_book.cfm?RecordID=584",
  abstract =     "Instead of merely giving you a general overview of
                 MySQL, Paul teaches you how to make the most of its
                 capabilities. Through two sample database applications
                 that run throughout the book, he gives you solutions to
                 problems you're sure to face. He helps you integrate
                 MySQL efficiently with third-party tools, such as PHP
                 and Perl, enabling you to generate dynamic Web pages
                 through database queries. He teaches you to write
                 programs that access MySQL databases, and also provides
                 a comprehensive set of references to column types,
                 operators, functions, SQL syntax, MySQL programming, C
                 API, Perl DBI, and PHP API.",
  acknowledgement = ack-nhfb,
  libnote =      "Not yet in my library.",
  tableofcontents = "I: General MySQL Use \\
                 1: Introduction to MySQL and SQL \\
                 2: Working with Data in MySQL \\
                 3: MySQL SQL Syntax and Use \\
                 4: Query Optimization \\
                 II: Using MySQL Programming Interfaces \\
                 5: Introduction to MySQL Programming \\
                 6: MySQL C API \\
                 7: Perl DBI API \\
                 8: PHP API \\
                 III: MySQL Administration \\
                 9: Introduction to MySQL Administration \\
                 10: MySQL Data Directory \\
                 11: General MySQL Administration \\
                 12: Security \\
                 13: Database Maintenance and Repair. A: Obtaining and
                 Installing Software \\
                 B: Column Type Reference \\
                 C: Operator and Function Reference \\
                 D: SQL Syntax Reference \\
                 E: MySQL Program Reference \\
                 F: C API Reference \\
                 G: Perl DBI API Reference \\
                 H: PHP API Reference \\
                 I: Useful Third-Party Tools \\
                 J: Internet Service Providers",
}


bibtype: book
filename: master.bib
label: Duckworth:1960:EM
author: Henry E. Duckworth
title: Electricity and Magnetism
publisher: pub-HRW
address: pub-HRW:adr
pages: xv + 424
year: 1960
LCCN: QC519 .D8
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: Henry E. Duckworth
rawtitle: Electricity and Magnetism
entry:
@Book{Duckworth:1960:EM,
  author =       "Henry E. Duckworth",
  title =        "Electricity and Magnetism",
  publisher =    pub-HRW,
  address =      pub-HRW:adr,
  pages =        "xv + 424",
  year =         "1960",
  LCCN =         "QC519 .D8",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  xxISBN =       "none",
}


bibtype: book
filename: master.bib
label: Duff:1986:DMS
author: I. S. Duff and A. M. Erisman and J. K. Reid
title: Direct Methods for Sparse Matrices
publisher: pub-CLARENDON
address: pub-CLARENDON:adr
pages: xiii + 341
year: 1986
LCCN: QA188 .D841 1986
bibdate: Tue Dec 14 22:47:43 1993
bibtimestamp: 1993.12.14 22:47:43 ???
acknowledgement: ack-nhfb
rawauthor: I. S. Duff and A. M. Erisman and J. K. Reid
rawtitle: Direct Methods for Sparse Matrices
ISBN:
0-19-853408-6 (hardcover), 0-19-853421-3 (paperback) OR 0198534086 (hardcover), 0198534213 (paperback)

ISBN13:
978-0-19-853408-2 (hardcover), 978-0-19-853421-1 (paperback) OR 9780198534082 (hardcover), 9780198534211 (paperback)

bibsource:
https://www.math.utah.edu/pub/bibnet/authors/d/duff-iain-s.bib; https://www.math.utah.edu/pub/tex/bib/master.bib

TOC:
1: Introduction 1.1 Introduction / 1 1.2 Graph theory / 2 1.3 Example / 4 1.4 Advanced Computer architectures / 9 1.5 Problem formulation / 11 1.6 A sparse matrix test collection / 14 2: Sparse matrices: storage schemes and simple Operations 2.1 Introduction / 19 2.2 Sparse vector storage / 19 2.3 Inner product of two packed vectors / 20 2.4 Adding packed vectors / 21 2.5 Use of full-sized arrays / 22 2.6 Coordinate scheme for storing sparse matrices / 23 2.7 Sparse matrix as a collection of sparse vectors / 24 2.8 Linked lists / 25 2.9 Sparse matrix in row-linked list / 28 2.10 Generating collections of sparse vectors / 30 2.11 Access by rows and columns / 31 2.12 Matrix by vector products / 32 2.13 Matrix by matrix products / 33 2.14 Permutation matrices / 34 2.15 Clique (or finite-element) storage / 36 2.16 Comparisons between sparse matrix structures / 37 3: Gaussian elimination for dense matrices: the algebraic problem 3.1 Introduction / 41 3.2 Solution of triangular Systems / 41 3.3 Gaussian elimination / 43 3.4 Required row interchanges / 45 3.5 Relationship with $L U$ factorization / 46 3.6 Equivalent factorization methods, including Doolittle and Crout / 49 3.7 Computational sequences / 51 3.8 Symmetric matrices / 53 3.9 Gauss--Jordan elimination / 55 3.10 Multiple right-hand sides and inverses / 56 3.11 Computational cost / 57 3.12 Block factorization / 59 4: Gaussian elimination for dense matrices: numerical considerations 4.1 Introduction / 65 4.2 Computer arithmetic error / 66 4.3 Algorithm instability / 67 4.4 Controlling algorithm stability / 69 4.5 Monitoring the stability / 72 4.6 Special stability considerations / 76 4.7 Solving indefinite symmetric systems / 77 4.8 Ill-conditioning: introduction / 78 4.9 Ill-conditioning: theoretical discussion / 79 4.10 Ill-conditioning: automatic detection / 81 4.11 Iterative refinement / 85 4.12 Scaling / 86 4.13 Prevention of ill-conditioning / 88 4.14 Overall error bound / 89 5: Gaussian elimination for sparse matrices: an introduction 5.1 Introduction / 93 5.2 Features of a sparse matrix code / 94 5.3 Orderings / 96 5.4 Numerical stability in sparse computation / 98 5.5 Estimating condition numbers in sparse computation / 100 5.6 The ANALYSE phase / 101 5.7 The FACTORIZE and SOLVE phases / 102 5.8 Writing compared with using sparse matrix Software / 103 6: Reduction to block triangular form 6.1 Introduction / 105 6.2 Background for finding a transversal / 107 6.3 A depth-first search algorithm for transversal extension / 109 6.4 Analysis of the depth-first search transversal algorithm / 111 6.5 Implementation of the transversal algorithm / 112 6.6 Symmetric permutations to block triangular form / 113 6.7 The algorithm of Sargent and Westerberg / 114 6.8 Tarjan's algorithm / 117 6.9 Implementation of Tarjan's algorithm / 120 6.10 Essential uniqueness of the block triangular form / 121 6.11 Experience with block triangular forms / 122 6.12 Maximum transversals / 124 7: Local pivotal strategies for sparse matrices 7.1 Introduction / 127 7.2 The Markowitz criterion / 128 7.3 Minimum degree (Tinney scheme 2) / 129 7.4 Simpler strategies / 130 7.5 Local minimum fill-in / 133 7.6 Other local strategies / 135 7.7 The effect of tie-breaking on the minimum degree algorithm / 136 7.8 Numerical pivoting / 139 7.9 Sparsity in the right-hand side and partial Solution / 140 7.10 Variability-type ordering / 143 7.11 The Symmetric indefinite case / 145 7.12 Solution methods based on orthogonalization / 145 8: Ordering sparse matrices to special forms 8.1 Introduction / 149 8.2 Desirable forms / 149 8.3 Band and variable-band matrices / 151 8.4 Ordering for small bandwidth / 153 8.5 Refined quotient trees / 157 8.6 One-way dissection / 161 8.7 Nested dissection / 163 8.8 The Boeing version of the Hellerman--Rarick algorithm / 168 8.9 The Hellerman--Rarick ordering / 172 9: Implementing Gaussian elimination: ANALYSE with numerical values 9.1 Introduction / 177 9.2 Markowitz ANALYSE / 178 9.3 FACTORIZE / 183 9.4 SOLVE / 186 9.5 Switching to full form / 188 9.6 Loop-free code / 191 9.7 Interpretative code / 192 9.8 A posteriori ordering for stability / 193 9.9 The use of drop tolerances to preserve sparsity / 195 10: Implementing Gaussian elimination with symbolic ANALYSE 10.1 Introduction / 199 10.2 Band methods / 200 10.3 Variable-band (profile) methods / 204 10.4 Special methods for banded Systems / 205 10.5 Frontal methods for finite-element problems / 210 10.6 Frontal methods for non-element problems / 216 10.7 Multifrontal (substructuring) methods for finite-element problems / 218 10.8 Multifrontal methods for non-element problems / 222 10.9 Minimum degree ordering / 226 10.10 Generating static data structures for FACTORIZE / 229 10.11 Numerical FACTORIZE and SOLVE using static data structures / 232 10.12 Accommodating numerical pivoting within static data structures / 233 10.13 Nested dissection, refined quotient tree, and one-way dissection / 234 10.14 Effects of Computer architecture / 234 11: Partitioning, matrix modification, and tearing 11.1 Introduction / 239 11.2 Exploiting the partitioned form / 240 11.3 Using partitioning to handle low-rank perturbations / 242 11.4 The matrix modification formula / 243 11.5 Low-rank modifications / 244 11.6 Use of the modification formula to solve equations / 245 11.7 Perturbations that are full-rank submatrices / 247 11.8 The equivalence of modification and partitioning / 249 11.9 Modifications that change the matrix Order / 250 11.10 Artificial perturbations / 251 11.11 Branch tearing / 252 11.12 Node tearing / 254 11.13 Implementation of node and branch tearing / 255 11.14 Manual choice of partitions and tear sets / 255 11.15 Automatic choice of partitions and tear sets / 257 11.16 Nonlinear tearing / 259 11.17 Conclusions / 260 12: Other sparsity-oriented issues 12.1 Introduction / 265 12.2 Sparsity in nonlinear computations / 266 12.3 Estimating a sparse Jacobian matrix / 267 12.4 Updating a sparse Hessian matrix / 269 12.5 Approximating a sparse matrix by a positive-definite one / 270 12.6 The inverse of a sparse matrix / 271 12.7 Computing entries of the inverse of a sparse matrix / 273 12.8 Sparsity constrained backward error analysis / 275 12.9 Assembling large finite-element matrices to band form / 277 12.10 Hypermatrices / 278 Appendix A: Matrix and vector norms / 281 Appendix B: The LINPACK condition number estimate / 285 Appendix C: Fortran Conventions / 287 Appendix D: Pictures of sparse matrices / 289 Solutions to selected exercises / 297 References / 313 Author index / 327 Subject index / 331

shortTOC:
1: Introduction 2: Sparse matrices: storage schemes and simple Operations 3: Gaussian elimination for dense matrices: the algebraic problem 4: Gaussian elimination for dense matrices: numerical considerations 5: Gaussian elimination for sparse matrices: an introduction 6: Reduction to block triangular form 7: Local pivotal strategies for sparse matrices 8: Ordering sparse matrices to special forms 9: Implementing Gaussian elimination: ANALYSE with numerical values 10: Implementing Gaussian elimination with symbolic ANALYSE 11: Partitioning, matrix modification, and tearing 12: Other sparsity-oriented issues Appendix A: Matrix and vector norms / 281 Appendix B: The LINPACK condition number estimate / 285 Appendix C: Fortran Conventions / 287 Appendix D: Pictures of sparse matrices / 289 Solutions to selected exercises / 297 References / 313 Author index / 327 Subject index / 331

rawshortTOC:
1: Introduction \\ 2: Sparse matrices: storage schemes and simple Operations \\ 3: Gaussian elimination for dense matrices: the algebraic problem \\ 4: Gaussian elimination for dense matrices: numerical considerations \\ 5: Gaussian elimination for sparse matrices: an introduction \\ 6: Reduction to block triangular form \\ 7: Local pivotal strategies for sparse matrices \\ 8: Ordering sparse matrices to special forms \\ 9: Implementing Gaussian elimination: ANALYSE with numerical values \\ 10: Implementing Gaussian elimination with symbolic ANALYSE \\ 11: Partitioning, matrix modification, and tearing \\ 12: Other sparsity-oriented issues \\ Appendix A: Matrix and vector norms / 281 \\ Appendix B: The LINPACK condition number estimate / 285 \\ Appendix C: Fortran Conventions / 287 \\ Appendix D: Pictures of sparse matrices / 289 \\ Solutions to selected exercises / 297 \\ References / 313 \\ Author index / 327 \\ Subject index / 331

rawTOC:
1: Introduction \\ 1.1 Introduction / 1 \\ 1.2 Graph theory / 2 \\ 1.3 Example / 4 \\ 1.4 Advanced Computer architectures / 9 \\ 1.5 Problem formulation / 11 \\ 1.6 A sparse matrix test collection / 14 \\ 2: Sparse matrices: storage schemes and simple Operations \\ 2.1 Introduction / 19 \\ 2.2 Sparse vector storage / 19 \\ 2.3 Inner product of two packed vectors / 20 \\ 2.4 Adding packed vectors / 21 \\ 2.5 Use of full-sized arrays / 22 \\ 2.6 Coordinate scheme for storing sparse matrices / 23 \\ 2.7 Sparse matrix as a collection of sparse vectors / 24 \\ 2.8 Linked lists / 25 \\ 2.9 Sparse matrix in row-linked list / 28 \\ 2.10 Generating collections of sparse vectors / 30 \\ 2.11 Access by rows and columns / 31 \\ 2.12 Matrix by vector products / 32 \\ 2.13 Matrix by matrix products / 33 \\ 2.14 Permutation matrices / 34 \\ 2.15 Clique (or finite-element) storage / 36 \\ 2.16 Comparisons between sparse matrix structures / 37 \\ 3: Gaussian elimination for dense matrices: the algebraic problem \\ 3.1 Introduction / 41 \\ 3.2 Solution of triangular Systems / 41 \\ 3.3 Gaussian elimination / 43 \\ 3.4 Required row interchanges / 45 \\ 3.5 Relationship with $L U$ factorization / 46 \\ 3.6 Equivalent factorization methods, including Doolittle and Crout / 49 \\ 3.7 Computational sequences / 51 \\ 3.8 Symmetric matrices / 53 \\ 3.9 Gauss--Jordan elimination / 55 \\ 3.10 Multiple right-hand sides and inverses / 56 \\ 3.11 Computational cost / 57 \\ 3.12 Block factorization / 59 \\ 4: Gaussian elimination for dense matrices: numerical considerations \\ 4.1 Introduction / 65 \\ 4.2 Computer arithmetic error / 66 \\ 4.3 Algorithm instability / 67 \\ 4.4 Controlling algorithm stability / 69 \\ 4.5 Monitoring the stability / 72 \\ 4.6 Special stability considerations / 76 \\ 4.7 Solving indefinite symmetric systems / 77 \\ 4.8 Ill-conditioning: introduction / 78 \\ 4.9 Ill-conditioning: theoretical discussion / 79 \\ 4.10 Ill-conditioning: automatic detection / 81 \\ 4.11 Iterative refinement / 85 \\ 4.12 Scaling / 86 \\ 4.13 Prevention of ill-conditioning / 88 \\ 4.14 Overall error bound / 89 \\ 5: Gaussian elimination for sparse matrices: an introduction \\ 5.1 Introduction / 93 \\ 5.2 Features of a sparse matrix code / 94 \\ 5.3 Orderings / 96 \\ 5.4 Numerical stability in sparse computation / 98 \\ 5.5 Estimating condition numbers in sparse computation / 100 \\ 5.6 The ANALYSE phase / 101 \\ 5.7 The FACTORIZE and SOLVE phases / 102 \\ 5.8 Writing compared with using sparse matrix Software / 103 \\ 6: Reduction to block triangular form \\ 6.1 Introduction / 105 \\ 6.2 Background for finding a transversal / 107 \\ 6.3 A depth-first search algorithm for transversal extension / 109 \\ 6.4 Analysis of the depth-first search transversal algorithm / 111 \\ 6.5 Implementation of the transversal algorithm / 112 \\ 6.6 Symmetric permutations to block triangular form / 113 \\ 6.7 The algorithm of Sargent and Westerberg / 114 \\ 6.8 Tarjan's algorithm / 117 \\ 6.9 Implementation of Tarjan's algorithm / 120 \\ 6.10 Essential uniqueness of the block triangular form / 121 \\ 6.11 Experience with block triangular forms / 122 \\ 6.12 Maximum transversals / 124 \\ 7: Local pivotal strategies for sparse matrices \\ 7.1 Introduction / 127 \\ 7.2 The Markowitz criterion / 128 \\ 7.3 Minimum degree (Tinney scheme 2) / 129 \\ 7.4 Simpler strategies / 130 \\ 7.5 Local minimum fill-in / 133 \\ 7.6 Other local strategies / 135 \\ 7.7 The effect of tie-breaking on the minimum degree algorithm / 136 \\ 7.8 Numerical pivoting / 139 \\ 7.9 Sparsity in the right-hand side and partial Solution / 140 \\ 7.10 Variability-type ordering / 143 \\ 7.11 The Symmetric indefinite case / 145 \\ 7.12 Solution methods based on orthogonalization / 145 \\ 8: Ordering sparse matrices to special forms \\ 8.1 Introduction / 149 \\ 8.2 Desirable forms / 149 \\ 8.3 Band and variable-band matrices / 151 \\ 8.4 Ordering for small bandwidth / 153 \\ 8.5 Refined quotient trees / 157 \\ 8.6 One-way dissection / 161 \\ 8.7 Nested dissection / 163 \\ 8.8 The Boeing version of the Hellerman--Rarick algorithm / 168 \\ 8.9 The Hellerman--Rarick ordering / 172 \\ 9: Implementing Gaussian elimination: ANALYSE with numerical values \\ 9.1 Introduction / 177 \\ 9.2 Markowitz ANALYSE / 178 \\ 9.3 FACTORIZE / 183 \\ 9.4 SOLVE / 186 \\ 9.5 Switching to full form / 188 \\ 9.6 Loop-free code / 191 \\ 9.7 Interpretative code / 192 \\ 9.8 A posteriori ordering for stability / 193 \\ 9.9 The use of drop tolerances to preserve sparsity / 195 \\ 10: Implementing Gaussian elimination with symbolic ANALYSE 10.1 Introduction / 199 \\ 10.2 Band methods / 200 \\ 10.3 Variable-band (profile) methods / 204 \\ 10.4 Special methods for banded Systems / 205 \\ 10.5 Frontal methods for finite-element problems / 210 \\ 10.6 Frontal methods for non-element problems / 216 \\ 10.7 Multifrontal (substructuring) methods for finite-element problems / 218 \\ 10.8 Multifrontal methods for non-element problems / 222 \\ 10.9 Minimum degree ordering / 226 \\ 10.10 Generating static data structures for FACTORIZE / 229 \\ 10.11 Numerical FACTORIZE and SOLVE using static data structures / 232 \\ 10.12 Accommodating numerical pivoting within static data structures / 233 \\ 10.13 Nested dissection, refined quotient tree, and one-way dissection / 234 \\ 10.14 Effects of Computer architecture / 234 \\ 11: Partitioning, matrix modification, and tearing \\ 11.1 Introduction / 239 \\ 11.2 Exploiting the partitioned form / 240 \\ 11.3 Using partitioning to handle low-rank perturbations / 242 \\ 11.4 The matrix modification formula / 243 \\ 11.5 Low-rank modifications / 244 \\ 11.6 Use of the modification formula to solve equations / 245 \\ 11.7 Perturbations that are full-rank submatrices / 247 \\ 11.8 The equivalence of modification and partitioning / 249 \\ 11.9 Modifications that change the matrix Order / 250 \\ 11.10 Artificial perturbations / 251 \\ 11.11 Branch tearing / 252 \\ 11.12 Node tearing / 254 \\ 11.13 Implementation of node and branch tearing / 255 \\ 11.14 Manual choice of partitions and tear sets / 255 \\ 11.15 Automatic choice of partitions and tear sets / 257 \\ 11.16 Nonlinear tearing / 259 \\ 11.17 Conclusions / 260 \\ 12: Other sparsity-oriented issues \\ 12.1 Introduction / 265 \\ 12.2 Sparsity in nonlinear computations / 266 \\ 12.3 Estimating a sparse Jacobian matrix / 267 \\ 12.4 Updating a sparse Hessian matrix / 269 \\ 12.5 Approximating a sparse matrix by a positive-definite one / 270 \\ 12.6 The inverse of a sparse matrix / 271 \\ 12.7 Computing entries of the inverse of a sparse matrix / 273 \\ 12.8 Sparsity constrained backward error analysis / 275 \\ 12.9 Assembling large finite-element matrices to band form / 277 \\ 12.10 Hypermatrices / 278 \\ Appendix A: Matrix and vector norms / 281 \\ Appendix B: The LINPACK condition number estimate / 285 \\ Appendix C: Fortran Conventions / 287 \\ Appendix D: Pictures of sparse matrices / 289 \\ Solutions to selected exercises / 297 \\ References / 313 \\ Author index / 327 \\ Subject index / 331

entry:
@Book{Duff:1986:DMS,
  author =       "I. S. Duff and A. M. Erisman and J. K. Reid",
  title =        "Direct Methods for Sparse Matrices",
  publisher =    pub-CLARENDON,
  address =      pub-CLARENDON:adr,
  pages =        "xiii + 341",
  year =         "1986",
  ISBN =         "0-19-853408-6 (hardcover), 0-19-853421-3 (paperback)",
  ISBN-13 =      "978-0-19-853408-2 (hardcover), 978-0-19-853421-1
                 (paperback)",
  LCCN =         "QA188 .D841 1986",
  bibdate =      "Tue Dec 14 22:47:43 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/duff-iain-s.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$37.50",
  acknowledgement = ack-nhfb,
  shorttableofcontents = "1: Introduction \\
                 2: Sparse matrices: storage schemes and simple
                 Operations \\
                 3: Gaussian elimination for dense matrices: the
                 algebraic problem \\
                 4: Gaussian elimination for dense matrices: numerical
                 considerations \\
                 5: Gaussian elimination for sparse matrices: an
                 introduction \\
                 6: Reduction to block triangular form \\
                 7: Local pivotal strategies for sparse matrices \\
                 8: Ordering sparse matrices to special forms \\
                 9: Implementing Gaussian elimination: ANALYSE with
                 numerical values \\
                 10: Implementing Gaussian elimination with symbolic
                 ANALYSE \\
                 11: Partitioning, matrix modification, and tearing \\
                 12: Other sparsity-oriented issues \\
                 Appendix A: Matrix and vector norms / 281 \\
                 Appendix B: The LINPACK condition number estimate / 285
                 \\
                 Appendix C: Fortran Conventions / 287 \\
                 Appendix D: Pictures of sparse matrices / 289 \\
                 Solutions to selected exercises / 297 \\
                 References / 313 \\
                 Author index / 327 \\
                 Subject index / 331",
  tableofcontents = "1: Introduction \\
                 1.1 Introduction / 1 \\
                 1.2 Graph theory / 2 \\
                 1.3 Example / 4 \\
                 1.4 Advanced Computer architectures / 9 \\
                 1.5 Problem formulation / 11 \\
                 1.6 A sparse matrix test collection / 14 \\
                 2: Sparse matrices: storage schemes and simple
                 Operations \\
                 2.1 Introduction / 19 \\
                 2.2 Sparse vector storage / 19 \\
                 2.3 Inner product of two packed vectors / 20 \\
                 2.4 Adding packed vectors / 21 \\
                 2.5 Use of full-sized arrays / 22 \\
                 2.6 Coordinate scheme for storing sparse matrices / 23
                 \\
                 2.7 Sparse matrix as a collection of sparse vectors /
                 24 \\
                 2.8 Linked lists / 25 \\
                 2.9 Sparse matrix in row-linked list / 28 \\
                 2.10 Generating collections of sparse vectors / 30 \\
                 2.11 Access by rows and columns / 31 \\
                 2.12 Matrix by vector products / 32 \\
                 2.13 Matrix by matrix products / 33 \\
                 2.14 Permutation matrices / 34 \\
                 2.15 Clique (or finite-element) storage / 36 \\
                 2.16 Comparisons between sparse matrix structures / 37
                 \\
                 3: Gaussian elimination for dense matrices: the
                 algebraic problem \\
                 3.1 Introduction / 41 \\
                 3.2 Solution of triangular Systems / 41 \\
                 3.3 Gaussian elimination / 43 \\
                 3.4 Required row interchanges / 45 \\
                 3.5 Relationship with $L U$ factorization / 46 \\
                 3.6 Equivalent factorization methods, including
                 Doolittle and Crout / 49 \\
                 3.7 Computational sequences / 51 \\
                 3.8 Symmetric matrices / 53 \\
                 3.9 Gauss--Jordan elimination / 55 \\
                 3.10 Multiple right-hand sides and inverses / 56 \\
                 3.11 Computational cost / 57 \\
                 3.12 Block factorization / 59 \\
                 4: Gaussian elimination for dense matrices: numerical
                 considerations \\
                 4.1 Introduction / 65 \\
                 4.2 Computer arithmetic error / 66 \\
                 4.3 Algorithm instability / 67 \\
                 4.4 Controlling algorithm stability / 69 \\
                 4.5 Monitoring the stability / 72 \\
                 4.6 Special stability considerations / 76 \\
                 4.7 Solving indefinite symmetric systems / 77 \\
                 4.8 Ill-conditioning: introduction / 78 \\
                 4.9 Ill-conditioning: theoretical discussion / 79 \\
                 4.10 Ill-conditioning: automatic detection / 81 \\
                 4.11 Iterative refinement / 85 \\
                 4.12 Scaling / 86 \\
                 4.13 Prevention of ill-conditioning / 88 \\
                 4.14 Overall error bound / 89 \\
                 5: Gaussian elimination for sparse matrices: an
                 introduction \\
                 5.1 Introduction / 93 \\
                 5.2 Features of a sparse matrix code / 94 \\
                 5.3 Orderings / 96 \\
                 5.4 Numerical stability in sparse computation / 98 \\
                 5.5 Estimating condition numbers in sparse computation
                 / 100 \\
                 5.6 The ANALYSE phase / 101 \\
                 5.7 The FACTORIZE and SOLVE phases / 102 \\
                 5.8 Writing compared with using sparse matrix Software
                 / 103 \\
                 6: Reduction to block triangular form \\
                 6.1 Introduction / 105 \\
                 6.2 Background for finding a transversal / 107 \\
                 6.3 A depth-first search algorithm for transversal
                 extension / 109 \\
                 6.4 Analysis of the depth-first search transversal
                 algorithm / 111 \\
                 6.5 Implementation of the transversal algorithm / 112
                 \\
                 6.6 Symmetric permutations to block triangular form /
                 113 \\
                 6.7 The algorithm of Sargent and Westerberg / 114 \\
                 6.8 Tarjan's algorithm / 117 \\
                 6.9 Implementation of Tarjan's algorithm / 120 \\
                 6.10 Essential uniqueness of the block triangular form
                 / 121 \\
                 6.11 Experience with block triangular forms / 122 \\
                 6.12 Maximum transversals / 124 \\
                 7: Local pivotal strategies for sparse matrices \\
                 7.1 Introduction / 127 \\
                 7.2 The Markowitz criterion / 128 \\
                 7.3 Minimum degree (Tinney scheme 2) / 129 \\
                 7.4 Simpler strategies / 130 \\
                 7.5 Local minimum fill-in / 133 \\
                 7.6 Other local strategies / 135 \\
                 7.7 The effect of tie-breaking on the minimum degree
                 algorithm / 136 \\
                 7.8 Numerical pivoting / 139 \\
                 7.9 Sparsity in the right-hand side and partial
                 Solution / 140 \\
                 7.10 Variability-type ordering / 143 \\
                 7.11 The Symmetric indefinite case / 145 \\
                 7.12 Solution methods based on orthogonalization / 145
                 \\
                 8: Ordering sparse matrices to special forms \\
                 8.1 Introduction / 149 \\
                 8.2 Desirable forms / 149 \\
                 8.3 Band and variable-band matrices / 151 \\
                 8.4 Ordering for small bandwidth / 153 \\
                 8.5 Refined quotient trees / 157 \\
                 8.6 One-way dissection / 161 \\
                 8.7 Nested dissection / 163 \\
                 8.8 The Boeing version of the Hellerman--Rarick
                 algorithm / 168 \\
                 8.9 The Hellerman--Rarick ordering / 172 \\
                 9: Implementing Gaussian elimination: ANALYSE with
                 numerical values \\
                 9.1 Introduction / 177 \\
                 9.2 Markowitz ANALYSE / 178 \\
                 9.3 FACTORIZE / 183 \\
                 9.4 SOLVE / 186 \\
                 9.5 Switching to full form / 188 \\
                 9.6 Loop-free code / 191 \\
                 9.7 Interpretative code / 192 \\
                 9.8 A posteriori ordering for stability / 193 \\
                 9.9 The use of drop tolerances to preserve sparsity /
                 195 \\
                 10: Implementing Gaussian elimination with symbolic
                 ANALYSE 10.1 Introduction / 199 \\
                 10.2 Band methods / 200 \\
                 10.3 Variable-band (profile) methods / 204 \\
                 10.4 Special methods for banded Systems / 205 \\
                 10.5 Frontal methods for finite-element problems / 210
                 \\
                 10.6 Frontal methods for non-element problems / 216 \\
                 10.7 Multifrontal (substructuring) methods for
                 finite-element problems / 218 \\
                 10.8 Multifrontal methods for non-element problems /
                 222 \\
                 10.9 Minimum degree ordering / 226 \\
                 10.10 Generating static data structures for FACTORIZE /
                 229 \\
                 10.11 Numerical FACTORIZE and SOLVE using static data
                 structures / 232 \\
                 10.12 Accommodating numerical pivoting within static
                 data structures / 233 \\
                 10.13 Nested dissection, refined quotient tree, and
                 one-way dissection / 234 \\
                 10.14 Effects of Computer architecture / 234 \\
                 11: Partitioning, matrix modification, and tearing \\
                 11.1 Introduction / 239 \\
                 11.2 Exploiting the partitioned form / 240 \\
                 11.3 Using partitioning to handle low-rank
                 perturbations / 242 \\
                 11.4 The matrix modification formula / 243 \\
                 11.5 Low-rank modifications / 244 \\
                 11.6 Use of the modification formula to solve equations
                 / 245 \\
                 11.7 Perturbations that are full-rank submatrices / 247
                 \\
                 11.8 The equivalence of modification and partitioning /
                 249 \\
                 11.9 Modifications that change the matrix Order / 250
                 \\
                 11.10 Artificial perturbations / 251 \\
                 11.11 Branch tearing / 252 \\
                 11.12 Node tearing / 254 \\
                 11.13 Implementation of node and branch tearing / 255
                 \\
                 11.14 Manual choice of partitions and tear sets / 255
                 \\
                 11.15 Automatic choice of partitions and tear sets /
                 257 \\
                 11.16 Nonlinear tearing / 259 \\
                 11.17 Conclusions / 260 \\
                 12: Other sparsity-oriented issues \\
                 12.1 Introduction / 265 \\
                 12.2 Sparsity in nonlinear computations / 266 \\
                 12.3 Estimating a sparse Jacobian matrix / 267 \\
                 12.4 Updating a sparse Hessian matrix / 269 \\
                 12.5 Approximating a sparse matrix by a
                 positive-definite one / 270 \\
                 12.6 The inverse of a sparse matrix / 271 \\
                 12.7 Computing entries of the inverse of a sparse
                 matrix / 273 \\
                 12.8 Sparsity constrained backward error analysis / 275
                 \\
                 12.9 Assembling large finite-element matrices to band
                 form / 277 \\
                 12.10 Hypermatrices / 278 \\
                 Appendix A: Matrix and vector norms / 281 \\
                 Appendix B: The LINPACK condition number estimate / 285
                 \\
                 Appendix C: Fortran Conventions / 287 \\
                 Appendix D: Pictures of sparse matrices / 289 \\
                 Solutions to selected exercises / 297 \\
                 References / 313 \\
                 Author index / 327 \\
                 Subject index / 331",
}


bibtype: book
filename: master.bib
label: Dupre:1995:BW
author: Lyn Dupre
title: Bugs in Writing
publisher: pub-AW
address: pub-AW:adr
pages: xxxiii + 649
year: 1995
ISBN: 0-201-60019-6 (paperback) OR 0201600196 (paperback)
ISBN13: 978-0-201-60019-3 (paperback) OR 9780201600193 (paperback)
LCCN: PEI 408.D85 1995
bibdate: Tue May 12 08:12:28 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.05.12 08:12:28 ???
acknowledgement: ack-nhfb
rawauthor: Lyn Dupr{\'e}
rawtitle: Bugs in Writing
TOC:
1: Required Reading 2: Passive or Missing Agents 3: You and Your Reader 4: So, So That, Such That 5: Two or More 6: Only 7: Redundant Erms 8: Pronouns 9: Undefined this 10: Motivate 11: Oxymorons 12: Shall Versus Proved 13: Everyone, Someone, No one, None 14: Color 15: Effort 16: Which Versus That 17: Spread-Out Phrases 18: While 19: Repeated prepositions 20: Abbreviations and Acronyms 21: Verbize 22: Commas 23: Number Spelling 24: Impact 25: Lists 26: Like Versus Such as 27: Either and Both 28: Hyphens 29: Full Versus Incomplete Infinities 30: Titles 31: Contractions 32: Per 33: Number Styles 34: Quotations 35: Fuzzy Words 36: Parentheses 37: Split Infinitives 38: Is Due to 39: Center on 40: Quotation Marks 41: Remarks Inserted After That 42: Picture Captions 43: Data 44: Ensure, Assure, Insure 45: Foreword Versus Forward 46: Blocks: Theorems, Proofs, Lemmas 47: Above and Below 48: En Dashes 49: As to Whether 50: Who Versus That 51: Though 52: References to Parts 53: Dates and Times of Day 54: Reason is Because 55: With Terms 56: Equals 57: Placement of Adverbs 58: U.S. Versus British Spelling 59: Placement of Prepositions 60: Different from 61: Callouts 62: Exclamation Point 63: Deduce Versus Infer 64: Citations 65: The Fact that 66: Cross References 67: Proposals 68: Better, Best, Worst 69: Missing Words 70: Aggravate 71: Upon 72: Whether Versus If 73: Sections and Heads 74: Comprise 75: In Order to 76: Em Dashes 77: Eminent, Emanate, Imminent, Immanent 78: Expected but Nonarriving Agents 79: Its and It's 80: Adverbs Versus Adjectives 81: Persons Versus People 82: Cap /LC 83: Feel Versus Think 84: Parallelism 85: Points of Ellipsis 86: Last 87: Focus On 88: Latin, Greek, and Other Troublesome Plurals 89: Around 90: Nose 91: Literal and Virtual 92: Semicolon 93: Colon 94: Comparatives 95: Tables 96: Tense 97: Abstracts 98: Neither Nor 99: Will Likely Be 100: Importantly 101: Since 102: References 103: Cannot Can Not 104: Also 105: Nonwords 106: Missing That 107: All of 108: Utilize 109: Dissertations 110: Issue 111: Terms for Describing Human-Computer Interaction 112: So Called 113: Note that Versus Notice that 114: A Lot of 115: Indices Versus Indexes 116: Solids 117: Equations 118: Half 119: Media 120: Not Versus Rather than 121: Visual Aids for Presentations 122: Plural Acronyms 123: Style Sheets and Spell Checkers 124: Maybe Versus May Be 125: Figures 126: General-Specific Words 127: Continuous Versus Continual 128: Fewer Versus Less 129: Italic Type 130: Truncated Words 131: Percent 132: Object, Modifier, Activity 133: Rewords 134: Further Versus Farther 135: Pronouns for Recipients 136: Authorship on Research Articles 137: Respectively 138: Possessives 139: Cliches, Jargon, and Euphemisms 140: Design Elements 141: Word Match 142: Sex Versus Gender 143: Awhile 144: Footnotes 145: Mouth 146: Boxes 147: Exercises, Examples, and Questions 148: Writer's Block

rawTOC:
1: Required Reading \\ 2: Passive or Missing Agents \\ 3: You and Your Reader \\ 4: So, So That, Such That \\ 5: Two or More \\ 6: Only \\ 7: Redundant Erms \\ 8: Pronouns \\ 9: Undefined this \\ 10: Motivate \\ 11: Oxymorons \\ 12: Shall Versus Proved \\ 13: Everyone, Someone, No one, None \\ 14: Color \\ 15: Effort \\ 16: Which Versus That \\ 17: Spread-Out Phrases \\ 18: While \\ 19: Repeated prepositions \\ 20: Abbreviations and Acronyms \\ 21: Verbize \\ 22: Commas \\ 23: Number Spelling \\ 24: Impact \\ 25: Lists \\ 26: Like Versus Such as \\ 27: Either and Both \\ 28: Hyphens \\ 29: Full Versus Incomplete Infinities \\ 30: Titles \\ 31: Contractions \\ 32: Per \\ 33: Number Styles \\ 34: Quotations \\ 35: Fuzzy Words \\ 36: Parentheses \\ 37: Split Infinitives \\ 38: Is Due to \\ 39: Center on \\ 40: Quotation Marks \\ 41: Remarks Inserted After That \\ 42: Picture Captions \\ 43: Data \\ 44: Ensure, Assure, Insure \\ 45: Foreword Versus Forward \\ 46: Blocks: Theorems, Proofs, Lemmas \\ 47: Above and Below \\ 48: En Dashes \\ 49: As to Whether \\ 50: Who Versus That \\ 51: Though \\ 52: References to Parts \\ 53: Dates and Times of Day \\ 54: Reason is Because \\ 55: With Terms \\ 56: Equals \\ 57: Placement of Adverbs \\ 58: U.S. Versus British Spelling \\ 59: Placement of Prepositions \\ 60: Different from \\ 61: Callouts \\ 62: Exclamation Point \\ 63: Deduce Versus Infer \\ 64: Citations \\ 65: The Fact that \\ 66: Cross References \\ 67: Proposals \\ 68: Better, Best, Worst \\ 69: Missing Words \\ 70: Aggravate \\ 71: Upon \\ 72: Whether Versus If \\ 73: Sections and Heads \\ 74: Comprise \\ 75: In Order to \\ 76: Em Dashes \\ 77: Eminent, Emanate, Imminent, Immanent \\ 78: Expected but Nonarriving Agents \\ 79: Its and It's \\ 80: Adverbs Versus Adjectives \\ 81: Persons Versus People \\ 82: Cap /LC \\ 83: Feel Versus Think \\ 84: Parallelism \\ 85: Points of Ellipsis \\ 86: Last \\ 87: Focus On \\ 88: Latin, Greek, and Other Troublesome Plurals \\ 89: Around \\ 90: Nose \\ 91: Literal and Virtual \\ 92: Semicolon \\ 93: Colon \\ 94: Comparatives \\ 95: Tables \\ 96: Tense \\ 97: Abstracts \\ 98: Neither Nor \\ 99: Will Likely Be \\ 100: Importantly \\ 101: Since \\ 102: References \\ 103: Cannot Can Not \\ 104: Also \\ 105: Nonwords \\ 106: Missing That \\ 107: All of \\ 108: Utilize \\ 109: Dissertations \\ 110: Issue \\ 111: Terms for Describing Human-Computer Interaction \\ 112: So Called \\ 113: Note that Versus Notice that \\ 114: A Lot of \\ 115: Indices Versus Indexes \\ 116: Solids \\ 117: Equations \\ 118: Half \\ 119: Media \\ 120: Not Versus Rather than \\ 121: Visual Aids for Presentations \\ 122: Plural Acronyms \\ 123: Style Sheets and Spell Checkers \\ 124: Maybe Versus May Be \\ 125: Figures \\ 126: General-Specific Words \\ 127: Continuous Versus Continual \\ 128: Fewer Versus Less \\ 129: Italic Type \\ 130: Truncated Words \\ 131: Percent \\ 132: Object, Modifier, Activity \\ 133: Rewords \\ 134: Further Versus Farther \\ 135: Pronouns for Recipients \\ 136: Authorship on Research Articles \\ 137: Respectively \\ 138: Possessives \\ 139: Cliches, Jargon, and Euphemisms \\ 140: Design Elements \\ 141: Word Match \\ 142: Sex Versus Gender \\ 143: Awhile \\ 144: Footnotes \\ 145: Mouth \\ 146: Boxes \\ 147: Exercises, Examples, and Questions \\ 148: Writer's Block

entry:
@Book{Dupre:1995:BW,
  author =       "Lyn Dupr{\'e}",
  title =        "Bugs in Writing",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxiii + 649",
  year =         "1995",
  ISBN =         "0-201-60019-6 (paperback)",
  ISBN-13 =      "978-0-201-60019-3 (paperback)",
  LCCN =         "PEI 408.D85 1995",
  bibdate =      "Tue May 12 08:12:28 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$19.95, CDN\$25.95",
  acknowledgement = ack-nhfb,
  DEWEY =        "808/.042 20",
  idnumber =     "524",
  tableofcontents = "1: Required Reading \\
                 2: Passive or Missing Agents \\
                 3: You and Your Reader \\
                 4: So, So That, Such That \\
                 5: Two or More \\
                 6: Only \\
                 7: Redundant Erms \\
                 8: Pronouns \\
                 9: Undefined this \\
                 10: Motivate \\
                 11: Oxymorons \\
                 12: Shall Versus Proved \\
                 13: Everyone, Someone, No one, None \\
                 14: Color \\
                 15: Effort \\
                 16: Which Versus That \\
                 17: Spread-Out Phrases \\
                 18: While \\
                 19: Repeated prepositions \\
                 20: Abbreviations and Acronyms \\
                 21: Verbize \\
                 22: Commas \\
                 23: Number Spelling \\
                 24: Impact \\
                 25: Lists \\
                 26: Like Versus Such as \\
                 27: Either and Both \\
                 28: Hyphens \\
                 29: Full Versus Incomplete Infinities \\
                 30: Titles \\
                 31: Contractions \\
                 32: Per \\
                 33: Number Styles \\
                 34: Quotations \\
                 35: Fuzzy Words \\
                 36: Parentheses \\
                 37: Split Infinitives \\
                 38: Is Due to \\
                 39: Center on \\
                 40: Quotation Marks \\
                 41: Remarks Inserted After That \\
                 42: Picture Captions \\
                 43: Data \\
                 44: Ensure, Assure, Insure \\
                 45: Foreword Versus Forward \\
                 46: Blocks: Theorems, Proofs, Lemmas \\
                 47: Above and Below \\
                 48: En Dashes \\
                 49: As to Whether \\
                 50: Who Versus That \\
                 51: Though \\
                 52: References to Parts \\
                 53: Dates and Times of Day \\
                 54: Reason is Because \\
                 55: With Terms \\
                 56: Equals \\
                 57: Placement of Adverbs \\
                 58: U.S. Versus British Spelling \\
                 59: Placement of Prepositions \\
                 60: Different from \\
                 61: Callouts \\
                 62: Exclamation Point \\
                 63: Deduce Versus Infer \\
                 64: Citations \\
                 65: The Fact that \\
                 66: Cross References \\
                 67: Proposals \\
                 68: Better, Best, Worst \\
                 69: Missing Words \\
                 70: Aggravate \\
                 71: Upon \\
                 72: Whether Versus If \\
                 73: Sections and Heads \\
                 74: Comprise \\
                 75: In Order to \\
                 76: Em Dashes \\
                 77: Eminent, Emanate, Imminent, Immanent \\
                 78: Expected but Nonarriving Agents \\
                 79: Its and It's \\
                 80: Adverbs Versus Adjectives \\
                 81: Persons Versus People \\
                 82: Cap /LC \\
                 83: Feel Versus Think \\
                 84: Parallelism \\
                 85: Points of Ellipsis \\
                 86: Last \\
                 87: Focus On \\
                 88: Latin, Greek, and Other Troublesome Plurals \\
                 89: Around \\
                 90: Nose \\
                 91: Literal and Virtual \\
                 92: Semicolon \\
                 93: Colon \\
                 94: Comparatives \\
                 95: Tables \\
                 96: Tense \\
                 97: Abstracts \\
                 98: Neither Nor \\
                 99: Will Likely Be \\
                 100: Importantly \\
                 101: Since \\
                 102: References \\
                 103: Cannot Can Not \\
                 104: Also \\
                 105: Nonwords \\
                 106: Missing That \\
                 107: All of \\
                 108: Utilize \\
                 109: Dissertations \\
                 110: Issue \\
                 111: Terms for Describing Human-Computer Interaction
                 \\
                 112: So Called \\
                 113: Note that Versus Notice that \\
                 114: A Lot of \\
                 115: Indices Versus Indexes \\
                 116: Solids \\
                 117: Equations \\
                 118: Half \\
                 119: Media \\
                 120: Not Versus Rather than \\
                 121: Visual Aids for Presentations \\
                 122: Plural Acronyms \\
                 123: Style Sheets and Spell Checkers \\
                 124: Maybe Versus May Be \\
                 125: Figures \\
                 126: General-Specific Words \\
                 127: Continuous Versus Continual \\
                 128: Fewer Versus Less \\
                 129: Italic Type \\
                 130: Truncated Words \\
                 131: Percent \\
                 132: Object, Modifier, Activity \\
                 133: Rewords \\
                 134: Further Versus Farther \\
                 135: Pronouns for Recipients \\
                 136: Authorship on Research Articles \\
                 137: Respectively \\
                 138: Possessives \\
                 139: Cliches, Jargon, and Euphemisms \\
                 140: Design Elements \\
                 141: Word Match \\
                 142: Sex Versus Gender \\
                 143: Awhile \\
                 144: Footnotes \\
                 145: Mouth \\
                 146: Boxes \\
                 147: Exercises, Examples, and Questions \\
                 148: Writer's Block",
}


bibtype: book
filename: master.bib
label: Dupre:1998:BWG
author: Lyn Dupre
title: BUGS in writing: a guide to debugging your prose
publisher: pub-AW
address: pub-AW:adr
edition: Revised.
pages: xxxv + 660
year: 1998
ISBN: 0-201-37921-X OR 020137921X
ISBN13: 978-0-201-37921-1 OR 9780201379211
LCCN: PE1408 .D85 1998
bibdate: Wed Jan 5 10:22:44 MST 2022
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2022.01.05 10:22:44 MST
subject: English language; Rhetoric; Grammar; Report writing
acknowledgement: ack-nhfb
rawauthor: Lyn Dupr{\'e}
rawtitle: {BUGS} in writing: a guide to debugging your prose
TOC:
Read Me: Ear 1: Passive or Missing Agents 2: You and Your Reader 3: So, So That, Such That 4: Two or More 5: Only 6: Redundant Terms 7: Pronouns 8: Undefined This 9: Motivate 10: Oxymorons 11: Shall Versus Will 12: Key Terms 13: Proven Versus Proved 14: Everyone, Someone, No One, None 15: Colon 16: Effort 17: Which Versus That 18: Spread-Out Phrases 19: While 20: Repeated Prepositions 21: Abbreviations and Acronyms 22: Verbize 23: Commas 24: Number Spelling 25: Impact 26: Lists 27: Like Versus Such As 28: Either and Both 29: Hyphens 30: Full Versus Incomplete Infinitives 31: Titles 32: Contractions 33: Per 34: Number Styles 35: Quotations 36: Fuzzy Words 37: Parentheses 38: Split Infinitives 39: Is Due To 40: Center On 41: Quotation Marks 42: Remarks Inserted After That 43: Figure Captions 44: Data 45: Ensure, Assure, Insure 46: Foreword Versus Forward 47: Blocks:Theorems, Proofs, Lemmas 48: Above and Below 49: En Dashes 50: As to Whether 51: Who Versus That 52: Though 53: References to Parts 54: Dates and Times of Day 55: Reason Is Because 56: With Terms 57: Equals 58: Placement of Adverbs 59: U.S. Versus British Spelling 60: Placement of Prepositions 61: Different From 62: Callouts 63: Exclamation Point 64: Deduce Versus Infer 65: Citations 66: The Fact That 67: Cross-References 68: Proposals 69: Better, Best, Worst ldots 291 70: Missing Words 71: Aggravate 72: Upon 73: Whether Versus If 74: Sections and Heads 75: Comprise 76: In Order To 77: Em Dashes 78: Eminent, Emanate, Imminent, Immanent 79: Expected but Nonarriving Agents 80: Its Versus It's 81: Adverbs Versus Adjectives 82: Persons Versus People 83: Cap / lc 84: Feel Versus Think 85: Parallelism 86: Points of Ellipsis 87: Last 88: Focus On 89: Troublesome Plurals 90: Around 91: Nose 92: Literal and Virtual 93: Semicolon 94: Code 95: Comparatives 96: Tables 97: Tense 98: Abstracts 99: Neither Nor 100: Will Likely Be 101: Importantly 102: Since 103: References 104: Cannot Versus Can Not 105: Also 106: Nonwords 107: Missing That 108: All Of 109: Utilize 110: Dissertations 111: Issue 112: Terms for Human-Computer Interaction 113: So Called 114: Note That Versus Notice That 115: Affect Versus Effect 116: Indices Versus Indexes 117: Solidus 118: Equations 119: Half 120: Media 121: Not Versus Rather Than 122: Visual Aids for Presentations 123: Plural Abbreviations 124: Style Sheets and Spell Checkers 125: Maybe Versus May Be 126: Figures 127: Gender-Specific Words 128: Continuous Versus Continual 129: Fewer Versus Less 130: Italic Type 131: Truncated Words 132: Percent 133: Object, Modifier, Activity 134: Rewords 135: Further Versus Farther 136: Pronouns for Recipients 137: Authorship on Research Articles 138: Respectively 139: Possessives 140: Cliches, Jargon, and Euphemisms 141: Design Elements and Eye 142: Word Match 143: Sex Versus Gender 144: Awhile 145: Footnotes 146: Mouth 147: Boxes 148: Exercises, Examples, and Questions 149: Writer's Block

rawTOC:
Read Me: Ear \\ 1: Passive or Missing Agents \\ 2: You and Your Reader \\ 3: So, So That, Such That \\ 4: Two or More \\ 5: Only \\ 6: Redundant Terms \\ 7: Pronouns \\ 8: Undefined This \\ 9: Motivate \\ 10: Oxymorons \\ 11: Shall Versus Will \\ 12: Key Terms \\ 13: Proven Versus Proved \\ 14: Everyone, Someone, No One, None \\ 15: Colon \\ 16: Effort \\ 17: Which Versus That \\ 18: Spread-Out Phrases \\ 19: While \\ 20: Repeated Prepositions \\ 21: Abbreviations and Acronyms \\ 22: Verbize \\ 23: Commas \\ 24: Number Spelling \\ 25: Impact \\ 26: Lists \\ 27: Like Versus Such As \\ 28: Either and Both \\ 29: Hyphens \\ 30: Full Versus Incomplete Infinitives \\ 31: Titles \\ 32: Contractions \\ 33: Per \\ 34: Number Styles \\ 35: Quotations \\ 36: Fuzzy Words \\ 37: Parentheses \\ 38: Split Infinitives \\ 39: Is Due To \\ 40: Center On \\ 41: Quotation Marks \\ 42: Remarks Inserted After That \\ 43: Figure Captions \\ 44: Data \\ 45: Ensure, Assure, Insure \\ 46: Foreword Versus Forward \\ 47: Blocks:Theorems, Proofs, Lemmas \\ 48: Above and Below \\ 49: En Dashes \\ 50: As to Whether \\ 51: Who Versus That \\ 52: Though \\ 53: References to Parts \\ 54: Dates and Times of Day \\ 55: Reason Is Because \\ 56: With Terms \\ 57: Equals \\ 58: Placement of Adverbs \\ 59: U.S. Versus British Spelling \\ 60: Placement of Prepositions \\ 61: Different From \\ 62: Callouts \\ 63: Exclamation Point \\ 64: Deduce Versus Infer \\ 65: Citations \\ 66: The Fact That \\ 67: Cross-References \\ 68: Proposals \\ 69: Better, Best, Worst \ldots{} 291 \\ 70: Missing Words \\ 71: Aggravate \\ 72: Upon \\ 73: Whether Versus If \\ 74: Sections and Heads \\ 75: Comprise \\ 76: In Order To \\ 77: Em Dashes \\ 78: Eminent, Emanate, Imminent, Immanent \\ 79: Expected but Nonarriving Agents \\ 80: Its Versus It's \\ 81: Adverbs Versus Adjectives \\ 82: Persons Versus People \\ 83: Cap / lc \\ 84: Feel Versus Think \\ 85: Parallelism \\ 86: Points of Ellipsis \\ 87: Last \\ 88: Focus On \\ 89: Troublesome Plurals \\ 90: Around \\ 91: Nose \\ 92: Literal and Virtual \\ 93: Semicolon \\ 94: Code \\ 95: Comparatives \\ 96: Tables \\ 97: Tense \\ 98: Abstracts \\ 99: Neither Nor \\ 100: Will Likely Be \\ 101: Importantly \\ 102: Since \\ 103: References \\ 104: Cannot Versus Can Not \\ 105: Also \\ 106: Nonwords \\ 107: Missing That \\ 108: All Of \\ 109: Utilize \\ 110: Dissertations \\ 111: Issue \\ 112: Terms for Human-Computer Interaction \\ 113: So Called \\ 114: Note That Versus Notice That \\ 115: Affect Versus Effect \\ 116: Indices Versus Indexes \\ 117: Solidus \\ 118: Equations \\ 119: Half \\ 120: Media \\ 121: Not Versus Rather Than \\ 122: Visual Aids for Presentations \\ 123: Plural Abbreviations \\ 124: Style Sheets and Spell Checkers \\ 125: Maybe Versus May Be \\ 126: Figures \\ 127: Gender-Specific Words \\ 128: Continuous Versus Continual \\ 129: Fewer Versus Less \\ 130: Italic Type \\ 131: Truncated Words \\ 132: Percent \\ 133: Object, Modifier, Activity \\ 134: Rewords \\ 135: Further Versus Farther \\ 136: Pronouns for Recipients \\ 137: Authorship on Research Articles \\ 138: Respectively \\ 139: Possessives \\ 140: Cliches, Jargon, and Euphemisms \\ 141: Design Elements and Eye \\ 142: Word Match \\ 143: Sex Versus Gender \\ 144: Awhile \\ 145: Footnotes \\ 146: Mouth \\ 147: Boxes \\ 148: Exercises, Examples, and Questions \\ 149: Writer's Block

entry:
@Book{Dupre:1998:BWG,
  author =       "Lyn Dupr{\'e}",
  title =        "{BUGS} in writing: a guide to debugging your prose",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Revised.",
  pages =        "xxxv + 660",
  year =         "1998",
  ISBN =         "0-201-37921-X",
  ISBN-13 =      "978-0-201-37921-1",
  LCCN =         "PE1408 .D85 1998",
  bibdate =      "Wed Jan 5 10:22:44 MST 2022",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  libnote =      "Not in my library.",
  subject =      "English language; Rhetoric; Grammar; Report writing",
  tableofcontents = "Read Me: Ear \\
                 1: Passive or Missing Agents \\
                 2: You and Your Reader \\
                 3: So, So That, Such That \\
                 4: Two or More \\
                 5: Only \\
                 6: Redundant Terms \\
                 7: Pronouns \\
                 8: Undefined This \\
                 9: Motivate \\
                 10: Oxymorons \\
                 11: Shall Versus Will \\
                 12: Key Terms \\
                 13: Proven Versus Proved \\
                 14: Everyone, Someone, No One, None \\
                 15: Colon \\
                 16: Effort \\
                 17: Which Versus That \\
                 18: Spread-Out Phrases \\
                 19: While \\
                 20: Repeated Prepositions \\
                 21: Abbreviations and Acronyms \\
                 22: Verbize \\
                 23: Commas \\
                 24: Number Spelling \\
                 25: Impact \\
                 26: Lists \\
                 27: Like Versus Such As \\
                 28: Either and Both \\
                 29: Hyphens \\
                 30: Full Versus Incomplete Infinitives \\
                 31: Titles \\
                 32: Contractions \\
                 33: Per \\
                 34: Number Styles \\
                 35: Quotations \\
                 36: Fuzzy Words \\
                 37: Parentheses \\
                 38: Split Infinitives \\
                 39: Is Due To \\
                 40: Center On \\
                 41: Quotation Marks \\
                 42: Remarks Inserted After That \\
                 43: Figure Captions \\
                 44: Data \\
                 45: Ensure, Assure, Insure \\
                 46: Foreword Versus Forward \\
                 47: Blocks:Theorems, Proofs, Lemmas \\
                 48: Above and Below \\
                 49: En Dashes \\
                 50: As to Whether \\
                 51: Who Versus That \\
                 52: Though \\
                 53: References to Parts \\
                 54: Dates and Times of Day \\
                 55: Reason Is Because \\
                 56: With Terms \\
                 57: Equals \\
                 58: Placement of Adverbs \\
                 59: U.S. Versus British Spelling \\
                 60: Placement of Prepositions \\
                 61: Different From \\
                 62: Callouts \\
                 63: Exclamation Point \\
                 64: Deduce Versus Infer \\
                 65: Citations \\
                 66: The Fact That \\
                 67: Cross-References \\
                 68: Proposals \\
                 69: Better, Best, Worst \ldots{} 291 \\
                 70: Missing Words \\
                 71: Aggravate \\
                 72: Upon \\
                 73: Whether Versus If \\
                 74: Sections and Heads \\
                 75: Comprise \\
                 76: In Order To \\
                 77: Em Dashes \\
                 78: Eminent, Emanate, Imminent, Immanent \\
                 79: Expected but Nonarriving Agents \\
                 80: Its Versus It's \\
                 81: Adverbs Versus Adjectives \\
                 82: Persons Versus People \\
                 83: Cap / lc \\
                 84: Feel Versus Think \\
                 85: Parallelism \\
                 86: Points of Ellipsis \\
                 87: Last \\
                 88: Focus On \\
                 89: Troublesome Plurals \\
                 90: Around \\
                 91: Nose \\
                 92: Literal and Virtual \\
                 93: Semicolon \\
                 94: Code \\
                 95: Comparatives \\
                 96: Tables \\
                 97: Tense \\
                 98: Abstracts \\
                 99: Neither Nor \\
                 100: Will Likely Be \\
                 101: Importantly \\
                 102: Since \\
                 103: References \\
                 104: Cannot Versus Can Not \\
                 105: Also \\
                 106: Nonwords \\
                 107: Missing That \\
                 108: All Of \\
                 109: Utilize \\
                 110: Dissertations \\
                 111: Issue \\
                 112: Terms for Human-Computer Interaction \\
                 113: So Called \\
                 114: Note That Versus Notice That \\
                 115: Affect Versus Effect \\
                 116: Indices Versus Indexes \\
                 117: Solidus \\
                 118: Equations \\
                 119: Half \\
                 120: Media \\
                 121: Not Versus Rather Than \\
                 122: Visual Aids for Presentations \\
                 123: Plural Abbreviations \\
                 124: Style Sheets and Spell Checkers \\
                 125: Maybe Versus May Be \\
                 126: Figures \\
                 127: Gender-Specific Words \\
                 128: Continuous Versus Continual \\
                 129: Fewer Versus Less \\
                 130: Italic Type \\
                 131: Truncated Words \\
                 132: Percent \\
                 133: Object, Modifier, Activity \\
                 134: Rewords \\
                 135: Further Versus Farther \\
                 136: Pronouns for Recipients \\
                 137: Authorship on Research Articles \\
                 138: Respectively \\
                 139: Possessives \\
                 140: Cliches, Jargon, and Euphemisms \\
                 141: Design Elements and Eye \\
                 142: Word Match \\
                 143: Sex Versus Gender \\
                 144: Awhile \\
                 145: Footnotes \\
                 146: Mouth \\
                 147: Boxes \\
                 148: Exercises, Examples, and Questions \\
                 149: Writer's Block",
}


bibtype: book
filename: master.bib
label: Durbeck:1988:OHD
editor: Robert C. Durbeck and Sol Sherr
title: Output Hardcopy Devices
publisher: pub-ACADEMIC
address: pub-ACADEMIC:adr
pages: xii + 526
year: 1988
ISBN: 0-12-225040-0 OR 0122250400
ISBN13: 978-0-12-225040-8 OR 9780122250408
LCCN: TK7887.7 .O981 1988
bibdate: Tue Dec 14 22:47:46 1993
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1993.12.14 22:47:46 ???
URL: http://www.sciencedirect.com/science/book/9780122250408
acknowledgement: ack-nhfb
raweditor: Robert C. Durbeck and Sol Sherr
rawtitle: Output Hardcopy Devices
note:
See article by Mike Parker on printer fonts, and undesirability of white-writing engines. I have not bought this book.

rawnote:
See article by Mike Parker on printer fonts, and undesirability of white-writing engines. I have not bought this book.

entry:
@Book{Durbeck:1988:OHD,
  editor =       "Robert C. Durbeck and Sol Sherr",
  title =        "Output Hardcopy Devices",
  publisher =    pub-ACADEMIC,
  address =      pub-ACADEMIC:adr,
  pages =        "xii + 526",
  year =         "1988",
  ISBN =         "0-12-225040-0",
  ISBN-13 =      "978-0-12-225040-8",
  LCCN =         "TK7887.7 .O981 1988",
  bibdate =      "Tue Dec 14 22:47:46 1993",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "See article by Mike Parker on printer fonts, and
                 undesirability of white-writing engines. I have not
                 bought this book.",
  URL =          "http://www.sciencedirect.com/science/book/9780122250408",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: duSautoy:2003:MPS
author: Marcus du Sautoy
title: The music of the primes: searching to solve the greatest mystery in mathematics
publisher: pub-HARPERCOLLINS
address: pub-HARPERCOLLINS:adr
pages: 335
year: 2003
ISBN: 0-06-621070-4 OR 0066210704
ISBN13: 978-0-06-621070-4 OR 9780066210704
LCCN: QA246 .D8 2003
bibdate: Mon Aug 11 12:28:44 2003
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2003.08.11 12:28:44 ???
keywords: Numbers, Prime; Riemann, Bernhard, 1826--1866
acknowledgement: ack-nhfb
rawauthor: Marcus du Sautoy
rawtitle: The music of the primes: searching to solve the greatest mystery in mathematics
TOC:
Who wants to be a millionaire? The atoms of arithmetic Riemann's imaginary mathematical looking-glass The Riemann Hypothesis: From random primes to orderly zeros The mathematical relay race: Realising Riemann's revolution Ramanujan, the mathematical mystic Mathematical exodus: From Gottingen to Princeton Machines of the mind The computer age: From the mind to the desktop Cracking numbers and codes From orderly zeros to quantum chaos The missing piece of the jigsaw

rawTOC:
Who wants to be a millionaire? \\ The atoms of arithmetic \\ Riemann's imaginary mathematical looking-glass \\ The Riemann Hypothesis: From random primes to orderly zeros \\ The mathematical relay race: Realising Riemann's revolution \\ Ramanujan, the mathematical mystic \\ Mathematical exodus: From G{\"o}ttingen to Princeton \\ Machines of the mind \\ The computer age: From the mind to the desktop \\ Cracking numbers and codes \\ From orderly zeros to quantum chaos \\ The missing piece of the jigsaw

entry:
@Book{duSautoy:2003:MPS,
  author =       "Marcus du Sautoy",
  title =        "The music of the primes: searching to solve the
                 greatest mystery in mathematics",
  publisher =    pub-HARPERCOLLINS,
  address =      pub-HARPERCOLLINS:adr,
  pages =        "335",
  year =         "2003",
  ISBN =         "0-06-621070-4",
  ISBN-13 =      "978-0-06-621070-4",
  LCCN =         "QA246 .D8 2003",
  bibdate =      "Mon Aug 11 12:28:44 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$24.95, CAN\$38.95",
  acknowledgement = ack-nhfb,
  keywords =     "Numbers, Prime; Riemann, Bernhard, 1826--1866",
  tableofcontents = "Who wants to be a millionaire? \\
                 The atoms of arithmetic \\
                 Riemann's imaginary mathematical looking-glass \\
                 The Riemann Hypothesis: From random primes to orderly
                 zeros \\
                 The mathematical relay race: Realising Riemann's
                 revolution \\
                 Ramanujan, the mathematical mystic \\
                 Mathematical exodus: From G{\"o}ttingen to Princeton
                 \\
                 Machines of the mind \\
                 The computer age: From the mind to the desktop \\
                 Cracking numbers and codes \\
                 From orderly zeros to quantum chaos \\
                 The missing piece of the jigsaw",
}


bibtype: book
filename: master.bib
label: Dushman:1938:EQM
author: Saul Dushman
title: The Elements of Quantum Mechanics
publisher: pub-WILEY
address: pub-WILEY:adr
pages: xiii + 452
year: 1938
LCCN: QC174.1 .D8
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: Saul Dushman
rawtitle: The Elements of Quantum Mechanics
entry:
@Book{Dushman:1938:EQM,
  author =       "Saul Dushman",
  title =        "The Elements of Quantum Mechanics",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xiii + 452",
  year =         "1938",
  LCCN =         "QC174.1 .D8",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  xxISBN =       "none",
}


bibtype: article
filename: master.bib
label: Dvonch:color-pdl
author: Mary Ann Dvonch and Paul Roetling and Robert Buckley
title: Color Descriptors in Page Description Languages
journal: j-PROC-SID
volume: 30
number: 2
pages: 177--181
year: 1989
bibdate: Sun Dec 4 12:30:46 1994
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1994.12.04 12:30:46 ???
acknowledgement: ack-nhfb
rawauthor: Mary Ann Dvonch and Paul Roetling and Robert Buckley
rawtitle: Color Descriptors in Page Description Languages
entry:
@Article{Dvonch:color-pdl,
  author =       "Mary Ann Dvonch and Paul Roetling and Robert Buckley",
  title =        "Color Descriptors in Page Description Languages",
  journal =      j-PROC-SID,
  volume =       "30",
  number =       "2",
  pages =        "177--181",
  year =         "1989",
  bibdate =      "Sun Dec 4 12:30:46 1994",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Dybvig:1987:SPL
author: R. Kent Dybvig
title: The SCHEME programming language
publisher: pub-PH
address: pub-PH:adr
pages: 242
year: 1987
ISBN: 0-13-791864-X (paperback) OR 013791864X (paperback)
ISBN13: 978-0-13-791864-5 (paperback) OR 9780137918645 (paperback)
LCCN: QA76.73.S34 D93 1987
bibdate: Sat Jan 19 08:19:21 MST 2019
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2019.01.19 08:19:21 MST
subject: SCHEME (Computer program language); computer systems
acknowledgement: ack-nhfb
rawauthor: R. Kent Dybvig
rawtitle: The {SCHEME} programming language
TOC:
Preface / ix Introduction / 1 Getting Started / 11 Going Further / 55 Procedures and Variable Bindings / 83 Control Operations / 93 Operations as Objects / 119 Input and Output / 169 Syntactic Extension / 181 Extended Examples / 211 Bibliography / 259 Answers to Selected Exercises / 261 Formal Syntax of Scheme / 277 Summary of Forms / 281 Index / 289

rawTOC:
Preface / ix \\ Introduction / 1 \\ Getting Started / 11 \\ Going Further / 55 \\ Procedures and Variable Bindings / 83 \\ Control Operations / 93 \\ Operations as Objects / 119 \\ Input and Output / 169 \\ Syntactic Extension / 181 \\ Extended Examples / 211 \\ Bibliography / 259 \\ Answers to Selected Exercises / 261 \\ Formal Syntax of Scheme / 277 \\ Summary of Forms / 281 \\ Index / 289

entry:
@Book{Dybvig:1987:SPL,
  author =       "R. Kent Dybvig",
  title =        "The {SCHEME} programming language",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "242",
  year =         "1987",
  ISBN =         "0-13-791864-X (paperback)",
  ISBN-13 =      "978-0-13-791864-5 (paperback)",
  LCCN =         "QA76.73.S34 D93 1987",
  bibdate =      "Sat Jan 19 08:19:21 MST 2019",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  subject =      "SCHEME (Computer program language); computer systems",
  tableofcontents = "Preface / ix \\
                 Introduction / 1 \\
                 Getting Started / 11 \\
                 Going Further / 55 \\
                 Procedures and Variable Bindings / 83 \\
                 Control Operations / 93 \\
                 Operations as Objects / 119 \\
                 Input and Output / 169 \\
                 Syntactic Extension / 181 \\
                 Extended Examples / 211 \\
                 Bibliography / 259 \\
                 Answers to Selected Exercises / 261 \\
                 Formal Syntax of Scheme / 277 \\
                 Summary of Forms / 281 \\
                 Index / 289",
}


bibtype: book
filename: master.bib
label: Dybvig:1996:SPL
author: R. Kent Dybvig
title: The SCHEME Programming Language: ANSI Scheme
publisher: pub-PH
address: pub-PH:adr
edition: Second
pages: xii + 248
year: 1996
ISBN: 0-13-454646-6 OR 0134546466
ISBN13: 978-0-13-454646-9 OR 9780134546469
LCCN: QA76.73.S34 D93 1996
bibdate: Thu May 09 14:09:08 2002
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2002.05.09 14:09:08 ???
URL: http://www.scheme.com/tspl2d/
acknowledgement: ack-nhfb
rawauthor: R. Kent Dybvig
rawtitle: The {SCHEME} Programming Language: {ANSI} Scheme
abstract:
Scheme is a general purpose programming language descended from Algol and Lisp. Because it is conceptually clean and simple, it is an easy language to learn. At the same time, it is a powerful language, and full mastery of its power requires careful study and practice. Scheme is widely used in computing education and research, as well as for a broad spectrum of industrial applications ranging from graphical user interfaces and language compilers to virtual reality engines, web navigators, and enterprise computing solutions. This revised edition of booktitle The Scheme Programming Language provides an introduction to the language for readers with some programming experience. Beginning with a gentle introduction for novice Scheme programmers, it leads the reader through a series of progressively more difficult examples that introduce each of the major features of the language. Advanced concepts and features are thoroughly covered with examples and exercises appropriate even for more experienced programmers.

TOC:
1: Introduction Scheme Syntax Scheme Naming Conventions Typographical and Notational Conventions 2: Getting Started Interacting with Scheme Simple Expressions Evaluating Scheme Expressions Variables and Let Expressions Lambda Expressions Top-Level Definitions Conditional Expressions Simple Recursion Assignment 3: Going Further Syntactic Extension More Recursion Continuations Continuation Passing Style Internal Definitions 4: Variable Binding Variable References Lambda Local Binding Variable Definitions Assignment 5: Control Operations Constants and Quotation Procedure Application Sequencing Conditionals Recursion, Iteration, and Mapping Continuations Delayed Evaluation Multiple Values Eval 6: Operations on Objects Generic Equivalence and Type Predicates Lists and Pairs Numbers Characters Strings Vectors Symbols 7: Input and Output Input Operations Output Operations Loading Programs Transcript Files 8: Syntactic Extension Keyword Bindings Syntax-Rules Transformers Syntax-Case Transformers Examples 9: Extended Examples Matrix and Vector Multiplication List Sorting A Set Constructor Word Frequency Counting Scheme Printer Formatted Output A Meta-Circular Interpreter for Scheme Defining Abstract Objects Fast Fourier Transform A Unification Algorithm Multitasking with Engines Bibliography Formal Syntax of Scheme Summary of Forms Index

rawabstract:
Scheme is a general purpose programming language descended from Algol and Lisp. Because it is conceptually clean and simple, it is an easy language to learn. At the same time, it is a powerful language, and full mastery of its power requires careful study and practice. Scheme is widely used in computing education and research, as well as for a broad spectrum of industrial applications ranging from graphical user interfaces and language compilers to virtual reality engines, web navigators, and enterprise computing solutions. This revised edition of \booktitle{The Scheme Programming Language} provides an introduction to the language for readers with some programming experience. Beginning with a gentle introduction for novice Scheme programmers, it leads the reader through a series of progressively more difficult examples that introduce each of the major features of the language. Advanced concepts and features are thoroughly covered with examples and exercises appropriate even for more experienced programmers.

rawTOC:
1: Introduction \\ Scheme Syntax \\ Scheme Naming Conventions \\ Typographical and Notational Conventions \\ 2: \\ Getting Started \\ Interacting with Scheme \\ Simple Expressions \\ Evaluating Scheme Expressions \\ Variables and Let Expressions \\ Lambda Expressions \\ Top-Level Definitions \\ Conditional Expressions \\ Simple Recursion \\ Assignment \\ 3: \\ Going Further \\ Syntactic Extension \\ More Recursion \\ Continuations \\ Continuation Passing Style \\ Internal Definitions \\ 4: \\ Variable Binding \\ Variable References \\ Lambda \\ Local Binding \\ Variable Definitions \\ Assignment \\ 5: \\ Control Operations \\ Constants and Quotation \\ Procedure Application \\ Sequencing \\ Conditionals \\ Recursion, Iteration, and Mapping \\ Continuations \\ Delayed Evaluation \\ Multiple \\ Values \\ Eval \\ 6: \\ Operations on Objects \\ Generic Equivalence and Type Predicates \\ Lists and Pairs \\ Numbers \\ Characters \\ Strings \\ Vectors \\ Symbols \\ 7: \\ Input and Output \\ Input Operations \\ Output Operations \\ Loading Programs \\ Transcript Files \\ 8: \\ Syntactic Extension \\ Keyword Bindings \\ Syntax-Rules Transformers \\ Syntax-Case Transformers \\ Examples \\ 9: \\ Extended Examples \\ Matrix and Vector Multiplication \\ List Sorting \\ A Set Constructor \\ Word Frequency Counting \\ Scheme Printer \\ Formatted Output \\ A Meta-Circular Interpreter for Scheme \\ Defining Abstract Objects \\ Fast Fourier Transform \\ A Unification Algorithm \\ Multitasking with Engines \\ Bibliography \\ Formal Syntax of Scheme \\ Summary of Forms \\ Index

entry:
@Book{Dybvig:1996:SPL,
  author =       "R. Kent Dybvig",
  title =        "The {SCHEME} Programming Language: {ANSI} Scheme",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xii + 248",
  year =         "1996",
  ISBN =         "0-13-454646-6",
  ISBN-13 =      "978-0-13-454646-9",
  LCCN =         "QA76.73.S34 D93 1996",
  bibdate =      "Thu May 09 14:09:08 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$64.00",
  URL =          "http://www.scheme.com/tspl2d/",
  abstract =     "Scheme is a general purpose programming language
                 descended from Algol and Lisp. Because it is
                 conceptually clean and simple, it is an easy language
                 to learn. At the same time, it is a powerful language,
                 and full mastery of its power requires careful study
                 and practice. Scheme is widely used in computing
                 education and research, as well as for a broad spectrum
                 of industrial applications ranging from graphical user
                 interfaces and language compilers to virtual reality
                 engines, web navigators, and enterprise computing
                 solutions. This revised edition of \booktitle{The
                 Scheme Programming Language} provides an introduction
                 to the language for readers with some programming
                 experience. Beginning with a gentle introduction for
                 novice Scheme programmers, it leads the reader through
                 a series of progressively more difficult examples that
                 introduce each of the major features of the language.
                 Advanced concepts and features are thoroughly covered
                 with examples and exercises appropriate even for more
                 experienced programmers.",
  acknowledgement = ack-nhfb,
  libnote =      "Not yet in my library.",
  tableofcontents = "1: Introduction \\
                 Scheme Syntax \\
                 Scheme Naming Conventions \\
                 Typographical and Notational Conventions \\
                 2: \\
                 Getting Started \\
                 Interacting with Scheme \\
                 Simple Expressions \\
                 Evaluating Scheme Expressions \\
                 Variables and Let Expressions \\
                 Lambda Expressions \\
                 Top-Level Definitions \\
                 Conditional Expressions \\
                 Simple Recursion \\
                 Assignment \\
                 3: \\
                 Going Further \\
                 Syntactic Extension \\
                 More Recursion \\
                 Continuations \\
                 Continuation Passing Style \\
                 Internal Definitions \\
                 4: \\
                 Variable Binding \\
                 Variable References \\
                 Lambda \\
                 Local Binding \\
                 Variable Definitions \\
                 Assignment \\
                 5: \\
                 Control Operations \\
                 Constants and Quotation \\
                 Procedure Application \\
                 Sequencing \\
                 Conditionals \\
                 Recursion, Iteration, and Mapping \\
                 Continuations \\
                 Delayed Evaluation \\
                 Multiple \\
                 Values \\
                 Eval \\
                 6: \\
                 Operations on Objects \\
                 Generic Equivalence and Type Predicates \\
                 Lists and Pairs \\
                 Numbers \\
                 Characters \\
                 Strings \\
                 Vectors \\
                 Symbols \\
                 7: \\
                 Input and Output \\
                 Input Operations \\
                 Output Operations \\
                 Loading Programs \\
                 Transcript Files \\
                 8: \\
                 Syntactic Extension \\
                 Keyword Bindings \\
                 Syntax-Rules Transformers \\
                 Syntax-Case Transformers \\
                 Examples \\
                 9: \\
                 Extended Examples \\
                 Matrix and Vector Multiplication \\
                 List Sorting \\
                 A Set Constructor \\
                 Word Frequency Counting \\
                 Scheme Printer \\
                 Formatted Output \\
                 A Meta-Circular Interpreter for Scheme \\
                 Defining Abstract Objects \\
                 Fast Fourier Transform \\
                 A Unification Algorithm \\
                 Multitasking with Engines \\
                 Bibliography \\
                 Formal Syntax of Scheme \\
                 Summary of Forms \\
                 Index",
}


bibtype: book
filename: master.bib
label: Dybvig:2003:SPL
author: R. Kent Dybvig
title: The Scheme programming language
publisher: pub-MIT
address: pub-MIT:adr
edition: Third
pages: xi + 295
year: 2003
ISBN: 0-262-54148-3 (paperback) OR 0262541483 (paperback)
ISBN13: 978-0-262-54148-0 (paperback) OR 9780262541480 (paperback)
LCCN: QA76.73.S34.D93; QA76.73.S34.D93 2003
bibdate: Mon Mar 20 16:43:23 MST 2006
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; library.mit.edu:9909/mit01
bibtimestamp: 2006.03.20 16:43:23 MST
subject: Scheme (Computer program language)
acknowledgement: ack-nhfb
rawauthor: R. Kent Dybvig
rawtitle: The {Scheme} programming language
TOC:
1. Introduction 2. Getting Started 3. Going Further 4. Procedures and Variable Bindings 5. Control Operations 6. Operations on Objects 7. Input and Output 8. Syntactic Extension 9. Extended Examples

rawTOC:
1. Introduction\\ 2. Getting Started\\ 3. Going Further\\ 4. Procedures and Variable Bindings\\ 5. Control Operations\\ 6. Operations on Objects\\ 7. Input and Output\\ 8. Syntactic Extension\\ 9. Extended Examples

entry:
@Book{Dybvig:2003:SPL,
  author =       "R. Kent Dybvig",
  title =        "The {Scheme} programming language",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  edition =      "Third",
  pages =        "xi + 295",
  year =         "2003",
  ISBN =         "0-262-54148-3 (paperback)",
  ISBN-13 =      "978-0-262-54148-0 (paperback)",
  LCCN =         "QA76.73.S34.D93; QA76.73.S34.D93 2003",
  bibdate =      "Mon Mar 20 16:43:23 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
  libnote =      "Not yet in my library.",
  subject =      "Scheme (Computer program language)",
  tableofcontents = "1. Introduction\\
                 2. Getting Started\\
                 3. Going Further\\
                 4. Procedures and Variable Bindings\\
                 5. Control Operations\\
                 6. Operations on Objects\\
                 7. Input and Output\\
                 8. Syntactic Extension\\
                 9. Extended Examples",
}


bibtype: book
filename: master.bib
label: Dyer:1965:AAS
author: John R. (John Robert) Dyer
title: Applications of Absorption Spectroscopy of Organic Compounds
publisher: pub-PH
address: pub-PH:adr
pages: x + 147
year: 1965
LCCN: QD476 .D9
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: John R. (John Robert) Dyer
rawtitle: Applications of Absorption Spectroscopy of Organic Compounds
entry:
@Book{Dyer:1965:AAS,
  author =       "John R. (John Robert) Dyer",
  title =        "Applications of Absorption Spectroscopy of Organic
                 Compounds",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "x + 147",
  year =         "1965",
  LCCN =         "QD476 .D9",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  xxISBN =       "none",
}


bibtype: book
filename: master.bib
label: Dylla:2020:SJP
author: H. Frederick Dylla
booktitle: Scientific Journeys: a Physicist Explores the Culture, History and Personalities of Science
title: Scientific Journeys: a Physicist Explores the Culture, History and Personalities of Science
publisher: Springer
address: Cham, Switzerland
pages: xxv + 222
year: 2020
DOI: https://doi.org/10.1007/978-3-030-55800-0
ISBN: 3-030-55799-5 (paperback), 3-030-55800-2 (e-book) OR 3030557995 (paperback), 3030558002 (ebook)
LCCN: Q125 .D955 2020
bibdate: Tue May 4 06:37:04 MDT 2021
bibtimestamp: 2021.05.04 06:37:04 MDT
acknowledgement: ack-nhfb
rawauthor: H. Frederick Dylla
rawbooktitle: Scientific Journeys: a Physicist Explores the Culture, History and Personalities of Science
rawtitle: Scientific Journeys: a Physicist Explores the Culture, History and Personalities of Science
ISBN13:
978-3-030-55799-7 (paperback), 978-3-030-55800-0 (e-book) OR 9783030557997 (paperback), 9783030558000 (ebook)

bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/bibnet/authors/f/feynman-richard-p.bib; https://www.math.utah.edu/pub/bibnet/authors/r/rutherford-ernest.bib; https://www.math.utah.edu/pub/tex/bib/master.bib

abstract:
This collection of essays traces a scientific journey bookmarked by remarkable mentors and milestones of science. It provides fascinating reading for everyone interested in the history, public appreciation, and value of science, as well as giving first-hand accounts of many key events and prominent figures. The author was one of the ``sputnik kids'' growing up in the US at the start of the space age. He built a working laser just two years after they were first invented, an experience that convinced him to become a physicist. During his 50-year career in physics, many personalities and notable events in science and technology helped to form his view of how science contributes to the modern world, including his conviction that the impact of science can be most effective when introduced within the context of the humanities --- especially history, literature and the arts. From the Foreword by former U.S. Congressman, Rush D. Holt: In this volume, we have the wide-ranging thoughts and observations of Fred Dylla, an accomplished physicist with an engineer's fascination for gadgets, a historian's long perspective, an artist's aesthetic eye, and a teacher's passion for sharing ideas. Throughout his varied career [ldots ] his curiosity has been his foremost characteristic and his ability to see the connection between apparently disparate things his greatest skill. [ldots ] Here he examines the roots and growth of innovation in examples from Bell Laboratories, Edison Electric Light Company, and cubist painter Georges Braque. He considers the essential place of publishing in science, that epochal intellectual technique for learning how the world works. He shows the human enrichment and practical benefits that derive from wise investments in scientific research, as well as the waste resulting from a failure to embrace appropriate technologies.

subject:
Physics; Science; Social aspects; Technology; History, Modern; Printing; Publishers and publishing; Popular Science in Physics; Societal Aspects of Physics, Outreach and Education; Popular Science in Technology; Modern History; Printing and Publishing; US Politics; History, Modern; Physics; Printing; Publishers and publishing; Social aspects; Technology; United States; Politics and government

TOC:
Part I: Signposts 1: Literature and Legacy Flow Along the Rhine / 3 2: Invention and Discovery: Fleming and Edison / 7 3: Rutherford's Nuclear World / 11 4: Fueling Science for War and Peace / 17 5: Shelter Island's Famous Physicists / 21 6: Feynman's Scientific Integrity / 25 7: Calculating from Memory / 29 8: The Electronic Water Cooler / 33 9: Lessons from Steve Jobs / 37 10: What We Hear from Bose / 41 11: The French Connection / 45 12: Mr. Fresnel's Gift to the World / 49 13: Lighting the Way for Innovation / 53 14: China's Science Ambassador / 59 15: Bringing Science Back to Vietnam / 63 Part II: Mentors and Milestones 16: Exciting the Imagination: My First Laser / 69 17: The Master Teacher / 75 18: How Long is the Fuse on Fusion? 83 19: Excitement and Disappointment: The Emotions of Science / 89 20: Considering Future Energy Options: Extrapolations from a Real Experiment / 93 21: My Encounters with the Queen of Carbon / 97 22: A Prize Hidden Under a Piece of Tape / 101 23: The Big Machine / 105 24: The Collider that Couldn't / 111 25: One Man Can Make a Difference / 115 26: A Bright Light in Virginia / 125 27: Gravity's Songs / 133 Part III: Science Policy Matters 28: Innovation in a Young Nation / 143 29: Big and Small Science: No Need to Choose / 147 30: Reminding All of Us That Basic Research Pays Off / 149 31: Science and Engineering: Hand-in-Hand / 153 32: The Professor is on the Screen / 157 33: Go Visit a Science Museum / 161 Part IV: Communicating Science 34: Illuminating Manuscripts / 167 35: Science Must Navigate the Gale of Creative Destruction / 171 36: Roundtables Help / 175 37: Imagine a World Without Editors / 179 38: Please Read My Paper / 183 39: Getting It Right / 187 40: A Vision for Open Scholarship / 191 41: The Scientific Journal Marks 350 / 193 Part V: Art and Science 42: Time Exposed for Science / 199 43: Science, Art, and Theater / 203 44: In and Out of the Plane / 207 45 Following the White Line / 211 Acknowledgements / 217 Epilogue / 221

rawabstract:
This collection of essays traces a scientific journey bookmarked by remarkable mentors and milestones of science. It provides fascinating reading for everyone interested in the history, public appreciation, and value of science, as well as giving first-hand accounts of many key events and prominent figures. The author was one of the ``sputnik kids'' growing up in the US at the start of the space age. He built a working laser just two years after they were first invented, an experience that convinced him to become a physicist. During his 50-year career in physics, many personalities and notable events in science and technology helped to form his view of how science contributes to the modern world, including his conviction that the impact of science can be most effective when introduced within the context of the humanities --- especially history, literature and the arts. From the Foreword by former U.S. Congressman, Rush D. Holt: In this volume, we have the wide-ranging thoughts and observations of Fred Dylla, an accomplished physicist with an engineer's fascination for gadgets, a historian's long perspective, an artist's aesthetic eye, and a teacher's passion for sharing ideas. Throughout his varied career [\ldots{}] his curiosity has been his foremost characteristic and his ability to see the connection between apparently disparate things his greatest skill. [\ldots{}] Here he examines the roots and growth of innovation in examples from Bell Laboratories, Edison Electric Light Company, and cubist painter Georges Braque. He considers the essential place of publishing in science, that epochal intellectual technique for learning how the world works. He shows the human enrichment and practical benefits that derive from wise investments in scientific research, as well as the waste resulting from a failure to embrace appropriate technologies.

shortTOC:
Introduction Part 1: Signposts Part 2: Mentors and Milestones Part 3: Science Policy Matters Part 4: Communicating Science Part 5: Art and Science Epilogue

rawshortTOC:
Introduction \\ Part 1: Signposts \\ Part 2: Mentors and Milestones \\ Part 3: Science Policy Matters \\ Part 4: Communicating Science \\ Part 5: Art and Science \\ Epilogue

rawTOC:
Part I: Signposts \\ 1: Literature and Legacy Flow Along the Rhine / 3 \\ 2: Invention and Discovery: Fleming and Edison / 7 \\ 3: Rutherford's Nuclear World / 11 \\ 4: Fueling Science for War and Peace / 17 \\ 5: Shelter Island's Famous Physicists / 21 \\ 6: Feynman's Scientific Integrity / 25 \\ 7: Calculating from Memory / 29 \\ 8: The Electronic Water Cooler / 33 \\ 9: Lessons from Steve Jobs / 37 \\ 10: What We Hear from Bose / 41 \\ 11: The French Connection / 45 \\ 12: Mr. Fresnel's Gift to the World / 49 \\ 13: Lighting the Way for Innovation / 53 \\ 14: China's Science Ambassador / 59 \\ 15: Bringing Science Back to Vietnam / 63 \\ Part II: Mentors and Milestones \\ 16: Exciting the Imagination: My First Laser / 69 \\ 17: The Master Teacher / 75 \\ 18: How Long is the Fuse on Fusion? 83 \\ 19: Excitement and Disappointment: The Emotions of Science / 89 \\ 20: Considering Future Energy Options: Extrapolations from a Real Experiment / 93 \\ 21: My Encounters with the Queen of Carbon / 97 \\ 22: A Prize Hidden Under a Piece of Tape / 101 \\ 23: The Big Machine / 105 \\ 24: The Collider that Couldn't / 111 \\ 25: One Man Can Make a Difference / 115 \\ 26: A Bright Light in Virginia / 125 \\ 27: Gravity's Songs / 133 \\ Part III: Science Policy Matters \\ 28: Innovation in a Young Nation / 143 \\ 29: Big and Small Science: No Need to Choose / 147 \\ 30: Reminding All of Us That Basic Research Pays Off / 149 \\ 31: Science and Engineering: Hand-in-Hand / 153 \\ 32: The Professor is on the Screen / 157 \\ 33: Go Visit a Science Museum / 161 \\ Part IV: Communicating Science \\ 34: Illuminating Manuscripts / 167 \\ 35: Science Must Navigate the Gale of Creative Destruction / 171 \\ 36: Roundtables Help / 175 \\ 37: Imagine a World Without Editors / 179 \\ 38: Please Read My Paper / 183 \\ 39: Getting It Right / 187 \\ 40: A Vision for Open Scholarship / 191 \\ 41: The Scientific Journal Marks 350 / 193 \\ Part V: Art and Science \\ 42: Time Exposed for Science / 199 \\ 43: Science, Art, and Theater / 203 \\ 44: In and Out of the Plane / 207 \\ 45 Following the White Line / 211 \\ Acknowledgements / 217 \\ Epilogue / 221

entry:
@Book{Dylla:2020:SJP,
  author =       "H. Frederick Dylla",
  booktitle =    "Scientific Journeys: a Physicist Explores the Culture,
                 History and Personalities of Science",
  title =        "Scientific Journeys: a Physicist Explores the Culture,
                 History and Personalities of Science",
  publisher =    "Springer",
  address =      "Cham, Switzerland",
  pages =        "xxv + 222",
  year =         "2020",
  DOI =          "https://doi.org/10.1007/978-3-030-55800-0",
  ISBN =         "3-030-55799-5 (paperback), 3-030-55800-2 (e-book)",
  ISBN-13 =      "978-3-030-55799-7 (paperback), 978-3-030-55800-0
                 (e-book)",
  LCCN =         "Q125 .D955 2020",
  bibdate =      "Tue May 4 06:37:04 MDT 2021",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/f/feynman-richard-p.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/r/rutherford-ernest.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "This collection of essays traces a scientific journey
                 bookmarked by remarkable mentors and milestones of
                 science. It provides fascinating reading for everyone
                 interested in the history, public appreciation, and
                 value of science, as well as giving first-hand accounts
                 of many key events and prominent figures. The author
                 was one of the ``sputnik kids'' growing up in the US at
                 the start of the space age. He built a working laser
                 just two years after they were first invented, an
                 experience that convinced him to become a physicist.
                 During his 50-year career in physics, many
                 personalities and notable events in science and
                 technology helped to form his view of how science
                 contributes to the modern world, including his
                 conviction that the impact of science can be most
                 effective when introduced within the context of the
                 humanities --- especially history, literature and the
                 arts. From the Foreword by former U.S. Congressman,
                 Rush D. Holt: In this volume, we have the wide-ranging
                 thoughts and observations of Fred Dylla, an
                 accomplished physicist with an engineer's fascination
                 for gadgets, a historian's long perspective, an
                 artist's aesthetic eye, and a teacher's passion for
                 sharing ideas. Throughout his varied career [\ldots{}]
                 his curiosity has been his foremost characteristic and
                 his ability to see the connection between apparently
                 disparate things his greatest skill. [\ldots{}] Here he
                 examines the roots and growth of innovation in examples
                 from Bell Laboratories, Edison Electric Light Company,
                 and cubist painter Georges Braque. He considers the
                 essential place of publishing in science, that epochal
                 intellectual technique for learning how the world
                 works. He shows the human enrichment and practical
                 benefits that derive from wise investments in
                 scientific research, as well as the waste resulting
                 from a failure to embrace appropriate technologies.",
  acknowledgement = ack-nhfb,
  shorttableofcontents = "Introduction \\
                 Part 1: Signposts \\
                 Part 2: Mentors and Milestones \\
                 Part 3: Science Policy Matters \\
                 Part 4: Communicating Science \\
                 Part 5: Art and Science \\
                 Epilogue",
  subject =      "Physics; Science; Social aspects; Technology; History,
                 Modern; Printing; Publishers and publishing; Popular
                 Science in Physics; Societal Aspects of Physics,
                 Outreach and Education; Popular Science in Technology;
                 Modern History; Printing and Publishing; US Politics;
                 History, Modern; Physics; Printing; Publishers and
                 publishing; Social aspects; Technology; United States;
                 Politics and government",
  tableofcontents = "Part I: Signposts \\
                 1: Literature and Legacy Flow Along the Rhine / 3 \\
                 2: Invention and Discovery: Fleming and Edison / 7 \\
                 3: Rutherford's Nuclear World / 11 \\
                 4: Fueling Science for War and Peace / 17 \\
                 5: Shelter Island's Famous Physicists / 21 \\
                 6: Feynman's Scientific Integrity / 25 \\
                 7: Calculating from Memory / 29 \\
                 8: The Electronic Water Cooler / 33 \\
                 9: Lessons from Steve Jobs / 37 \\
                 10: What We Hear from Bose / 41 \\
                 11: The French Connection / 45 \\
                 12: Mr. Fresnel's Gift to the World / 49 \\
                 13: Lighting the Way for Innovation / 53 \\
                 14: China's Science Ambassador / 59 \\
                 15: Bringing Science Back to Vietnam / 63 \\
                 Part II: Mentors and Milestones \\
                 16: Exciting the Imagination: My First Laser / 69 \\
                 17: The Master Teacher / 75 \\
                 18: How Long is the Fuse on Fusion? 83 \\
                 19: Excitement and Disappointment: The Emotions of
                 Science / 89 \\
                 20: Considering Future Energy Options: Extrapolations
                 from a Real Experiment / 93 \\
                 21: My Encounters with the Queen of Carbon / 97 \\
                 22: A Prize Hidden Under a Piece of Tape / 101 \\
                 23: The Big Machine / 105 \\
                 24: The Collider that Couldn't / 111 \\
                 25: One Man Can Make a Difference / 115 \\
                 26: A Bright Light in Virginia / 125 \\
                 27: Gravity's Songs / 133 \\
                 Part III: Science Policy Matters \\
                 28: Innovation in a Young Nation / 143 \\
                 29: Big and Small Science: No Need to Choose / 147 \\
                 30: Reminding All of Us That Basic Research Pays Off /
                 149 \\
                 31: Science and Engineering: Hand-in-Hand / 153 \\
                 32: The Professor is on the Screen / 157 \\
                 33: Go Visit a Science Museum / 161 \\
                 Part IV: Communicating Science \\
                 34: Illuminating Manuscripts / 167 \\
                 35: Science Must Navigate the Gale of Creative
                 Destruction / 171 \\
                 36: Roundtables Help / 175 \\
                 37: Imagine a World Without Editors / 179 \\
                 38: Please Read My Paper / 183 \\
                 39: Getting It Right / 187 \\
                 40: A Vision for Open Scholarship / 191 \\
                 41: The Scientific Journal Marks 350 / 193 \\
                 Part V: Art and Science \\
                 42: Time Exposed for Science / 199 \\
                 43: Science, Art, and Theater / 203 \\
                 44: In and Out of the Plane / 207 \\
                 45 Following the White Line / 211 \\
                 Acknowledgements / 217 \\
                 Epilogue / 221",
}


bibtype: book
filename: master.bib
label: Dyson:2010:MCG
author: Freeman J. Dyson
title: Many-Colored Glass: Reflections on the Place of Life in the Universe
publisher: University of Virginia Press
address: Charlottesville, VA, USA
pages: xi + 162
year: 2010
ISBN: 0-8139-2973-3 OR 0813929733
ISBN13: 978-0-8139-2973-6 OR 9780813929736
LCCN: QH501 .D97 2010
bibdate: Mon Oct 18 16:54:08 MDT 2010
bibtimestamp: 2010.10.18 16:54:08 MDT
note: Page--Barbour Lectures for 2004.
keywords: Fermi Paradox
remark: Hardback edition 2007. Paperback edition 2010.
acknowledgement: ack-nhfb
rawauthor: Freeman J. Dyson
rawnote: Page--Barbour Lectures for 2004.
rawtitle: Many-Colored Glass: Reflections on the Place of Life in the Universe
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/bibnet/authors/f/fermi-enrico.bib; https://www.math.utah.edu/pub/tex/bib/master.bib

TOC:
The future of biotechnology A debate with Bill Joy Heretical thoughts about science and society A friendly universe Can life go on forever? Looking for life The varieties of human experience

rawTOC:
The future of biotechnology \\ A debate with Bill Joy \\ Heretical thoughts about science and society \\ A friendly universe \\ Can life go on forever? \\ Looking for life \\ The varieties of human experience

entry:
@Book{Dyson:2010:MCG,
  author =       "Freeman J. Dyson",
  title =        "Many-Colored Glass: Reflections on the Place of Life
                 in the Universe",
  publisher =    "University of Virginia Press",
  address =      "Charlottesville, VA, USA",
  pages =        "xi + 162",
  year =         "2010",
  ISBN =         "0-8139-2973-3",
  ISBN-13 =      "978-0-8139-2973-6",
  LCCN =         "QH501 .D97 2010",
  bibdate =      "Mon Oct 18 16:54:08 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/f/fermi-enrico.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Page--Barbour Lectures for 2004.",
  acknowledgement = ack-nhfb,
  keywords =     "Fermi Paradox",
  remark =       "Hardback edition 2007. Paperback edition 2010.",
  tableofcontents = "The future of biotechnology \\
                 A debate with Bill Joy \\
                 Heretical thoughts about science and society \\
                 A friendly universe \\
                 Can life go on forever? \\
                 Looking for life \\
                 The varieties of human experience",
}


bibtype: book
filename: master.bib
label: Earnshaw:1985:FAC
author: Rae A. Earnshaw
title: Fundamental Algorithms for Computer Graphics
publisher: pub-SV
address: pub-SV:adr
pages: xvi + 1042
year: 1985
ISBN: 0-387-13920-6 (New York), 3-540-13920-6 (Berlin) OR 0387139206 (New York), 3540139206 (Berlin)
LCCN: QA76.6 .N379 1985
bibdate: Wed Dec 15 08:55:01 1993
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1993.12.15 08:55:01 ???
acknowledgement: ack-nhfb
rawauthor: Rae A. Earnshaw
rawtitle: Fundamental Algorithms for Computer Graphics
ISBN13:
978-0-387-13920-3 (New York), 978-3-540-13920-1 (Berlin) OR 9780387139203 (New York), 9783540139201 (Berlin)

TOC:
Line and area algorithms Arcs, circles and conics Curves and curve drawing Character generation and display Contouring and surface drawing Hardware architectures and algorithms Computational geometry and CAD Theoretical aspects and models Human-computer interface issues

rawTOC:
Line and area algorithms \\ Arcs, circles and conics \\ Curves and curve drawing \\ Character generation and display \\ Contouring and surface drawing \\ Hardware architectures and algorithms \\ Computational geometry and CAD \\ Theoretical aspects and models \\ Human-computer interface issues

entry:
@Book{Earnshaw:1985:FAC,
  author =       "Rae A. Earnshaw",
  title =        "Fundamental Algorithms for Computer Graphics",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xvi + 1042",
  year =         "1985",
  ISBN =         "0-387-13920-6 (New York), 3-540-13920-6 (Berlin)",
  ISBN-13 =      "978-0-387-13920-3 (New York), 978-3-540-13920-1
                 (Berlin)",
  LCCN =         "QA76.6 .N379 1985",
  bibdate =      "Wed Dec 15 08:55:01 1993",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "Line and area algorithms \\
                 Arcs, circles and conics \\
                 Curves and curve drawing \\
                 Character generation and display \\
                 Contouring and surface drawing \\
                 Hardware architectures and algorithms \\
                 Computational geometry and CAD \\
                 Theoretical aspects and models \\
                 Human-computer interface issues",
}


bibtype: book
filename: master.bib
label: Earnshaw:1987:WPS
editor: Rae A. Earnshaw
title: Workstations and Publication Systems
publisher: pub-SV
address: pub-SV:adr
pages: viii + 229
year: 1987
ISBN: 0-387-96527-0, 3-540-96527-0 OR 0387965270, 3540965270
ISBN13: 978-0-387-96527-7, 978-3-540-96527-5 OR 9780387965277, 9783540965275
LCCN: Z286.E43 W67 1987
bibdate: Fri Jul 22 01:06:23 1994
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1994.07.22 01:06:23 ???
acknowledgement: ack-nhfb
raweditor: Rae A. Earnshaw
rawtitle: Workstations and Publication Systems
entry:
@Book{Earnshaw:1987:WPS,
  editor =       "Rae A. Earnshaw",
  title =        "Workstations and Publication Systems",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "viii + 229",
  year =         "1987",
  ISBN =         "0-387-96527-0, 3-540-96527-0",
  ISBN-13 =      "978-0-387-96527-7, 978-3-540-96527-5",
  LCCN =         "Z286.E43 W67 1987",
  bibdate =      "Fri Jul 22 01:06:23 1994",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$29.50",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: master.bib
label: Eckert:1948:EC
author: W. J. Eckert
title: Electrons and computation
journal: j-SCI-MONTHLY
volume: 67
number: 5
pages: 315--323
month: nov
monthnumber: 11
year: 1948
CODEN: SCMOAA
ISSN: 0096-3771 OR 00963771
bibdate: Wed Oct 13 11:27:40 2010
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2010.10.13 11:27:40 ???
note: Reprinted in cite [ 5.3]Randell:1982:ODC.
acknowledgement: ack-nhfb
rawauthor: W. J. Eckert
rawnote: Reprinted in \cite[\S 5.3]{Randell:1982:ODC}.
rawtitle: Electrons and computation
entry:
@Article{Eckert:1948:EC,
  author =       "W. J. Eckert",
  title =        "Electrons and computation",
  journal =      j-SCI-MONTHLY,
  volume =       "67",
  number =       "5",
  pages =        "315--323",
  month =        nov,
  year =         "1948",
  CODEN =        "SCMOAA",
  ISSN =         "0096-3771",
  bibdate =      "Wed Oct 13 11:27:40 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Reprinted in \cite[\S 5.3]{Randell:1982:ODC}.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Eckhouse:1979:MSO
author: Richard H. Eckhouse, Jr. and L. Robert Morris
title: Minicomputer Systems: Organization, Programming, and Applications (PDP-11)
publisher: pub-PH
address: pub-PH:adr
edition: Second
pages: xix + 491
year: 1979
ISBN: 0-13-583914-9 OR 0135839149
ISBN13: 978-0-13-583914-0 OR 9780135839140
LCCN: QA76.8.P2E26 1979
bibdate: Fri Aug 07 17:22:02 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.08.07 17:22:02 ???
acknowledgement: ack-nhfb
rawauthor: Richard H. {Eckhouse, Jr.} and L. Robert Morris
rawtitle: Minicomputer Systems: Organization, Programming, and Applications ({PDP-11})
entry:
@Book{Eckhouse:1979:MSO,
  author =       "Richard H. {Eckhouse, Jr.} and L. Robert Morris",
  title =        "Minicomputer Systems: Organization, Programming, and
                 Applications ({PDP-11})",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xix + 491",
  year =         "1979",
  ISBN =         "0-13-583914-9",
  ISBN-13 =      "978-0-13-583914-0",
  LCCN =         "QA76.8.P2E26 1979",
  bibdate =      "Fri Aug 07 17:22:02 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Eckstein:2000:US
author: Robert Eckstein and David Collier-Brown and Peter Kelly
title: Using Samba
publisher: pub-ORA
address: pub-ORA:adr
pages: xi + 398
year: 2000
ISBN: 1-56592-449-5 OR 1565924495
ISBN13: 978-1-56592-449-9 OR 9781565924499
LCCN: QA76.9.C55 E267 2000; QA76.9.C55 E267 2000; TK5105.5 .E35 2000
bibdate: Mon Nov 22 15:57:08 1999
bibtimestamp: 1999.11.22 15:57:08 ???
URL: http://www.oreilly.com/catalog/9781565924499
acknowledgement: ack-nhfb
rawauthor: Robert Eckstein and David Collier-Brown and Peter Kelly
rawtitle: Using {Samba}
bibsource:
https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

note:
Includes CD-ROM with complete mirror of Samba site with Samba 2.0.5a, including sources, documentation, binaries, and supplementary tools.

abstract:
Samba is cross-platform triumph: it turns a Unix or Linux system into a file and print server for Microsoft Windows network clients. Now you can let users store their files (and even important executables) in a single place for easy sharing and backup, protected by Unix or NT security mechanisms, and still offer such transparent access that PC users don't even realize they're going to another system. The magic behind Samba is that it recognizes and speaks the SMB protocol developed by Microsoft for file and printer sharing on its own systems. The authors present the most common configurations and problems in an easy-to-follow manner, along with instructions for getting the most out of Samba. Whether you're playing on one note or a full three-octave range, this book will give you an efficient and secure server. The CD-ROM included with this book is a complete mirror of the Samba FTP site, including sources, ready-to-install binaries, documentation, and related utilities.

TOC:
1: Learning the Samba / 1 What is Samba? / 2 What Can Samba Do For Me? / 3 Getting Familiar with a SMB/CIFS Network / 9 Microsoft Implementations / 18 An Overview of the Samba Distribution / 27 How Can I Get Samba? / 28 What's New in Samba 2.0? / 28 And That's Not All / 30 2: Installing Samba on a Unix System / 31 Downloading the Samba Distribution / 32 Configuring Samba / 34 Compiling and Installing Samba / 38 A Basic Samba Configuration File / 41 Starting the Samba Daemons / 46 Testing the Samba Daemons / 49 3: Configuring Windows Clients / 50 Setting Up Windows 95/98 Computers / 50 Setting Up Windows NT 4.0 Computers / 63 An Introduction to SMB/CIFS / 74 4: Disk Shares / 82 Learning the Samba Configuration File / 82 Special Sections / 88 Configuration File Options / 91 Server Configuration / 93 Disk Share Configuration / 96 Networking Options with Samba / 101 Virtual Servers / 106 Logging Configuration Options / 108 5: Browsing and Advanced Disk Shares / 114 Browsing / 114 Filesystem Differences / 127 File Permissions and Attributes on MS-DOS and Unix / 135 Name Mangling and Case / 143 Locks and Oplocks / 149 6: Users, Security, and Domains / 155 Users and Groups / 155 Controlling Access to Shares / 158 Authentication Security / 164 Passwords / 171 Windows Domains / 184 Logon Scripts / 192 7: Printing and Name Resolution / 201 Sending Print Jobs to Samba / 201 Printing to Windows Client Printers / 213 Name Resolution with Samba / 224 8: Additional Samba Information / 230 Supporting Programmers / 230 Magic Scripts / 233 Internationalization / 234 WinPopup Messages / 237 Recently Added Options / 238 Miscellaneous Options / 240 Backups with smbtar / 245 9: Troubleshooting Samba / 250 Tool Bag / 250 Fault Tree / 257 Extra Resources / 291 A: Configuring Samba with SSL / 295 B: Samba Performance Tuning / 312 C: Samba Configuration Option Quick Reference / 329 D: Summary of Samba Daemons and Commands / 359 E: Downloading Samba with CVS / 378 F: Sample Configuration File / 379

rawabstract:
Samba is cross-platform triumph: it turns a Unix or Linux system into a file and print server for Microsoft Windows network clients. Now you can let users store their files (and even important executables) in a single place for easy sharing and backup, protected by Unix or NT security mechanisms, and still offer such transparent access that PC users don't even realize they're going to another system. The magic behind Samba is that it recognizes and speaks the SMB protocol developed by Microsoft for file and printer sharing on its own systems. The authors present the most common configurations and problems in an easy-to-follow manner, along with instructions for getting the most out of Samba. Whether you're playing on one note or a full three-octave range, this book will give you an efficient and secure server. The CD-ROM included with this book is a complete mirror of the Samba FTP site, including sources, ready-to-install binaries, documentation, and related utilities.

rawnote:
Includes CD-ROM with complete mirror of Samba site with Samba 2.0.5a, including sources, documentation, binaries, and supplementary tools.

shortTOC:
1: Learning the Samba / 1 2: Installing Samba on a Unix System / 31 3: Configuring Windows Clients / 50 4: Disk Shares / 82 5: Browsing and Advanced Disk Shares / 114 6: Users, Security, and Domains / 155 7: Printing and Name Resolution / 201 8: Additional Samba Information / 230 9: Troubleshooting Samba / 250 A: Configuring Samba with SSL / 295 B: Samba Performance Tuning / 312 C: Samba Configuration Option Quick Reference / 329 D: Summary of Samba Daemons and Commands / 359 E: Downloading Samba with CVS / 378 F: Sample Configuration File / 379

rawshortTOC:
1: Learning the Samba / 1 \\ 2: Installing Samba on a Unix System / 31 \\ 3: Configuring Windows Clients / 50 \\ 4: Disk Shares / 82 \\ 5: Browsing and Advanced Disk Shares / 114 \\ 6: Users, Security, and Domains / 155 \\ 7: Printing and Name Resolution / 201 \\ 8: Additional Samba Information / 230 \\ 9: Troubleshooting Samba / 250 \\ A: Configuring Samba with SSL / 295 \\ B: Samba Performance Tuning / 312 \\ C: Samba Configuration Option Quick Reference / 329 \\ D: Summary of Samba Daemons and Commands / 359 \\ E: Downloading Samba with CVS / 378 \\ F: Sample Configuration File / 379

rawTOC:
1: Learning the Samba / 1 \\ What is Samba? / 2 \\ What Can Samba Do For Me? / 3 \\ Getting Familiar with a SMB/CIFS Network / 9 \\ Microsoft Implementations / 18 \\ An Overview of the Samba Distribution / 27 \\ How Can I Get Samba? / 28 \\ What's New in Samba 2.0? / 28 \\ And That's Not All / 30 \\ 2: Installing Samba on a Unix System / 31 \\ Downloading the Samba Distribution / 32 \\ Configuring Samba / 34 \\ Compiling and Installing Samba / 38 \\ A Basic Samba Configuration File / 41 \\ Starting the Samba Daemons / 46 \\ Testing the Samba Daemons / 49 \\ 3: Configuring Windows Clients / 50 \\ Setting Up Windows 95/98 Computers / 50 \\ Setting Up Windows NT 4.0 Computers / 63 \\ An Introduction to SMB/CIFS / 74 \\ 4: Disk Shares / 82 \\ Learning the Samba Configuration File / 82 \\ Special Sections / 88 \\ Configuration File Options / 91 \\ Server Configuration / 93 \\ Disk Share Configuration / 96 \\ Networking Options with Samba / 101 \\ Virtual Servers / 106 \\ Logging Configuration Options / 108 \\ 5: Browsing and Advanced Disk Shares / 114 \\ Browsing / 114 \\ Filesystem Differences / 127 \\ File Permissions and Attributes on MS-DOS and Unix / 135 \\ Name Mangling and Case / 143 \\ Locks and Oplocks / 149 \\ 6: Users, Security, and Domains / 155 \\ Users and Groups / 155 \\ Controlling Access to Shares / 158 \\ Authentication Security / 164 \\ Passwords / 171 \\ Windows Domains / 184 \\ Logon Scripts / 192 \\ 7: Printing and Name Resolution / 201 \\ Sending Print Jobs to Samba / 201 \\ Printing to Windows Client Printers / 213 \\ Name Resolution with Samba / 224 \\ 8: Additional Samba Information / 230 \\ Supporting Programmers / 230 \\ Magic Scripts / 233 \\ Internationalization / 234 \\ WinPopup Messages / 237 \\ Recently Added Options / 238 \\ Miscellaneous Options / 240 \\ Backups with smbtar / 245 \\ 9: Troubleshooting Samba / 250 \\ Tool Bag / 250 \\ Fault Tree / 257 \\ Extra Resources / 291 \\ A: Configuring Samba with SSL / 295 \\ B: Samba Performance Tuning / 312 \\ C: Samba Configuration Option Quick Reference / 329 \\ D: Summary of Samba Daemons and Commands / 359 \\ E: Downloading Samba with CVS / 378 \\ F: Sample Configuration File / 379

entry:
@Book{Eckstein:2000:US,
  author =       "Robert Eckstein and David Collier-Brown and Peter
                 Kelly",
  title =        "Using {Samba}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xi + 398",
  year =         "2000",
  ISBN =         "1-56592-449-5",
  ISBN-13 =      "978-1-56592-449-9",
  LCCN =         "QA76.9.C55 E267 2000; QA76.9.C55 E267 2000; TK5105.5
                 .E35 2000",
  bibdate =      "Mon Nov 22 15:57:08 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  note =         "Includes CD-ROM with complete mirror of Samba site
                 with Samba 2.0.5a, including sources, documentation,
                 binaries, and supplementary tools.",
  price =        "US\$34.95",
  URL =          "http://www.oreilly.com/catalog/9781565924499",
  abstract =     "Samba is cross-platform triumph: it turns a Unix or
                 Linux system into a file and print server for Microsoft
                 Windows network clients. Now you can let users store
                 their files (and even important executables) in a
                 single place for easy sharing and backup, protected by
                 Unix or NT security mechanisms, and still offer such
                 transparent access that PC users don't even realize
                 they're going to another system. The magic behind Samba
                 is that it recognizes and speaks the SMB protocol
                 developed by Microsoft for file and printer sharing on
                 its own systems. The authors present the most common
                 configurations and problems in an easy-to-follow
                 manner, along with instructions for getting the most
                 out of Samba. Whether you're playing on one note or a
                 full three-octave range, this book will give you an
                 efficient and secure server. The CD-ROM included with
                 this book is a complete mirror of the Samba FTP site,
                 including sources, ready-to-install binaries,
                 documentation, and related utilities.",
  acknowledgement = ack-nhfb,
  shorttableofcontents = "1: Learning the Samba / 1 \\
                 2: Installing Samba on a Unix System / 31 \\
                 3: Configuring Windows Clients / 50 \\
                 4: Disk Shares / 82 \\
                 5: Browsing and Advanced Disk Shares / 114 \\
                 6: Users, Security, and Domains / 155 \\
                 7: Printing and Name Resolution / 201 \\
                 8: Additional Samba Information / 230 \\
                 9: Troubleshooting Samba / 250 \\
                 A: Configuring Samba with SSL / 295 \\
                 B: Samba Performance Tuning / 312 \\
                 C: Samba Configuration Option Quick Reference / 329 \\
                 D: Summary of Samba Daemons and Commands / 359 \\
                 E: Downloading Samba with CVS / 378 \\
                 F: Sample Configuration File / 379",
  tableofcontents = "1: Learning the Samba / 1 \\
                 What is Samba? / 2 \\
                 What Can Samba Do For Me? / 3 \\
                 Getting Familiar with a SMB/CIFS Network / 9 \\
                 Microsoft Implementations / 18 \\
                 An Overview of the Samba Distribution / 27 \\
                 How Can I Get Samba? / 28 \\
                 What's New in Samba 2.0? / 28 \\
                 And That's Not All / 30 \\
                 2: Installing Samba on a Unix System / 31 \\
                 Downloading the Samba Distribution / 32 \\
                 Configuring Samba / 34 \\
                 Compiling and Installing Samba / 38 \\
                 A Basic Samba Configuration File / 41 \\
                 Starting the Samba Daemons / 46 \\
                 Testing the Samba Daemons / 49 \\
                 3: Configuring Windows Clients / 50 \\
                 Setting Up Windows 95/98 Computers / 50 \\
                 Setting Up Windows NT 4.0 Computers / 63 \\
                 An Introduction to SMB/CIFS / 74 \\
                 4: Disk Shares / 82 \\
                 Learning the Samba Configuration File / 82 \\
                 Special Sections / 88 \\
                 Configuration File Options / 91 \\
                 Server Configuration / 93 \\
                 Disk Share Configuration / 96 \\
                 Networking Options with Samba / 101 \\
                 Virtual Servers / 106 \\
                 Logging Configuration Options / 108 \\
                 5: Browsing and Advanced Disk Shares / 114 \\
                 Browsing / 114 \\
                 Filesystem Differences / 127 \\
                 File Permissions and Attributes on MS-DOS and Unix /
                 135 \\
                 Name Mangling and Case / 143 \\
                 Locks and Oplocks / 149 \\
                 6: Users, Security, and Domains / 155 \\
                 Users and Groups / 155 \\
                 Controlling Access to Shares / 158 \\
                 Authentication Security / 164 \\
                 Passwords / 171 \\
                 Windows Domains / 184 \\
                 Logon Scripts / 192 \\
                 7: Printing and Name Resolution / 201 \\
                 Sending Print Jobs to Samba / 201 \\
                 Printing to Windows Client Printers / 213 \\
                 Name Resolution with Samba / 224 \\
                 8: Additional Samba Information / 230 \\
                 Supporting Programmers / 230 \\
                 Magic Scripts / 233 \\
                 Internationalization / 234 \\
                 WinPopup Messages / 237 \\
                 Recently Added Options / 238 \\
                 Miscellaneous Options / 240 \\
                 Backups with smbtar / 245 \\
                 9: Troubleshooting Samba / 250 \\
                 Tool Bag / 250 \\
                 Fault Tree / 257 \\
                 Extra Resources / 291 \\
                 A: Configuring Samba with SSL / 295 \\
                 B: Samba Performance Tuning / 312 \\
                 C: Samba Configuration Option Quick Reference / 329 \\
                 D: Summary of Samba Daemons and Commands / 359 \\
                 E: Downloading Samba with CVS / 378 \\
                 F: Sample Configuration File / 379",
}


bibtype: book
filename: master.bib
label: Edmonds:2008:HTA
author: Jeff Edmonds
title: How to Think About Algorithms
publisher: pub-CAMBRIDGE
address: pub-CAMBRIDGE:adr
pages: xiii + 448
year: 2008
LCCN: QA9.58 .E36 2008
bibdate: Wed May 14 18:48:48 MDT 2008
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; z3950.loc.gov:7090/Voyager
bibtimestamp: 2008.05.14 18:48:48 MDT
subject: Algorithms; Study and teaching; Loops (Group theory); Invariants; Recursion theory
acknowledgement: ack-nhfb
rawauthor: Jeff Edmonds
rawtitle: How to Think About Algorithms
ISBN:
0-521-84931-4 (hardcover), 0-521-61410-4 (paperback), 0-511-41278-9 (e-book), 0-511-41370-X (e-book) OR 0521849314 (hardcover), 0521614104 (paperback), 0511412789 (ebook), 051141370X (ebook)

ISBN13:
978-0-521-84931-9 (hardcover), 978-0-521-61410-8 (paperback), 978-0-511-41278-3 (e-book), 978-0-511-41370-4 (e-book) OR 9780521849319 (hardcover), 9780521614108 (paperback), 9780511412783 (ebook), 9780511413704 (ebook)

URL:
http://www.loc.gov/catdir/enhancements/fy0808/2008001238-b.html; http://www.loc.gov/catdir/enhancements/fy0808/2008001238-d.html; http://www.loc.gov/catdir/enhancements/fy0808/2008001238-t.html

TOC:
Iterative algorithms: measures of progress and loop invariants Examples using more-of-the-input loop invariants Abstract data types Narrowing the search space: binary search Iterative sorting algorithms Euclid's GCD algorithm The loop invariant for lower bounds Abstractions, techniques, and theory Some simple examples of recursive algorithms Recursion on trees Recursive images Parsing with context-free grammars Definition of optimization problems Graph search algorithms Network flows and linear programming Greedy algorithms Recursive backtracking Dynamic programming algorithms Examples of dynamic programs Reductions and NP-completeness Randomized algorithms Existential and universal quantifiers Time complexity Logarithms and exponentials Asymptotic growth Adding-made-easy approximations Recurrence relations A formal proof of correctness

rawTOC:
Iterative algorithms: measures of progress and loop invariants \\ Examples using more-of-the-input loop invariants \\ Abstract data types \\ Narrowing the search space: binary search \\ Iterative sorting algorithms \\ Euclid's GCD algorithm \\ The loop invariant for lower bounds \\ Abstractions, techniques, and theory \\ Some simple examples of recursive algorithms \\ Recursion on trees \\ Recursive images \\ Parsing with context-free grammars \\ Definition of optimization problems \\ Graph search algorithms \\ Network flows and linear programming \\ Greedy algorithms \\ Recursive backtracking \\ Dynamic programming algorithms \\ Examples of dynamic programs \\ Reductions and NP-completeness \\ Randomized algorithms \\ Existential and universal quantifiers \\ Time complexity \\ Logarithms and exponentials \\ Asymptotic growth \\ Adding-made-easy approximations \\ Recurrence relations \\ A formal proof of correctness

entry:
@Book{Edmonds:2008:HTA,
  author =       "Jeff Edmonds",
  title =        "How to Think About Algorithms",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xiii + 448",
  year =         "2008",
  ISBN =         "0-521-84931-4 (hardcover), 0-521-61410-4 (paperback),
                 0-511-41278-9 (e-book), 0-511-41370-X (e-book)",
  ISBN-13 =      "978-0-521-84931-9 (hardcover), 978-0-521-61410-8
                 (paperback), 978-0-511-41278-3 (e-book),
                 978-0-511-41370-4 (e-book)",
  LCCN =         "QA9.58 .E36 2008",
  bibdate =      "Wed May 14 18:48:48 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0808/2008001238-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0808/2008001238-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0808/2008001238-t.html",
  acknowledgement = ack-nhfb,
  libnote =      "Not in my library.",
  subject =      "Algorithms; Study and teaching; Loops (Group theory);
                 Invariants; Recursion theory",
  tableofcontents = "Iterative algorithms: measures of progress and loop
                 invariants \\
                 Examples using more-of-the-input loop invariants \\
                 Abstract data types \\
                 Narrowing the search space: binary search \\
                 Iterative sorting algorithms \\
                 Euclid's GCD algorithm \\
                 The loop invariant for lower bounds \\
                 Abstractions, techniques, and theory \\
                 Some simple examples of recursive algorithms \\
                 Recursion on trees \\
                 Recursive images \\
                 Parsing with context-free grammars \\
                 Definition of optimization problems \\
                 Graph search algorithms \\
                 Network flows and linear programming \\
                 Greedy algorithms \\
                 Recursive backtracking \\
                 Dynamic programming algorithms \\
                 Examples of dynamic programs \\
                 Reductions and NP-completeness \\
                 Randomized algorithms \\
                 Existential and universal quantifiers \\
                 Time complexity \\
                 Logarithms and exponentials \\
                 Asymptotic growth \\
                 Adding-made-easy approximations \\
                 Recurrence relations \\
                 A formal proof of correctness",
}


bibtype: book
filename: master.bib
label: EFF:1998:CSE
author: Electronic Frontier Foundation
title: Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design
publisher: pub-ORA
address: pub-ORA:adr
pages: 272
month: jul
monthnumber: 7
year: 1998
ISBN: 1-56592-520-3 OR 1565925203
ISBN13: 978-1-56592-520-5 OR 9781565925205
LCCN: QA76.9.A25 C783
bibdate: Thu Apr 15 07:49:39 1999
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; http://www.oreilly.com/catalog/crackdes/
bibtimestamp: 1999.04.15 07:49:39 ???
URL: http://www.eff.org/descracker/; http://www.sunworld.com/swol-07-1998/swol-07-if.html?072098a#2
acknowledgement: ack-nhfb
rawauthor: {Electronic Frontier Foundation}
rawtitle: Cracking {DES}: Secrets of Encryption Research, Wiretap Politics \& Chip Design
abstract:
Data Encryption Standard withstood the test of time for twenty years. Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design shows exactly how it was brought down. Every cryptographer, security designer, and student of cryptography policy should read this book to understand how the world changed as it fell.

rawabstract:
Data Encryption Standard withstood the test of time for twenty years. Cracking DES: Secrets of Encryption Research, Wiretap Politics \& Chip Design shows exactly how it was brought down. Every cryptographer, security designer, and student of cryptography policy should read this book to understand how the world changed as it fell.

entry:
@Book{EFF:1998:CSE,
  author =       "{Electronic Frontier Foundation}",
  title =        "Cracking {DES}: Secrets of Encryption Research,
                 Wiretap Politics \& Chip Design",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "272",
  month =        jul,
  year =         "1998",
  ISBN =         "1-56592-520-3",
  ISBN-13 =      "978-1-56592-520-5",
  LCCN =         "QA76.9.A25 C783",
  bibdate =      "Thu Apr 15 07:49:39 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.oreilly.com/catalog/crackdes/",
  price =        "US\$29.95",
  URL =          "http://www.eff.org/descracker/;
                 http://www.sunworld.com/swol-07-1998/swol-07-if.html?072098a#2",
  abstract =     "Data Encryption Standard withstood the test of time
                 for twenty years. Cracking DES: Secrets of Encryption
                 Research, Wiretap Politics \& Chip Design shows exactly
                 how it was brought down. Every cryptographer, security
                 designer, and student of cryptography policy should
                 read this book to understand how the world changed as
                 it fell.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: EguiaMoraza:2018:RHP
author: Iban Eguia Moraza
title: Rust High Performance: Learn to Skyrocket the Performance of Your Rust Applications
publisher: pub-PACKT
address: pub-PACKT:adr
pages: 265
year: 2018
ISBN: 1-78847-823-1 OR 1788478231
ISBN13: 978-1-78839-948-7, 978-1-78847-823-6 OR 9781788399487, 9781788478236
LCCN: QA76.7
bibdate: Tue Dec 10 05:42:07 MST 2019
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 2019.12.10 05:42:07 MST
acknowledgement: ack-nhfb
rawauthor: Iban {Eguia Moraza}
rawtitle: {Rust} High Performance: Learn to Skyrocket the Performance of Your {Rust} Applications
abstract:
Sometimes it's difficult to get the best performance out of Rust. This book teaches you how to optimize the speed of your Rust code to the level of languages such as C/C++. You'll understand and fix common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code by concurrently executing parts of it.

subject:
Programming languages (Electronic computers); Computer programming; Application software; Development; Computers; Programming; Parallel; Software Development and Engineering; Tools; software development; Parallel processing; Programming Languages; C; Programming and scripting languages: general; Development; Computer programming; Programming languages (Electronic computers)

TOC:
Preface 1: Common Performance Pitfalls Asking the Rust compiler about performance Optimizations Build configuration Optimization level Debug information Link-time optimizations Debug assertions Panic behavior Runtime library paths Translation issues Indexing degradations Using iterators Iterator adaptors Real-life example Specialized adaptors Interaction between adaptors Itertools Borrowing degradations Cyclomatic complexity Summary 2: Extra Performance Enhancements Compile-time checks Sequential state machines Complex state machines Real-life type system check example Extra performance tips Using closures to avoid runtime evaluation Unstable sorting Map hashing Perfect hash functions Standard library collections Sequences Maps Sets Summary 3: Memory Management in Rust Mastering the borrow checker Allocations Mutability, borrowing, and owning Lifetimes Memory representation Alignment Complex enumerations Unions Shared pointers The cell module Cells RefCell The rc module Summary 4: Lints and Clippy Using Rust compiler lints Lints Avoiding anonymous parameters Avoiding heap allocated box pointers Avoiding missing implementations Enforcing documentation Pointing out trivial casts Linting unsafe code blocks Unused lints Variant size differences Lint groups Clippy Installation Configuration Lints Casting Bad practice Performance lints Unwraps Shadowing Integer overflow Lint groups Summary 5: Profiling Your Rust Application Understanding the hardware Understanding how the CPU works Speeding up memory access with the cache Cache misses How can you fix it? Cache invalidation CPU pipeline Branch prediction The relevance of branch prediction for our code Profiling tools Valgrind Callgrind Cachegrind OProfile Summary 6: Benchmarking Selecting what to benchmark Benchmarking in nightly Rust Benchmarking in stable Rust Continuous integration for benchmarks Travis-CI integration Benchmark statistics with Criterion Summary 7: Built-in Macros and Configuration Items Understanding attributes Trait derivations Crate features Configuration attributes Macros Console printing String formatting Compilation environment Loading byte arrays and strings at compile time Code paths Checking preconditions and postconditions Others Nightly Rust Conservative trait return Constant functions Inline assembly and naked functions Using bigger integers Single instruction multiple data Allocation API Compiler plugins Summary 8: Must-Have Macro Crates Working with external data Data serialization and deserialization Serializing and deserializing complex structures Parsing byte streams Learning about useful small crates Creating lazily evaluated statics

rawabstract:
Sometimes it's difficult to get the best performance out of Rust. This book teaches you how to optimize the speed of your Rust code to the level of languages such as C/C++. You'll understand and fix common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code by concurrently executing parts of it.

rawTOC:
Preface \\ 1: Common Performance Pitfalls \\ Asking the Rust compiler about performance \\ Optimizations \\ Build configuration \\ Optimization level \\ Debug information \\ Link-time optimizations \\ Debug assertions \\ Panic behavior \\ Runtime library paths \\ Translation issues \\ Indexing degradations \\ Using iterators \\ Iterator adaptors \\ Real-life example \\ Specialized adaptors \\ Interaction between adaptors \\ Itertools \\ Borrowing degradations \\ Cyclomatic complexity \\ Summary \\ 2: Extra Performance Enhancements \\ Compile-time checks \\ Sequential state machines \\ Complex state machines \\ Real-life type system check example \\ Extra performance tips \\ Using closures to avoid runtime evaluation \\ Unstable sorting \\ Map hashing \\ Perfect hash functions \\ Standard library collections \\ Sequences \\ Maps \\ Sets \\ Summary \\ 3: Memory Management in Rust \\ Mastering the borrow checker \\ Allocations \\ Mutability, borrowing, and owning \\ Lifetimes \\ Memory representation \\ Alignment \\ Complex enumerations \\ Unions \\ Shared pointers \\ The cell module \\ Cells \\ RefCell \\ The rc module \\ Summary \\ 4: Lints and Clippy \\ Using Rust compiler lints \\ Lints \\ Avoiding anonymous parameters \\ Avoiding heap allocated box pointers \\ Avoiding missing implementations \\ Enforcing documentation \\ Pointing out trivial casts \\ Linting unsafe code blocks \\ Unused lints \\ Variant size differences \\ Lint groups \\ Clippy \\ Installation \\ Configuration \\ Lints \\ Casting \\ Bad practice \\ Performance lints \\ Unwraps \\ Shadowing \\ Integer overflow \\ Lint groups \\ Summary \\ 5: Profiling Your Rust Application \\ Understanding the hardware \\ Understanding how the CPU works \\ Speeding up memory access with the cache \\ Cache misses \\ How can you fix it? \\ Cache invalidation \\ CPU pipeline \\ Branch prediction \\ The relevance of branch prediction for our code \\ Profiling tools \\ Valgrind \\ Callgrind \\ Cachegrind \\ OProfile \\ Summary \\ 6: Benchmarking \\ Selecting what to benchmark \\ Benchmarking in nightly Rust \\ Benchmarking in stable Rust \\ Continuous integration for benchmarks \\ Travis-CI integration \\ Benchmark statistics with Criterion \\ Summary \\ 7: Built-in Macros and Configuration Items \\ Understanding attributes \\ Trait derivations \\ Crate features \\ Configuration attributes \\ Macros \\ Console printing \\ String formatting \\ Compilation environment \\ Loading byte arrays and strings at compile time \\ Code paths \\ Checking preconditions and postconditions \\ Others \\ Nightly Rust \\ Conservative trait return \\ Constant functions \\ Inline assembly and naked functions \\ Using bigger integers \\ Single instruction multiple data \\ Allocation API \\ Compiler plugins \\ Summary \\ 8: Must-Have Macro Crates \\ Working with external data \\ Data serialization and deserialization \\ Serializing and deserializing complex structures \\ Parsing byte streams \\ Learning about useful small crates \\ Creating lazily evaluated statics

entry:
@Book{EguiaMoraza:2018:RHP,
  author =       "Iban {Eguia Moraza}",
  title =        "{Rust} High Performance: Learn to Skyrocket the
                 Performance of Your {Rust} Applications",
  publisher =    pub-PACKT,
  address =      pub-PACKT:adr,
  pages =        "265",
  year =         "2018",
  ISBN =         "1-78847-823-1",
  ISBN-13 =      "978-1-78839-948-7, 978-1-78847-823-6",
  LCCN =         "QA76.7",
  bibdate =      "Tue Dec 10 05:42:07 MST 2019",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "Sometimes it's difficult to get the best performance
                 out of Rust. This book teaches you how to optimize the
                 speed of your Rust code to the level of languages such
                 as C/C++. You'll understand and fix common pitfalls,
                 learn how to improve your productivity by using
                 metaprogramming, and speed up your code by concurrently
                 executing parts of it.",
  acknowledgement = ack-nhfb,
  libnote =      "Not in my library.",
  subject =      "Programming languages (Electronic computers); Computer
                 programming; Application software; Development;
                 Computers; Programming; Parallel; Software Development
                 and Engineering; Tools; software development; Parallel
                 processing; Programming Languages; C; Programming and
                 scripting languages: general; Development; Computer
                 programming; Programming languages (Electronic
                 computers)",
  tableofcontents = "Preface \\
                 1: Common Performance Pitfalls \\
                 Asking the Rust compiler about performance \\
                 Optimizations \\
                 Build configuration \\
                 Optimization level \\
                 Debug information \\
                 Link-time optimizations \\
                 Debug assertions \\
                 Panic behavior \\
                 Runtime library paths \\
                 Translation issues \\
                 Indexing degradations \\
                 Using iterators \\
                 Iterator adaptors \\
                 Real-life example \\
                 Specialized adaptors \\
                 Interaction between adaptors \\
                 Itertools \\
                 Borrowing degradations \\
                 Cyclomatic complexity \\
                 Summary \\
                 2: Extra Performance Enhancements \\
                 Compile-time checks \\
                 Sequential state machines \\
                 Complex state machines \\
                 Real-life type system check example \\
                 Extra performance tips \\
                 Using closures to avoid runtime evaluation \\
                 Unstable sorting \\
                 Map hashing \\
                 Perfect hash functions \\
                 Standard library collections \\
                 Sequences \\
                 Maps \\
                 Sets \\
                 Summary \\
                 3: Memory Management in Rust \\
                 Mastering the borrow checker \\
                 Allocations \\
                 Mutability, borrowing, and owning \\
                 Lifetimes \\
                 Memory representation \\
                 Alignment \\
                 Complex enumerations \\
                 Unions \\
                 Shared pointers \\
                 The cell module \\
                 Cells \\
                 RefCell \\
                 The rc module \\
                 Summary \\
                 4: Lints and Clippy \\
                 Using Rust compiler lints \\
                 Lints \\
                 Avoiding anonymous parameters \\
                 Avoiding heap allocated box pointers \\
                 Avoiding missing implementations \\
                 Enforcing documentation \\
                 Pointing out trivial casts \\
                 Linting unsafe code blocks \\
                 Unused lints \\
                 Variant size differences \\
                 Lint groups \\
                 Clippy \\
                 Installation \\
                 Configuration \\
                 Lints \\
                 Casting \\
                 Bad practice \\
                 Performance lints \\
                 Unwraps \\
                 Shadowing \\
                 Integer overflow \\
                 Lint groups \\
                 Summary \\
                 5: Profiling Your Rust Application \\
                 Understanding the hardware \\
                 Understanding how the CPU works \\
                 Speeding up memory access with the cache \\
                 Cache misses \\
                 How can you fix it? \\
                 Cache invalidation \\
                 CPU pipeline \\
                 Branch prediction \\
                 The relevance of branch prediction for our code \\
                 Profiling tools \\
                 Valgrind \\
                 Callgrind \\
                 Cachegrind \\
                 OProfile \\
                 Summary \\
                 6: Benchmarking \\
                 Selecting what to benchmark \\
                 Benchmarking in nightly Rust \\
                 Benchmarking in stable Rust \\
                 Continuous integration for benchmarks \\
                 Travis-CI integration \\
                 Benchmark statistics with Criterion \\
                 Summary \\
                 7: Built-in Macros and Configuration Items \\
                 Understanding attributes \\
                 Trait derivations \\
                 Crate features \\
                 Configuration attributes \\
                 Macros \\
                 Console printing \\
                 String formatting \\
                 Compilation environment \\
                 Loading byte arrays and strings at compile time \\
                 Code paths \\
                 Checking preconditions and postconditions \\
                 Others \\
                 Nightly Rust \\
                 Conservative trait return \\
                 Constant functions \\
                 Inline assembly and naked functions \\
                 Using bigger integers \\
                 Single instruction multiple data \\
                 Allocation API \\
                 Compiler plugins \\
                 Summary \\
                 8: Must-Have Macro Crates \\
                 Working with external data \\
                 Data serialization and deserialization \\
                 Serializing and deserializing complex structures \\
                 Parsing byte streams \\
                 Learning about useful small crates \\
                 Creating lazily evaluated statics",
}


bibtype: book
filename: master.bib
label: Ehrlich:1973:PCP
author: Robert Ehrlich
title: Physics and Computers; Problems, Simulations, and Data Analysis
publisher: pub-HOUGHTON-MIFFLIN
address: pub-HOUGHTON-MIFFLIN:adr
pages: vi + 279
year: 1973
ISBN: 0-395-59472-1 (??invalid checksum??) OR 0395594721 (??invalid checksum??)
ISBN13: 978-0-395-59472-8 (??invalid checksum??) OR 9780395594728 (??invalid checksum??)
LCCN: QC20.2.E35
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: Robert Ehrlich
rawtitle: Physics and Computers; Problems, Simulations, and Data Analysis
entry:
@Book{Ehrlich:1973:PCP,
  author =       "Robert Ehrlich",
  title =        "Physics and Computers; Problems, Simulations, and Data
                 Analysis",
  publisher =    pub-HOUGHTON-MIFFLIN,
  address =      pub-HOUGHTON-MIFFLIN:adr,
  pages =        "vi + 279",
  year =         "1973",
  ISBN =         "0-395-59472-1 (??invalid checksum??)",
  ISBN-13 =      "978-0-395-59472-8 (??invalid checksum??)",
  LCCN =         "QC20.2.E35",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Eijkhout:1992:TTT
author: Victor Eijkhout
title: TeX by Topic, a TeX nician's Reference
publisher: pub-AW
address: pub-AW:adr
pages: vii + 307
year: 1992
ISBN: 0-201-56882-9 OR 0201568829
ISBN13: 978-0-201-56882-0 OR 9780201568820
LCCN: Z253.4.T47 E38 1992
bibdate: Tue Dec 14 22:47:52 1993
bibtimestamp: 1993.12.14 22:47:52 ???
URL: http://eijkhout.net/texbytopic/
acknowledgement: ack-nhfb
rawauthor: Victor Eijkhout
rawtitle: {\TeX} by Topic, a {\TeX}nician's Reference
bibsource:
https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/sgml.bib; https://www.math.utah.edu/pub/tex/bib/texbook3.bib

TOC:
License / 15 Preface / 21 1 The Structure of the TEX Processor / 23 1.1 Four TEX processors / 23 1.2 The input processor / 24 1.2.1 Character input / 24 1.2.2 Two-level input processing / 24 1.3 The expansion processor / 25 1.3.1 The process of expansion / 25 1.3.2 Special cases: expandafter , noexpand , and the / 25 1.3.3 Braces in the expansion processor / 26 1.4 The execution processor / 26 1.5 The visual processor / 27 1.6 Examples / 28 1.6.1 Skipped spaces / 28 1.6.2 Internal quantities and their representations / 28 2 Category Codes and Internal States / 29 2.1 Introduction / 29 2.2 Initial processing / 29 2.3 Category codes / 30 2.4 From characters to tokens / 32 2.5 The input processor as a finite state automaton / 32 2.5.1 State N: new line / 32 2.5.2 State S: skipping spaces / 32 2.5.3 State M: middle of line / 32 2.6 Accessing the full character set / 33 2.7 Transitions between internal states / 33 2.7.1 0: escape character / 33 2.7.2 1--4, 7--8, 11--13: non-blank characters / 34 2.7.3 5: end of line / 34 2.7.4 6: parameter / 34 2.7.5 7: superscript / 34 2.7.6 9: ignored character / 34 2.7.7 10: space / 35 2.7.8 14: comment / 35 2.7.9 15: invalid / 35 2.8 Letters and other characters / 35 2.9 The par token / 36 2.10 Spaces / 37 2.10.1 Skipped spaces / 37 2.10.2 Optional spaces / 37 2.10.3 Ignored and obeyed spaces / 38 2.10.4 More ignored spaces / 38 2.10.5 space token / 39 2.10.6 Control space / 39 2.10.7 ` ' / 39 2.11 More about line ends / 40 2.11.1 Obeylines / 40 2.11.2 Changing the endlinechar / 40 2.11.3 More remarks about the end-of-line character / 41 2.12 More about the input processor / 41 2.12.1 The input processor as a separate process / 41 2.12.2 The input processor not as a separate process / 42 2.12.3 Recursive invocation of the input processor / 42 2.13 The <at> convention / 43 3 Characters / 45 3.1 Character codes / 45 3.2 Control sequences for characters / 46 3.2.1 Denoting characters to be typeset: char / 46 3.2.2 Implicit character tokens: let / 47 3.3 Accents / 48 3.4 Testing characters / 49 3.5 Uppercase and lowercase / 50 3.5.1 Uppercase and lowercase codes / 50 3.5.2 Uppercase and lowercase commands / 50 3.5.3 Uppercase and lowercase forms of keywords / 50 3.5.4 Creative use of uppercase and lowercase / 51 3.6 Codes of a character / 51 3.7 Converting tokens into character strings / 51 3.7.1 Output of control sequences / 52 3.7.2 Category codes of a string / 52 4 Fonts / 53 4.1 Fonts / 53 4.2 Font declaration / 54 4.2.1 Fonts and tfm files / 54 4.2.2 Querying the current font and font names / 54 4.2.3 nullfont / 55 4.3 Font information / 55 4.3.1 Font dimensions / 55 4.3.2 Kerning / 56 4.3.3 Italic correction / 56 4.3.4 Ligatures / 57 4.3.5 Boundary ligatures / 57 5 Boxes / 59 5.1 Boxes / 60 5.2 Box registers / 60 5.2.1 Allocation: newbox / 60 5.2.2 Usage: setbox , box , copy / 61 5.2.3 Testing: ifvoid , ifhbox , ifvbox / 61 5.2.4 The lastbox / 61 5.3 Natural dimensions of boxes / 62 5.3.1 Dimensions of created horizontal boxes / 62 5.3.2 Dimensions of created vertical boxes / 62 5.3.3 Examples / 63 5.4 More about box dimensions / 64 5.4.1 Predetermined dimensions / 64 5.4.2 Changes to box dimensions / 65 5.4.3 Moving boxes around / 65 5.4.4 Box dimensions and box placement / 65 5.4.5 Boxes and negative glue / 66 5.5 Overfull and underfull boxes / 67 5.6 Opening and closing boxes / 67 5.7 Unboxing / 68 5.8 Text in boxes / 69 5.9 Assorted remarks / 70 5.9.1 Forgetting the box / 70 5.9.2 Special-purpose boxes / 70 5.9.3 The height of a vertical box in horizontal mode / 70 5.9.4 More subtleties with vertical boxes / 70 5.9.5 Hanging the lastbox back in the list / 71 5.9.6 Dissecting paragraphs with lastbox / 72 6 Horizontal and Vertical Mode / 73 6.1 Horizontal and vertical mode / 73 6.1.1 Horizontal mode / 73 6.1.2 Vertical mode / 74 6.2 Horizontal and vertical commands / 74 6.3 The internal modes / 75 6.3.1 Restricted horizontal mode / 75 6.3.2 Internal vertical mode / 75 6.4 Boxes and modes / 76 6.4.1 What box do you use in what mode? / 76 6.4.2 What mode holds in what box? / 76 6.4.3 Mode-dependent behaviour of boxes / 76 6.5 Modes and glue / 76 6.6 Migrating material / 77 6.6.1 vadjust / 77 6.7 Testing modes / 77 7 Numbers / 79 7.1 Numbers and number's / 79 7.2 Integers / 79 7.2.1 Denotations: integers / 80 7.2.2 Denotations: characters / 80 7.2.3 Internal integers / 81 7.2.4 Internal integers: other codes of a character / 82 7.2.5 special integer / 82 7.2.6 Other internal quantities: coersion to integer / 82 7.2.7 Trailing spaces / 82 7.3 Numbers / 82 7.4 Integer registers / 83 7.5 Arithmetic / 83 7.5.1 Arithmetic statements / 84 7.5.2 Floating-point arithmetic / 84 7.5.3 Fixed-point arithmetic / 84 7.6 Number testing / 84 7.7 Remarks / 85 7.7.1 Character constants / 85 7.7.2 Expanding too far / how far / 85 8 Dimensions and Glue / 87 8.1 Definition of glue and dimen / 88 8.1.1 Definition of dimensions / 88 8.1.2 Definition of glue / 89 8.1.3 Conversion of glue to dimen / 90 8.1.4 Registers for dimen and skip / 90 8.1.5 Arithmetic: addition / 90 8.1.6 Arithmetic: multiplication and division / 91 8.2 More about dimensions / 91 8.2.1 Units of measurement / 91 8.2.2 Dimension testing / 92 8.2.3 Defined dimensions / 92 8.3 More about glue / 92 8.3.1 Stretch and shrink / 93 8.3.2 Glue setting / 94 8.3.3 Badness / 94 8.3.4 Glue and breaking / 95 8.3.5 kern / 95 8.3.6 Glue and modes / 95 8.3.7 The last glue item in a list: backspacing / 96 8.3.8 Examples of backspacing / 96 8.3.9 Glue in trace output / 97 9 Rules and Leaders / 99 9.1 Rules / 99 9.1.1 Rule dimensions / 100 9.2 Leaders / 100 9.2.1 Rule leaders / 101 9.2.2 Box leaders / 102 9.2.3 Evenly spaced leaders / 102 9.3 Assorted remarks / 103 9.3.1 Rules and modes / 103 9.3.2 Ending a paragraph with leaders / 103 9.3.3 Leaders and box registers / 103 9.3.4 Output in leader boxes / 104 9.3.5 Box leaders in trace output / 104 9.3.6 Leaders and shifted margins / 104 10 Grouping / 105 10.1 The grouping mechanism / 105 10.2 Local and global assignments / 106 10.3 Group delimiters / 106 10.4 More about braces / 107 10.4.1 Brace counters / 107 10.4.2 The brace as a token / 108 10.4.3 Open and closing brace control symbols / 108 11 Macros / 109 11.1 Introduction / 109 11.2 Layout of a macro definition / 110 11.3 Prefixes / 110 11.4 The definition type / 111 11.5 The parameter text / 111 11.5.1 Undelimited parameters / 112 11.5.2 Delimited parameters / 112 11.5.3 Examples with delimited arguments / 113 11.5.4 Empty arguments / 114 11.5.5 The macro parameter character / 114 11.5.6 Brace delimiting / 115 11.6 Construction of control sequences / 115 11.7 Token assignments by let and futurelet / 116 11.7.1 let / 116 11.7.2 futurelet / 117 11.8 Assorted remarks / 117 11.8.1 Active characters / 117 11.8.2 Macros versus primitives / 117 11.8.3 Tail recursion / 118 11.9 Macro techniques / 119 11.9.1 Unknown number of arguments / 119 11.9.2 Examining the argument / 119 11.9.3 Optional macro parameters with futurelet / 121 11.9.4 Two-step macros / 121 11.9.5 A comment environment / 122 12 Expansion / 125 12.1 Introduction / 125 12.2 Ordinary expansion / 125 12.3 Reversing expansion order / 126 12.3.1 One step expansion: expandafter / 126 12.3.2 Total expansion: edef / 127 12.3.3 afterassignment / 127 12.3.4 aftergroup / 128 12.4 Preventing expansion / 129 12.4.1 noexpand / 129 12.4.2 noexpand and active characters / 129 12.5 relax / 130 12.5.1 relax and csname / 130 12.5.2 Preventing expansion with relax / 131 12.5.3 TEX inserts a relax / 131 12.5.4 The value of non-macros; the / 132 12.6 Examples / 132 12.6.1 Expanding after / 132 12.6.2 Defining inside an edef / 133 12.6.3 Expansion and write / 134 12.6.4 Controlled expansion inside an edef / 135 12.6.5 Multiple prevention of expansion / 135 12.6.6 More examples with relax / 136 12.6.7 Example: category code saving and restoring / 136 12.6.8 Combining aftergroup and boxes / 137 12.6.9 More expansion / 138 13 Conditionals / 139 13.1 The shape of conditionals / 139 13.2 Character and control sequence tests / 140 13.2.1 if / 140 13.2.2 ifcat / 140 13.2.3 ifx / 141 13.3 Mode tests / 141 13.4 Numerical tests / 142 13.5 Other tests / 142 13.5.1 Dimension testing / 142 13.5.2 Box tests / 142 13.5.3 I/O tests / 142 13.5.4 Case statement / 142 13.5.5 Special tests / 143 13.6 The newif macro / 143 13.7 Evaluation of conditionals / 144 13.8 Assorted remarks / 145 13.8.1 The test gobbles up tokens / 145 13.8.2 The test wants to gobble up the else or fi / 145 13.8.3 Macros and conditionals; the use of expandafter / 146 13.8.4 Incorrect matching / 147 13.8.5 Conditionals and grouping / 147 13.8.6 A trick / 148 13.8.7 More examples of expansion in conditionals / 148 14 Token Lists / 151 14.1 Token lists / 151 14.2 Use of token lists / 151 14.3 token parameter / 152 14.4 Token list registers / 152 14.5 Examples / 153 14.5.1 Operations on token lists: stack macros / 153 14.5.2 Executing token lists / 154 15 Baseline Distances / 155 15.1 Interline glue / 155 15.2 The perceived depth of boxes / 157 15.3 Terminology / 158 15.4 Additional remarks / 158 16 Paragraph Start / 159 16.1 When does a paragraph start / 159 16.2 What happens when a paragraph starts / 160 16.3 Assorted remarks / 160 16.3.1 Starting a paragraph with a box / 160 16.3.2 Starting a paragraph with a group / 160 16.4 Examples / 161 16.4.1 Stretchable indentation / 161 16.4.2 Suppressing indentation / 161 16.4.3 An indentation scheme / 161 16.4.4 A paragraph skip scheme / 162 17 Paragraph End / 165 17.1 The way paragraphs end / 165 17.1.1 The par command and the par token / 165 17.1.2 Paragraph filling: parfillskip / 166 17.2 Assorted remarks / 166 17.2.1 Ending a paragraph and a group at the same time / 166 17.2.2 Ending a paragraph with hfill break / 167 17.2.3 Ending a paragraph with a rule / 167 17.2.4 No page breaks in between paragraphs / 167 17.2.5 Finite parfillskip / 167 17.2.6 A precaution for paragraphs that do not indent / 168 18 Paragraph Shape / 169 18.1 The width of text lines / 170 18.2 Shape parameters / 170 18.2.1 Hanging indentation / 170 18.2.2 General paragraph shapes: parshape / 171 18.3 Assorted remarks / 171 18.3.1 Centred last lines / 171 18.3.2 Indenting into the margin / 172 18.3.3 Hang a paragraph from an object / 172 18.3.4 Another approach to hanging indentation / 173 18.3.5 Hanging indentation versus leftskip shifting / 173 18.3.6 More examples / 174 19 Line Breaking / 175 19.1 Paragraph break cost calculation / 176 19.1.1 Badness / 176 19.1.2 Penalties and other break locations / 177 19.1.3 Demerits / 177 19.1.4 The number of lines of a paragraph / 178 19.1.5 Between the lines / 178 19.2 The process of breaking / 178 19.2.1 Three passes / 179 19.2.2 Tolerance values / 179 19.3 Discretionaries / 179 19.3.1 Hyphens and discretionaries / 179 19.3.2 Examples of discretionaries / 180 19.4 Hyphenation / 181 19.4.1 Start of a word / 181 19.4.2 End of a word / 181 19.4.3 TEX2 versus TEX3 / 182 19.4.4 Patterns and exceptions / 182 19.5 Switching hyphenation patterns / 182 20 Spacing / 185 20.1 Introduction / 185 20.2 Automatic interword space / 185 20.3 User interword space / 186 20.4 Control space and tie / 187 20.5 More on the space factor / 188 20.5.1 Space factor assignments / 188 20.5.2 Punctuation / 188 20.5.3 Other non-letters / 189 20.5.4 Other influences on the space factor / 189 21 Characters in Math Mode / 191 21.1 Mathematical characters / 192 21.2 Delimiters / 192 21.2.1 Delimiter codes / 193 21.2.2 Explicit delimiter commands / 193 21.2.3 Finding a delimiter; successors / 193 21.2.4 big , Big , bigg , and Bigg delimiter macros / 194 21.3 Radicals / 194 21.4 Math accents / 195 22 Fonts in Formulas / 197 22.1 Determining the font of a character in math mode / 197 22.2 Initial family settings / 198 22.3 Family definition / 198 22.4 Some specific font changes / 198 22.4.1 Change the font of ordinary characters and uppercase Greek / 198 22.4.2 Change uppercase Greek independent of text font / 199 22.4.3 Change the font of lowercase Greek and mathematical symbols / 199 22.5 Assorted remarks / 199 22.5.1 New fonts in formulas / 199 22.5.2 Evaluating the families / 200 23 Mathematics Typesetting / 201 23.1 Math modes / 202 23.2 Styles in math mode / 202 23.2.1 Superscripts and subscripts 203 / 11 23.2.2 Choice of styles / 203 23.3 Classes of mathematical objects / 204 23.4 Large operators and their limits / 204 23.5 Vertical centring: vcenter / 205 23.6 Mathematical spacing: mu glue / 205 23.6.1 Classification of mu glue / 206 23.6.2 Muskip registers / 206 23.6.3 Other spaces in math mode / 207 23.7 Generalized fractions / 207 23.8 Underlining, overlining / 208 23.9 Line breaking in math formulas / 208 23.10 Font dimensions of families 2 and 3 / 208 23.10.1 Symbol font attributes / 208 23.10.2 Extension font attributes / 209 23.10.3 Example: subscript lowering / 210 24 Display Math / 211 24.1 Displays / 211 24.2 Displays in paragraphs / 212 24.3 Vertical material around displays / 212 24.4 Glue setting of the display math list / 213 24.5 Centring the display formula: displacement / 213 24.6 Equation numbers / 214 24.6.1 Ordinary equation numbers / 214 24.6.2 The equation number on a separate line / 214 24.7 Non-centred displays / 214 25 Alignment / 217 25.1 Introduction / 217 25.2 Horizontal and vertical alignment / 217 25.2.1 Horizontal alignments: halign / 218 25.2.2 Vertical alignments: valign / 218 25.2.3 Material between the lines: noalign / 218 25.2.4 Size of the alignment / 219 25.3 The preamble / 219 25.3.1 Infinite preambles / 219 25.3.2 Brace counting in preambles / 220 25.3.3 Expansion in the preamble / 220 25.3.4 tabskip / 220 25.4 The alignment / 221 25.4.1 Reading an entry / 221 25.4.2 Alternate specifications: omit / 221 25.4.3 Spanning across multiple columns: span / 222 25.4.4 Rules in alignments / 222 25.4.5 End of a line: cr and crcr / 223 25.5 Example: math alignments / 224 26 Page Shape / 225 26.1 The reference point for global positioning / 225 26.2 topskip / 225 26.3 Page height and depth / 226 27 Page Breaking / 227 27.1 The current page and the recent contributions / 228 27.2 Activating the page builder / 228 27.3 Page length bookkeeping / 228 27.4 Breakpoints / 229 27.4.1 Possible breakpoints / 229 27.4.2 Breakpoint penalties / 229 27.4.3 Breakpoint computation / 230 27.5 vsplit / 231 27.6 Examples of page breaking / 232 27.6.1 Filling up a page / 232 27.6.2 Determining the breakpoint / 232 27.6.3 The page builder after a paragraph / 233 28 Output Routines / 235 28.1 The output token list / 235 28.2 Output and box 255 / 236 28.3 Marks / 236 28.4 Assorted remarks / 238 28.4.1 Hazards in non-trivial output routines / 238 28.4.2 Page numbering / 238 28.4.3 Headlines and footlines in plain TEX / 238 28.4.4 Example: no widow lines / 238 28.4.5 Example: no indentation top of page / 239 28.4.6 More examples of output routines / 240 29 Insertions / 241 29.1 Insertion items / 241 29.2 Insertion class declaration / 242 29.3 Insertion parameters / 242 29.4 Moving insertion items from the contributions list / 243 29.5 Insertions in the output routine / 244 29.6 Plain TEX insertions / 244 30 File Input and Output / 245 30.1 Including files: input and endinput / 245 30.2 File I/O / 246 30.2.1 Opening and closing streams / 246 30.2.2 Input with read / 246 30.2.3 Output with write / 247 30.3 Whatsits / 247 30.4 Assorted remarks / 248 30.4.1 Inspecting input / 248 30.4.2 Testing for existence of files / 248 30.4.3 Timing problems / 248 30.4.4 message versus immediate write 16 / 248 30.4.5 Write inside a vertical box / 249 30.4.6 Expansion and spaces in write and message / 249 31 Allocation / 251 31.1 Allocation commands / 251 31.1.1 count , dimen , skip , muskip , toks / 252 31.1.2 box , fam , write , read , insert / 252 31.2 Ground rules for macro writers / 252 32 Running TEX / 255 32.1 Jobs / 255 32.1.1 Start of the job / 255 32.1.2 End of the job / 256 32.1.3 The log file / 256 32.2 Run modes / 256 33 TEX and the Outside World / 259 33.1 TEX, IniTEX, VirTEX / 259 33.1.1 Formats: loading / 259 33.1.2 Formats: dumping / 260 33.1.3 Formats: preloading / 260 33.1.4 The knowledge of IniTEX / 260 33.1.5 Memory sizes of TEX and IniTEX / 261 33.2 More about formats / 261 33.2.1 Compatibility / 261 33.2.2 Preloaded fonts / 261 33.2.3 The plain format / 262 33.2.4 The LATEX format / 262 33.2.5 Mathematical formats / 262 33.2.6 Other formats / 262 33.3 The dvi file / 263 33.3.1 The dvi file format / 263 33.3.2 Page identification / 263 33.3.3 Magnification / 263 33.4 Specials / 264 33.5 Time / 264 33.6 Fonts / 264 33.6.1 Font metrics / 264 33.6.2 Virtual fonts / 265 33.6.3 Font files / 265 33.6.4 Computer Modern / 266 33.7 TEX and web / 266 33.8 The TEX Users Group / 267 34 Tracing / 269 34.1 Meaning and content: show , showthe , meaning / 270 34.2 Show boxes: showbox , tracingoutput / 270 34.3 Global statistics / 272 34.4 Execution tracing / 273 35 Errors, Catastrophes, and Help / 275 35.1 Error messages / 275 35.2 Overflow errors / 276 35.2.1 Buffer size (500) / 276 35.2.2 Exception dictionary (307) / 276 35.2.3 Font memory (20,000) / 276 35.2.4 Grouping levels / 277 35.2.5 Hash size (2100) / 277 35.2.6 Number of strings (3000) / 277 35.2.7 Input stack size (200) / 277 35.2.8 Main memory size (30,000) / 277 35.2.9 Parameter stack size (60) / 277 35.2.10 Pattern memory (8000) / 278 35.2.11 Pattern memory ops per language / 278 35.2.12 Pool size (32,000) / 278 35.2.13 Save size (600) / 278 35.2.14 Semantic nest size (40) / 278 35.2.15 Text input levels (6) / 278 36 The Grammar of TEX / 279 36.1 Notations / 279 36.2 Keywords / 280 36.3 Specific grammatical terms / 280 36.3.1 equals / 280 36.3.2 filler, general text / 280 36.3.3 and left brace right brace / 281 36.3.4 math field / 281 36.4 Differences between TEX versions 2 and 3 / 281 37 Glossary of TEX Primitives / 283 38 Tables / 297 38.1 Character tables / 298 38.2 Computer modern fonts / 300 38.3 Plain TEX math symbols / 305 38.3.1 Mathcharacter codes / 305 38.3.2 Delimiter codes / 306 38.3.3 mathchardef tokens: ordinary symbols / 307 38.3.4 mathchardef tokens: large operators / 308 38.3.5 mathchardef tokens: binary operations / 309 38.3.6 mathchardef tokens: relations / 310 38.3.7 delimiter macros / 311 39 Index / 313 Bibliography / 321

rawTOC:
License / 15 \\ Preface / 21 \\ 1 The Structure of the TEX Processor / 23 \\ 1.1 Four TEX processors / 23 \\ 1.2 The input processor / 24 \\ 1.2.1 Character input / 24 \\ 1.2.2 Two-level input processing / 24 \\ 1.3 The expansion processor / 25 \\ 1.3.1 The process of expansion / 25 \\ 1.3.2 Special cases: \expandafter, \noexpand, and \the / 25 \\ 1.3.3 Braces in the expansion processor / 26 \\ 1.4 The execution processor / 26 \\ 1.5 The visual processor / 27 \\ 1.6 Examples / 28 \\ 1.6.1 Skipped spaces / 28 \\ 1.6.2 Internal quantities and their representations / 28 \\ 2 Category Codes and Internal States / 29 \\ 2.1 Introduction / 29 \\ 2.2 Initial processing / 29 \\ 2.3 Category codes / 30 \\ 2.4 From characters to tokens / 32 \\ 2.5 The input processor as a finite state automaton / 32 \\ 2.5.1 State N: new line / 32 \\ 2.5.2 State S: skipping spaces / 32 \\ 2.5.3 State M: middle of line / 32 \\ 2.6 Accessing the full character set / 33 \\ 2.7 Transitions between internal states / 33 \\ 2.7.1 0: escape character / 33 \\ 2.7.2 1--4, 7--8, 11--13: non-blank characters / 34 \\ 2.7.3 5: end of line / 34 \\ 2.7.4 6: parameter / 34 \\ 2.7.5 7: superscript / 34 \\ 2.7.6 9: ignored character / 34 \\ 2.7.7 10: space / 35 \\ 2.7.8 14: comment / 35 \\ 2.7.9 15: invalid / 35 \\ 2.8 Letters and other characters / 35 \\ 2.9 The \par token / 36 \\ 2.10 Spaces / 37 \\ 2.10.1 Skipped spaces / 37 \\ 2.10.2 Optional spaces / 37 \\ 2.10.3 Ignored and obeyed spaces / 38 \\ 2.10.4 More ignored spaces / 38 \\ 2.10.5 space token / 39 \\ 2.10.6 Control space / 39 \\ 2.10.7 ` ' / 39 \\ 2.11 More about line ends / 40 \\ 2.11.1 Obeylines / 40 \\ 2.11.2 Changing the \endlinechar / 40 \\ 2.11.3 More remarks about the end-of-line character / 41 \\ 2.12 More about the input processor / 41 \\ 2.12.1 The input processor as a separate process / 41 \\ 2.12.2 The input processor not as a separate process / 42 \\ 2.12.3 Recursive invocation of the input processor / 42 \\ 2.13 The <at> convention / 43 \\ 3 Characters / 45 \\ 3.1 Character codes / 45 \\ 3.2 Control sequences for characters / 46 \\ 3.2.1 Denoting characters to be typeset: \char / 46 \\ 3.2.2 Implicit character tokens: \let / 47 \\ 3.3 Accents / 48 \\ 3.4 Testing characters / 49 \\ 3.5 Uppercase and lowercase / 50 \\ 3.5.1 Uppercase and lowercase codes / 50 \\ 3.5.2 Uppercase and lowercase commands / 50 \\ 3.5.3 Uppercase and lowercase forms of keywords / 50 \\ 3.5.4 Creative use of \uppercase and \lowercase / 51 \\ 3.6 Codes of a character / 51 \\ 3.7 Converting tokens into character strings / 51 \\ 3.7.1 Output of control sequences / 52 \\ 3.7.2 Category codes of a \string / 52 \\ 4 Fonts / 53 \\ 4.1 Fonts / 53 \\ 4.2 Font declaration / 54 \\ 4.2.1 Fonts and tfm files / 54 \\ 4.2.2 Querying the current font and font names / 54 \\ 4.2.3 \nullfont / 55 \\ 4.3 Font information / 55 \\ 4.3.1 Font dimensions / 55 \\ 4.3.2 Kerning / 56 \\ 4.3.3 Italic correction / 56 \\ 4.3.4 Ligatures / 57 \\ 4.3.5 Boundary ligatures / 57 \\ 5 Boxes / 59 \\ 5.1 Boxes / 60 \\ 5.2 Box registers / 60 \\ 5.2.1 Allocation: \newbox / 60 \\ 5.2.2 Usage: \setbox, \box, \copy / 61 \\ 5.2.3 Testing: \ifvoid, \ifhbox, \ifvbox / 61 \\ 5.2.4 The \lastbox / 61 \\ 5.3 Natural dimensions of boxes / 62 \\ 5.3.1 Dimensions of created horizontal boxes / 62 \\ 5.3.2 Dimensions of created vertical boxes / 62 \\ 5.3.3 Examples / 63 \\ 5.4 More about box dimensions / 64 \\ 5.4.1 Predetermined dimensions / 64 \\ 5.4.2 Changes to box dimensions / 65 \\ 5.4.3 Moving boxes around / 65 \\ 5.4.4 Box dimensions and box placement / 65 \\ 5.4.5 Boxes and negative glue / 66 \\ 5.5 Overfull and underfull boxes / 67 \\ 5.6 Opening and closing boxes / 67 \\ 5.7 Unboxing / 68 \\ 5.8 Text in boxes / 69 \\ 5.9 Assorted remarks / 70 \\ 5.9.1 Forgetting the \box / 70 \\ 5.9.2 Special-purpose boxes / 70 \\ 5.9.3 The height of a vertical box in horizontal mode / 70 \\ 5.9.4 More subtleties with vertical boxes / 70 \\ 5.9.5 Hanging the \lastbox back in the list / 71 \\ 5.9.6 Dissecting paragraphs with \lastbox / 72 \\ 6 Horizontal and Vertical Mode / 73 \\ 6.1 Horizontal and vertical mode / 73 \\ 6.1.1 Horizontal mode / 73 \\ 6.1.2 Vertical mode / 74 \\ 6.2 Horizontal and vertical commands / 74 \\ 6.3 The internal modes / 75 \\ 6.3.1 Restricted horizontal mode / 75 \\ 6.3.2 Internal vertical mode / 75 \\ 6.4 Boxes and modes / 76 \\ 6.4.1 What box do you use in what mode? / 76 \\ 6.4.2 What mode holds in what box? / 76 \\ 6.4.3 Mode-dependent behaviour of boxes / 76 \\ 6.5 Modes and glue / 76 \\ 6.6 Migrating material / 77 \\ 6.6.1 \vadjust / 77 \\ 6.7 Testing modes / 77 \\ 7 Numbers / 79 \\ 7.1 Numbers and number's / 79 \\ 7.2 Integers / 79 \\ 7.2.1 Denotations: integers / 80 \\ 7.2.2 Denotations: characters / 80 \\ 7.2.3 Internal integers / 81 \\ 7.2.4 Internal integers: other codes of a character / 82 \\ 7.2.5 special integer / 82 \\ 7.2.6 Other internal quantities: coersion to integer / 82 \\ 7.2.7 Trailing spaces / 82 \\ 7.3 Numbers / 82 \\ 7.4 Integer registers / 83 \\ 7.5 Arithmetic / 83 \\ 7.5.1 Arithmetic statements / 84 \\ 7.5.2 Floating-point arithmetic / 84 \\ 7.5.3 Fixed-point arithmetic / 84 \\ 7.6 Number testing / 84 \\ 7.7 Remarks / 85 \\ 7.7.1 Character constants / 85 \\ 7.7.2 Expanding too far / how far / 85 \\ 8 Dimensions and Glue / 87 \\ 8.1 Definition of glue and dimen / 88 \\ 8.1.1 Definition of dimensions / 88 \\ 8.1.2 Definition of glue / 89 \\ 8.1.3 Conversion of glue to dimen / 90 \\ 8.1.4 Registers for \dimen and \skip / 90 \\ 8.1.5 Arithmetic: addition / 90 \\ 8.1.6 Arithmetic: multiplication and division / 91 \\ 8.2 More about dimensions / 91 \\ 8.2.1 Units of measurement / 91 \\ 8.2.2 Dimension testing / 92 \\ 8.2.3 Defined dimensions / 92 \\ 8.3 More about glue / 92 \\ 8.3.1 Stretch and shrink / 93 \\ 8.3.2 Glue setting / 94 \\ 8.3.3 Badness / 94 \\ 8.3.4 Glue and breaking / 95 \\ 8.3.5 \kern / 95 \\ 8.3.6 Glue and modes / 95 \\ 8.3.7 The last glue item in a list: backspacing / 96 \\ 8.3.8 Examples of backspacing / 96 \\ 8.3.9 Glue in trace output / 97 \\ 9 Rules and Leaders / 99 \\ 9.1 Rules / 99 \\ 9.1.1 Rule dimensions / 100 \\ 9.2 Leaders / 100 \\ 9.2.1 Rule leaders / 101 \\ 9.2.2 Box leaders / 102 \\ 9.2.3 Evenly spaced leaders / 102 \\ 9.3 Assorted remarks / 103 \\ 9.3.1 Rules and modes / 103 \\ 9.3.2 Ending a paragraph with leaders / 103 \\ 9.3.3 Leaders and box registers / 103 \\ 9.3.4 Output in leader boxes / 104 \\ 9.3.5 Box leaders in trace output / 104 \\ 9.3.6 Leaders and shifted margins / 104 \\ 10 Grouping / 105 \\ 10.1 The grouping mechanism / 105 \\ 10.2 Local and global assignments / 106 \\ 10.3 Group delimiters / 106 \\ 10.4 More about braces / 107 \\ 10.4.1 Brace counters / 107 \\ 10.4.2 The brace as a token / 108 \\ 10.4.3 Open and closing brace control symbols / 108 \\ 11 Macros / 109 \\ 11.1 Introduction / 109 \\ 11.2 Layout of a macro definition / 110 \\ 11.3 Prefixes / 110 \\ 11.4 The definition type / 111 \\ 11.5 The parameter text / 111 \\ 11.5.1 Undelimited parameters / 112 \\ 11.5.2 Delimited parameters / 112 \\ 11.5.3 Examples with delimited arguments / 113 \\ 11.5.4 Empty arguments / 114 \\ 11.5.5 The macro parameter character / 114 \\ 11.5.6 Brace delimiting / 115 \\ 11.6 Construction of control sequences / 115 \\ 11.7 Token assignments by \let and \futurelet / 116 \\ 11.7.1 \let / 116 \\ 11.7.2 \futurelet / 117 \\ 11.8 Assorted remarks / 117 \\ 11.8.1 Active characters / 117 \\ 11.8.2 Macros versus primitives / 117 \\ 11.8.3 Tail recursion / 118 \\ 11.9 Macro techniques / 119 \\ 11.9.1 Unknown number of arguments / 119 \\ 11.9.2 Examining the argument / 119 \\ 11.9.3 Optional macro parameters with \futurelet / 121 \\ 11.9.4 Two-step macros / 121 \\ 11.9.5 A comment environment / 122 \\ 12 Expansion / 125 \\ 12.1 Introduction / 125 \\ 12.2 Ordinary expansion / 125 \\ 12.3 Reversing expansion order / 126 \\ 12.3.1 One step expansion: \expandafter / 126 \\ 12.3.2 Total expansion: \edef / 127 \\ 12.3.3 \afterassignment / 127 \\ 12.3.4 \aftergroup / 128 \\ 12.4 Preventing expansion / 129 \\ 12.4.1 \noexpand / 129 \\ 12.4.2 \noexpand and active characters / 129 \\ 12.5 \relax / 130 \\ 12.5.1 \relax and \csname / 130 \\ 12.5.2 Preventing expansion with \relax / 131 \\ 12.5.3 TEX inserts a \relax / 131 \\ 12.5.4 The value of non-macros; \the / 132 \\ 12.6 Examples / 132 \\ 12.6.1 Expanding after / 132 \\ 12.6.2 Defining inside an \edef / 133 \\ 12.6.3 Expansion and \write / 134 \\ 12.6.4 Controlled expansion inside an \edef / 135 \\ 12.6.5 Multiple prevention of expansion / 135 \\ 12.6.6 More examples with \relax / 136 \\ 12.6.7 Example: category code saving and restoring / 136 \\ 12.6.8 Combining \aftergroup and boxes / 137 \\ 12.6.9 More expansion / 138 \\ 13 Conditionals / 139 \\ 13.1 The shape of conditionals / 139 \\ 13.2 Character and control sequence tests / 140 \\ 13.2.1 \if / 140 \\ 13.2.2 \ifcat / 140 \\ 13.2.3 \ifx / 141 \\ 13.3 Mode tests / 141 \\ 13.4 Numerical tests / 142 \\ 13.5 Other tests / 142 \\ 13.5.1 Dimension testing / 142 \\ 13.5.2 Box tests / 142 \\ 13.5.3 I/O tests / 142 \\ 13.5.4 Case statement / 142 \\ 13.5.5 Special tests / 143 \\ 13.6 The \newif macro / 143 \\ 13.7 Evaluation of conditionals / 144 \\ 13.8 Assorted remarks / 145 \\ 13.8.1 The test gobbles up tokens / 145 \\ 13.8.2 The test wants to gobble up the \else or \fi / 145 \\ 13.8.3 Macros and conditionals; the use of \expandafter / 146 \\ 13.8.4 Incorrect matching / 147 \\ 13.8.5 Conditionals and grouping / 147 \\ 13.8.6 A trick / 148 \\ 13.8.7 More examples of expansion in conditionals / 148 \\ 14 Token Lists / 151 \\ 14.1 Token lists / 151 \\ 14.2 Use of token lists / 151 \\ 14.3 token parameter / 152 \\ 14.4 Token list registers / 152 \\ 14.5 Examples / 153 \\ 14.5.1 Operations on token lists: stack macros / 153 \\ 14.5.2 Executing token lists / 154 \\ 15 Baseline Distances / 155 \\ 15.1 Interline glue / 155 \\ 15.2 The perceived depth of boxes / 157 \\ 15.3 Terminology / 158 \\ 15.4 Additional remarks / 158 \\ 16 Paragraph Start / 159 \\ 16.1 When does a paragraph start / 159 \\ 16.2 What happens when a paragraph starts / 160 \\ 16.3 Assorted remarks / 160 \\ 16.3.1 Starting a paragraph with a box / 160 \\ 16.3.2 Starting a paragraph with a group / 160 \\ 16.4 Examples / 161 \\ 16.4.1 Stretchable indentation / 161 \\ 16.4.2 Suppressing indentation / 161 \\ 16.4.3 An indentation scheme / 161 \\ 16.4.4 A paragraph skip scheme / 162 \\ 17 Paragraph End / 165 \\ 17.1 The way paragraphs end / 165 \\ 17.1.1 The \par command and the \par token / 165 \\ 17.1.2 Paragraph filling: \parfillskip / 166 \\ 17.2 Assorted remarks / 166 \\ 17.2.1 Ending a paragraph and a group at the same time / 166 \\ 17.2.2 Ending a paragraph with \hfill\break / 167 \\ 17.2.3 Ending a paragraph with a rule / 167 \\ 17.2.4 No page breaks in between paragraphs / 167 \\ 17.2.5 Finite \parfillskip / 167 \\ 17.2.6 A precaution for paragraphs that do not indent / 168 \\ 18 Paragraph Shape / 169 \\ 18.1 The width of text lines / 170 \\ 18.2 Shape parameters / 170 \\ 18.2.1 Hanging indentation / 170 \\ 18.2.2 General paragraph shapes: \parshape / 171 \\ 18.3 Assorted remarks / 171 \\ 18.3.1 Centred last lines / 171 \\ 18.3.2 Indenting into the margin / 172 \\ 18.3.3 Hang a paragraph from an object / 172 \\ 18.3.4 Another approach to hanging indentation / 173 \\ 18.3.5 Hanging indentation versus \leftskip shifting / 173 \\ 18.3.6 More examples / 174 \\ 19 Line Breaking / 175 \\ 19.1 Paragraph break cost calculation / 176 \\ 19.1.1 Badness / 176 \\ 19.1.2 Penalties and other break locations / 177 \\ 19.1.3 Demerits / 177 \\ 19.1.4 The number of lines of a paragraph / 178 \\ 19.1.5 Between the lines / 178 \\ 19.2 The process of breaking / 178 \\ 19.2.1 Three passes / 179 \\ 19.2.2 Tolerance values / 179 \\ 19.3 Discretionaries / 179 \\ 19.3.1 Hyphens and discretionaries / 179 \\ 19.3.2 Examples of discretionaries / 180 \\ 19.4 Hyphenation / 181 \\ 19.4.1 Start of a word / 181 \\ 19.4.2 End of a word / 181 \\ 19.4.3 TEX2 versus TEX3 / 182 \\ 19.4.4 Patterns and exceptions / 182 \\ 19.5 Switching hyphenation patterns / 182 \\ 20 Spacing / 185 \\ 20.1 Introduction / 185 \\ 20.2 Automatic interword space / 185 \\ 20.3 User interword space / 186 \\ 20.4 Control space and tie / 187 \\ 20.5 More on the space factor / 188 \\ 20.5.1 Space factor assignments / 188 \\ 20.5.2 Punctuation / 188 \\ 20.5.3 Other non-letters / 189 \\ 20.5.4 Other influences on the space factor / 189 \\ 21 Characters in Math Mode / 191 \\ 21.1 Mathematical characters / 192 \\ 21.2 Delimiters / 192 \\ 21.2.1 Delimiter codes / 193 \\ 21.2.2 Explicit \delimiter commands / 193 \\ 21.2.3 Finding a delimiter; successors / 193 \\ 21.2.4 \big, \Big, \bigg, and \Bigg delimiter macros / 194 \\ 21.3 Radicals / 194 \\ 21.4 Math accents / 195 \\ 22 Fonts in Formulas / 197 \\ 22.1 Determining the font of a character in math mode / 197 \\ 22.2 Initial family settings / 198 \\ 22.3 Family definition / 198 \\ 22.4 Some specific font changes / 198 \\ 22.4.1 Change the font of ordinary characters and uppercase Greek / 198 \\ 22.4.2 Change uppercase Greek independent of text font / 199 \\ 22.4.3 Change the font of lowercase Greek and mathematical symbols / 199 \\ 22.5 Assorted remarks / 199 \\ 22.5.1 New fonts in formulas / 199 \\ 22.5.2 Evaluating the families / 200 \\ 23 Mathematics Typesetting / 201 \\ 23.1 Math modes / 202 \\ 23.2 Styles in math mode / 202 \\ 23.2.1 Superscripts and subscripts 203 / 11 \\ 23.2.2 Choice of styles / 203 \\ 23.3 Classes of mathematical objects / 204 \\ 23.4 Large operators and their limits / 204 \\ 23.5 Vertical centring: \vcenter / 205 \\ 23.6 Mathematical spacing: mu glue / 205 \\ 23.6.1 Classification of mu glue / 206 \\ 23.6.2 Muskip registers / 206 \\ 23.6.3 Other spaces in math mode / 207 \\ 23.7 Generalized fractions / 207 \\ 23.8 Underlining, overlining / 208 \\ 23.9 Line breaking in math formulas / 208 \\ 23.10 Font dimensions of families 2 and 3 / 208 \\ 23.10.1 Symbol font attributes / 208 \\ 23.10.2 Extension font attributes / 209 \\ 23.10.3 Example: subscript lowering / 210 \\ 24 Display Math / 211 \\ 24.1 Displays / 211 \\ 24.2 Displays in paragraphs / 212 \\ 24.3 Vertical material around displays / 212 \\ 24.4 Glue setting of the display math list / 213 \\ 24.5 Centring the display formula: displacement / 213 \\ 24.6 Equation numbers / 214 \\ 24.6.1 Ordinary equation numbers / 214 \\ 24.6.2 The equation number on a separate line / 214 \\ 24.7 Non-centred displays / 214 \\ 25 Alignment / 217 \\ 25.1 Introduction / 217 \\ 25.2 Horizontal and vertical alignment / 217 \\ 25.2.1 Horizontal alignments: \halign / 218 \\ 25.2.2 Vertical alignments: \valign / 218 \\ 25.2.3 Material between the lines: \noalign / 218 \\ 25.2.4 Size of the alignment / 219 \\ 25.3 The preamble / 219 \\ 25.3.1 Infinite preambles / 219 \\ 25.3.2 Brace counting in preambles / 220 \\ 25.3.3 Expansion in the preamble / 220 \\ 25.3.4 \tabskip / 220 \\ 25.4 The alignment / 221 \\ 25.4.1 Reading an entry / 221 \\ 25.4.2 Alternate specifications: \omit / 221 \\ 25.4.3 Spanning across multiple columns: \span / 222 \\ 25.4.4 Rules in alignments / 222 \\ 25.4.5 End of a line: \cr and \crcr / 223 \\ 25.5 Example: math alignments / 224 \\ 26 Page Shape / 225 \\ 26.1 The reference point for global positioning / 225 \\ 26.2 \topskip / 225 \\ 26.3 Page height and depth / 226 \\ 27 Page Breaking / 227 \\ 27.1 The current page and the recent contributions / 228 \\ 27.2 Activating the page builder / 228 \\ 27.3 Page length bookkeeping / 228 \\ 27.4 Breakpoints / 229 \\ 27.4.1 Possible breakpoints / 229 \\ 27.4.2 Breakpoint penalties / 229 \\ 27.4.3 Breakpoint computation / 230 \\ 27.5 \vsplit / 231 \\ 27.6 Examples of page breaking / 232 \\ 27.6.1 Filling up a page / 232 \\ 27.6.2 Determining the breakpoint / 232 \\ 27.6.3 The page builder after a paragraph / 233 \\ 28 Output Routines / 235 \\ 28.1 The \output token list / 235 \\ 28.2 Output and \box255 / 236 \\ 28.3 Marks / 236 \\ 28.4 Assorted remarks / 238 \\ 28.4.1 Hazards in non-trivial output routines / 238 \\ 28.4.2 Page numbering / 238 \\ 28.4.3 Headlines and footlines in plain TEX / 238 \\ 28.4.4 Example: no widow lines / 238 \\ 28.4.5 Example: no indentation top of page / 239 \\ 28.4.6 More examples of output routines / 240 \\ 29 Insertions / 241 \\ 29.1 Insertion items / 241 \\ 29.2 Insertion class declaration / 242 \\ 29.3 Insertion parameters / 242 \\ 29.4 Moving insertion items from the contributions list / 243 \\ 29.5 Insertions in the output routine / 244 \\ 29.6 Plain TEX insertions / 244 \\ 30 File Input and Output / 245 \\ 30.1 Including files: \input and \endinput / 245 \\ 30.2 File I/O / 246 \\ 30.2.1 Opening and closing streams / 246 \\ 30.2.2 Input with \read / 246 \\ 30.2.3 Output with \write / 247 \\ 30.3 Whatsits / 247 \\ 30.4 Assorted remarks / 248 \\ 30.4.1 Inspecting input / 248 \\ 30.4.2 Testing for existence of files / 248 \\ 30.4.3 Timing problems / 248 \\ 30.4.4 \message versus \immediate\write16 / 248 \\ 30.4.5 Write inside a vertical box / 249 \\ 30.4.6 Expansion and spaces in \write and \message / 249 \\ 31 Allocation / 251 \\ 31.1 Allocation commands / 251 \\ 31.1.1 \count, \dimen, \skip, \muskip, \toks / 252 \\ 31.1.2 \box, \fam, \write, \read, \insert / 252 \\ 31.2 Ground rules for macro writers / 252 \\ 32 Running TEX / 255 \\ 32.1 Jobs / 255 \\ 32.1.1 Start of the job / 255 \\ 32.1.2 End of the job / 256 \\ 32.1.3 The log file / 256 \\ 32.2 Run modes / 256 \\ 33 TEX and the Outside World / 259 \\ 33.1 TEX, IniTEX, VirTEX / 259 \\ 33.1.1 Formats: loading / 259 \\ 33.1.2 Formats: dumping / 260 \\ 33.1.3 Formats: preloading / 260 \\ 33.1.4 The knowledge of IniTEX / 260 \\ 33.1.5 Memory sizes of TEX and IniTEX / 261 \\ 33.2 More about formats / 261 \\ 33.2.1 Compatibility / 261 \\ 33.2.2 Preloaded fonts / 261 \\ 33.2.3 The plain format / 262 \\ 33.2.4 The LATEX format / 262 \\ 33.2.5 Mathematical formats / 262 \\ 33.2.6 Other formats / 262 \\ 33.3 The dvi file / 263 \\ 33.3.1 The dvi file format / 263 \\ 33.3.2 Page identification / 263 \\ 33.3.3 Magnification / 263 \\ 33.4 Specials / 264 \\ 33.5 Time / 264 \\ 33.6 Fonts / 264 \\ 33.6.1 Font metrics / 264 \\ 33.6.2 Virtual fonts / 265 \\ 33.6.3 Font files / 265 \\ 33.6.4 Computer Modern / 266 \\ 33.7 TEX and web / 266 \\ 33.8 The TEX Users Group / 267 \\ 34 Tracing / 269 \\ 34.1 Meaning and content: \show, \showthe, \meaning / 270 \\ 34.2 Show boxes: \showbox, \tracingoutput / 270 \\ 34.3 Global statistics / 272 \\ 34.4 Execution tracing / 273 \\ 35 Errors, Catastrophes, and Help / 275 \\ 35.1 Error messages / 275 \\ 35.2 Overflow errors / 276 \\ 35.2.1 Buffer size (500) / 276 \\ 35.2.2 Exception dictionary (307) / 276 \\ 35.2.3 Font memory (20,000) / 276 \\ 35.2.4 Grouping levels / 277 \\ 35.2.5 Hash size (2100) / 277 \\ 35.2.6 Number of strings (3000) / 277 \\ 35.2.7 Input stack size (200) / 277 \\ 35.2.8 Main memory size (30,000) / 277 \\ 35.2.9 Parameter stack size (60) / 277 \\ 35.2.10 Pattern memory (8000) / 278 \\ 35.2.11 Pattern memory ops per language / 278 \\ 35.2.12 Pool size (32,000) / 278 \\ 35.2.13 Save size (600) / 278 \\ 35.2.14 Semantic nest size (40) / 278 \\ 35.2.15 Text input levels (6) / 278 \\ 36 The Grammar of TEX / 279 \\ 36.1 Notations / 279 \\ 36.2 Keywords / 280 \\ 36.3 Specific grammatical terms / 280 \\ 36.3.1 equals / 280 \\ 36.3.2 filler, general text / 280 \\ 36.3.3 {} and left brace right brace / 281 \\ 36.3.4 math field / 281 \\ 36.4 Differences between TEX versions 2 and 3 / 281 \\ 37 Glossary of TEX Primitives / 283 \\ 38 Tables / 297 \\ 38.1 Character tables / 298 \\ 38.2 Computer modern fonts / 300 \\ 38.3 Plain TEX math symbols / 305 \\ 38.3.1 Mathcharacter codes / 305 \\ 38.3.2 Delimiter codes / 306 \\ 38.3.3 mathchardef tokens: ordinary symbols / 307 \\ 38.3.4 mathchardef tokens: large operators / 308 \\ 38.3.5 mathchardef tokens: binary operations / 309 \\ 38.3.6 mathchardef tokens: relations / 310 \\ 38.3.7 \delimiter macros / 311 \\ 39 Index / 313 \\ Bibliography / 321

entry:
@Book{Eijkhout:1992:TTT,
  author =       "Victor Eijkhout",
  title =        "{\TeX} by Topic, a {\TeX}nician's Reference",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "vii + 307",
  year =         "1992",
  ISBN =         "0-201-56882-9",
  ISBN-13 =      "978-0-201-56882-0",
  LCCN =         "Z253.4.T47 E38 1992",
  bibdate =      "Tue Dec 14 22:47:52 1993",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/sgml.bib;
                 https://www.math.utah.edu/pub/tex/bib/texbook3.bib",
  URL =          "http://eijkhout.net/texbytopic/",
  acknowledgement = ack-nhfb,
  tableofcontents = "License / 15 \\
                 Preface / 21 \\
                 1 The Structure of the TEX Processor / 23 \\
                 1.1 Four TEX processors / 23 \\
                 1.2 The input processor / 24 \\
                 1.2.1 Character input / 24 \\
                 1.2.2 Two-level input processing / 24 \\
                 1.3 The expansion processor / 25 \\
                 1.3.1 The process of expansion / 25 \\
                 1.3.2 Special cases: \expandafter, \noexpand, and \the
                 / 25 \\
                 1.3.3 Braces in the expansion processor / 26 \\
                 1.4 The execution processor / 26 \\
                 1.5 The visual processor / 27 \\
                 1.6 Examples / 28 \\
                 1.6.1 Skipped spaces / 28 \\
                 1.6.2 Internal quantities and their representations /
                 28 \\
                 2 Category Codes and Internal States / 29 \\
                 2.1 Introduction / 29 \\
                 2.2 Initial processing / 29 \\
                 2.3 Category codes / 30 \\
                 2.4 From characters to tokens / 32 \\
                 2.5 The input processor as a finite state automaton /
                 32 \\
                 2.5.1 State N: new line / 32 \\
                 2.5.2 State S: skipping spaces / 32 \\
                 2.5.3 State M: middle of line / 32 \\
                 2.6 Accessing the full character set / 33 \\
                 2.7 Transitions between internal states / 33 \\
                 2.7.1 0: escape character / 33 \\
                 2.7.2 1--4, 7--8, 11--13: non-blank characters / 34 \\
                 2.7.3 5: end of line / 34 \\
                 2.7.4 6: parameter / 34 \\
                 2.7.5 7: superscript / 34 \\
                 2.7.6 9: ignored character / 34 \\
                 2.7.7 10: space / 35 \\
                 2.7.8 14: comment / 35 \\
                 2.7.9 15: invalid / 35 \\
                 2.8 Letters and other characters / 35 \\
                 2.9 The \par token / 36 \\
                 2.10 Spaces / 37 \\
                 2.10.1 Skipped spaces / 37 \\
                 2.10.2 Optional spaces / 37 \\
                 2.10.3 Ignored and obeyed spaces / 38 \\
                 2.10.4 More ignored spaces / 38 \\
                 2.10.5 space token / 39 \\
                 2.10.6 Control space / 39 \\
                 2.10.7 ` ' / 39 \\
                 2.11 More about line ends / 40 \\
                 2.11.1 Obeylines / 40 \\
                 2.11.2 Changing the \endlinechar / 40 \\
                 2.11.3 More remarks about the end-of-line character /
                 41 \\
                 2.12 More about the input processor / 41 \\
                 2.12.1 The input processor as a separate process / 41
                 \\
                 2.12.2 The input processor not as a separate process /
                 42 \\
                 2.12.3 Recursive invocation of the input processor / 42
                 \\
                 2.13 The <at> convention / 43 \\
                 3 Characters / 45 \\
                 3.1 Character codes / 45 \\
                 3.2 Control sequences for characters / 46 \\
                 3.2.1 Denoting characters to be typeset: \char / 46 \\
                 3.2.2 Implicit character tokens: \let / 47 \\
                 3.3 Accents / 48 \\
                 3.4 Testing characters / 49 \\
                 3.5 Uppercase and lowercase / 50 \\
                 3.5.1 Uppercase and lowercase codes / 50 \\
                 3.5.2 Uppercase and lowercase commands / 50 \\
                 3.5.3 Uppercase and lowercase forms of keywords / 50
                 \\
                 3.5.4 Creative use of \uppercase and \lowercase / 51
                 \\
                 3.6 Codes of a character / 51 \\
                 3.7 Converting tokens into character strings / 51 \\
                 3.7.1 Output of control sequences / 52 \\
                 3.7.2 Category codes of a \string / 52 \\
                 4 Fonts / 53 \\
                 4.1 Fonts / 53 \\
                 4.2 Font declaration / 54 \\
                 4.2.1 Fonts and tfm files / 54 \\
                 4.2.2 Querying the current font and font names / 54 \\
                 4.2.3 \nullfont / 55 \\
                 4.3 Font information / 55 \\
                 4.3.1 Font dimensions / 55 \\
                 4.3.2 Kerning / 56 \\
                 4.3.3 Italic correction / 56 \\
                 4.3.4 Ligatures / 57 \\
                 4.3.5 Boundary ligatures / 57 \\
                 5 Boxes / 59 \\
                 5.1 Boxes / 60 \\
                 5.2 Box registers / 60 \\
                 5.2.1 Allocation: \newbox / 60 \\
                 5.2.2 Usage: \setbox, \box, \copy / 61 \\
                 5.2.3 Testing: \ifvoid, \ifhbox, \ifvbox / 61 \\
                 5.2.4 The \lastbox / 61 \\
                 5.3 Natural dimensions of boxes / 62 \\
                 5.3.1 Dimensions of created horizontal boxes / 62 \\
                 5.3.2 Dimensions of created vertical boxes / 62 \\
                 5.3.3 Examples / 63 \\
                 5.4 More about box dimensions / 64 \\
                 5.4.1 Predetermined dimensions / 64 \\
                 5.4.2 Changes to box dimensions / 65 \\
                 5.4.3 Moving boxes around / 65 \\
                 5.4.4 Box dimensions and box placement / 65 \\
                 5.4.5 Boxes and negative glue / 66 \\
                 5.5 Overfull and underfull boxes / 67 \\
                 5.6 Opening and closing boxes / 67 \\
                 5.7 Unboxing / 68 \\
                 5.8 Text in boxes / 69 \\
                 5.9 Assorted remarks / 70 \\
                 5.9.1 Forgetting the \box / 70 \\
                 5.9.2 Special-purpose boxes / 70 \\
                 5.9.3 The height of a vertical box in horizontal mode /
                 70 \\
                 5.9.4 More subtleties with vertical boxes / 70 \\
                 5.9.5 Hanging the \lastbox back in the list / 71 \\
                 5.9.6 Dissecting paragraphs with \lastbox / 72 \\
                 6 Horizontal and Vertical Mode / 73 \\
                 6.1 Horizontal and vertical mode / 73 \\
                 6.1.1 Horizontal mode / 73 \\
                 6.1.2 Vertical mode / 74 \\
                 6.2 Horizontal and vertical commands / 74 \\
                 6.3 The internal modes / 75 \\
                 6.3.1 Restricted horizontal mode / 75 \\
                 6.3.2 Internal vertical mode / 75 \\
                 6.4 Boxes and modes / 76 \\
                 6.4.1 What box do you use in what mode? / 76 \\
                 6.4.2 What mode holds in what box? / 76 \\
                 6.4.3 Mode-dependent behaviour of boxes / 76 \\
                 6.5 Modes and glue / 76 \\
                 6.6 Migrating material / 77 \\
                 6.6.1 \vadjust / 77 \\
                 6.7 Testing modes / 77 \\
                 7 Numbers / 79 \\
                 7.1 Numbers and number's / 79 \\
                 7.2 Integers / 79 \\
                 7.2.1 Denotations: integers / 80 \\
                 7.2.2 Denotations: characters / 80 \\
                 7.2.3 Internal integers / 81 \\
                 7.2.4 Internal integers: other codes of a character /
                 82 \\
                 7.2.5 special integer / 82 \\
                 7.2.6 Other internal quantities: coersion to integer /
                 82 \\
                 7.2.7 Trailing spaces / 82 \\
                 7.3 Numbers / 82 \\
                 7.4 Integer registers / 83 \\
                 7.5 Arithmetic / 83 \\
                 7.5.1 Arithmetic statements / 84 \\
                 7.5.2 Floating-point arithmetic / 84 \\
                 7.5.3 Fixed-point arithmetic / 84 \\
                 7.6 Number testing / 84 \\
                 7.7 Remarks / 85 \\
                 7.7.1 Character constants / 85 \\
                 7.7.2 Expanding too far / how far / 85 \\
                 8 Dimensions and Glue / 87 \\
                 8.1 Definition of glue and dimen / 88 \\
                 8.1.1 Definition of dimensions / 88 \\
                 8.1.2 Definition of glue / 89 \\
                 8.1.3 Conversion of glue to dimen / 90 \\
                 8.1.4 Registers for \dimen and \skip / 90 \\
                 8.1.5 Arithmetic: addition / 90 \\
                 8.1.6 Arithmetic: multiplication and division / 91 \\
                 8.2 More about dimensions / 91 \\
                 8.2.1 Units of measurement / 91 \\
                 8.2.2 Dimension testing / 92 \\
                 8.2.3 Defined dimensions / 92 \\
                 8.3 More about glue / 92 \\
                 8.3.1 Stretch and shrink / 93 \\
                 8.3.2 Glue setting / 94 \\
                 8.3.3 Badness / 94 \\
                 8.3.4 Glue and breaking / 95 \\
                 8.3.5 \kern / 95 \\
                 8.3.6 Glue and modes / 95 \\
                 8.3.7 The last glue item in a list: backspacing / 96
                 \\
                 8.3.8 Examples of backspacing / 96 \\
                 8.3.9 Glue in trace output / 97 \\
                 9 Rules and Leaders / 99 \\
                 9.1 Rules / 99 \\
                 9.1.1 Rule dimensions / 100 \\
                 9.2 Leaders / 100 \\
                 9.2.1 Rule leaders / 101 \\
                 9.2.2 Box leaders / 102 \\
                 9.2.3 Evenly spaced leaders / 102 \\
                 9.3 Assorted remarks / 103 \\
                 9.3.1 Rules and modes / 103 \\
                 9.3.2 Ending a paragraph with leaders / 103 \\
                 9.3.3 Leaders and box registers / 103 \\
                 9.3.4 Output in leader boxes / 104 \\
                 9.3.5 Box leaders in trace output / 104 \\
                 9.3.6 Leaders and shifted margins / 104 \\
                 10 Grouping / 105 \\
                 10.1 The grouping mechanism / 105 \\
                 10.2 Local and global assignments / 106 \\
                 10.3 Group delimiters / 106 \\
                 10.4 More about braces / 107 \\
                 10.4.1 Brace counters / 107 \\
                 10.4.2 The brace as a token / 108 \\
                 10.4.3 Open and closing brace control symbols / 108 \\
                 11 Macros / 109 \\
                 11.1 Introduction / 109 \\
                 11.2 Layout of a macro definition / 110 \\
                 11.3 Prefixes / 110 \\
                 11.4 The definition type / 111 \\
                 11.5 The parameter text / 111 \\
                 11.5.1 Undelimited parameters / 112 \\
                 11.5.2 Delimited parameters / 112 \\
                 11.5.3 Examples with delimited arguments / 113 \\
                 11.5.4 Empty arguments / 114 \\
                 11.5.5 The macro parameter character / 114 \\
                 11.5.6 Brace delimiting / 115 \\
                 11.6 Construction of control sequences / 115 \\
                 11.7 Token assignments by \let and \futurelet / 116 \\
                 11.7.1 \let / 116 \\
                 11.7.2 \futurelet / 117 \\
                 11.8 Assorted remarks / 117 \\
                 11.8.1 Active characters / 117 \\
                 11.8.2 Macros versus primitives / 117 \\
                 11.8.3 Tail recursion / 118 \\
                 11.9 Macro techniques / 119 \\
                 11.9.1 Unknown number of arguments / 119 \\
                 11.9.2 Examining the argument / 119 \\
                 11.9.3 Optional macro parameters with \futurelet / 121
                 \\
                 11.9.4 Two-step macros / 121 \\
                 11.9.5 A comment environment / 122 \\
                 12 Expansion / 125 \\
                 12.1 Introduction / 125 \\
                 12.2 Ordinary expansion / 125 \\
                 12.3 Reversing expansion order / 126 \\
                 12.3.1 One step expansion: \expandafter / 126 \\
                 12.3.2 Total expansion: \edef / 127 \\
                 12.3.3 \afterassignment / 127 \\
                 12.3.4 \aftergroup / 128 \\
                 12.4 Preventing expansion / 129 \\
                 12.4.1 \noexpand / 129 \\
                 12.4.2 \noexpand and active characters / 129 \\
                 12.5 \relax / 130 \\
                 12.5.1 \relax and \csname / 130 \\
                 12.5.2 Preventing expansion with \relax / 131 \\
                 12.5.3 TEX inserts a \relax / 131 \\
                 12.5.4 The value of non-macros; \the / 132 \\
                 12.6 Examples / 132 \\
                 12.6.1 Expanding after / 132 \\
                 12.6.2 Defining inside an \edef / 133 \\
                 12.6.3 Expansion and \write / 134 \\
                 12.6.4 Controlled expansion inside an \edef / 135 \\
                 12.6.5 Multiple prevention of expansion / 135 \\
                 12.6.6 More examples with \relax / 136 \\
                 12.6.7 Example: category code saving and restoring /
                 136 \\
                 12.6.8 Combining \aftergroup and boxes / 137 \\
                 12.6.9 More expansion / 138 \\
                 13 Conditionals / 139 \\
                 13.1 The shape of conditionals / 139 \\
                 13.2 Character and control sequence tests / 140 \\
                 13.2.1 \if / 140 \\
                 13.2.2 \ifcat / 140 \\
                 13.2.3 \ifx / 141 \\
                 13.3 Mode tests / 141 \\
                 13.4 Numerical tests / 142 \\
                 13.5 Other tests / 142 \\
                 13.5.1 Dimension testing / 142 \\
                 13.5.2 Box tests / 142 \\
                 13.5.3 I/O tests / 142 \\
                 13.5.4 Case statement / 142 \\
                 13.5.5 Special tests / 143 \\
                 13.6 The \newif macro / 143 \\
                 13.7 Evaluation of conditionals / 144 \\
                 13.8 Assorted remarks / 145 \\
                 13.8.1 The test gobbles up tokens / 145 \\
                 13.8.2 The test wants to gobble up the \else or \fi /
                 145 \\
                 13.8.3 Macros and conditionals; the use of \expandafter
                 / 146 \\
                 13.8.4 Incorrect matching / 147 \\
                 13.8.5 Conditionals and grouping / 147 \\
                 13.8.6 A trick / 148 \\
                 13.8.7 More examples of expansion in conditionals / 148
                 \\
                 14 Token Lists / 151 \\
                 14.1 Token lists / 151 \\
                 14.2 Use of token lists / 151 \\
                 14.3 token parameter / 152 \\
                 14.4 Token list registers / 152 \\
                 14.5 Examples / 153 \\
                 14.5.1 Operations on token lists: stack macros / 153
                 \\
                 14.5.2 Executing token lists / 154 \\
                 15 Baseline Distances / 155 \\
                 15.1 Interline glue / 155 \\
                 15.2 The perceived depth of boxes / 157 \\
                 15.3 Terminology / 158 \\
                 15.4 Additional remarks / 158 \\
                 16 Paragraph Start / 159 \\
                 16.1 When does a paragraph start / 159 \\
                 16.2 What happens when a paragraph starts / 160 \\
                 16.3 Assorted remarks / 160 \\
                 16.3.1 Starting a paragraph with a box / 160 \\
                 16.3.2 Starting a paragraph with a group / 160 \\
                 16.4 Examples / 161 \\
                 16.4.1 Stretchable indentation / 161 \\
                 16.4.2 Suppressing indentation / 161 \\
                 16.4.3 An indentation scheme / 161 \\
                 16.4.4 A paragraph skip scheme / 162 \\
                 17 Paragraph End / 165 \\
                 17.1 The way paragraphs end / 165 \\
                 17.1.1 The \par command and the \par token / 165 \\
                 17.1.2 Paragraph filling: \parfillskip / 166 \\
                 17.2 Assorted remarks / 166 \\
                 17.2.1 Ending a paragraph and a group at the same time
                 / 166 \\
                 17.2.2 Ending a paragraph with \hfill\break / 167 \\
                 17.2.3 Ending a paragraph with a rule / 167 \\
                 17.2.4 No page breaks in between paragraphs / 167 \\
                 17.2.5 Finite \parfillskip / 167 \\
                 17.2.6 A precaution for paragraphs that do not indent /
                 168 \\
                 18 Paragraph Shape / 169 \\
                 18.1 The width of text lines / 170 \\
                 18.2 Shape parameters / 170 \\
                 18.2.1 Hanging indentation / 170 \\
                 18.2.2 General paragraph shapes: \parshape / 171 \\
                 18.3 Assorted remarks / 171 \\
                 18.3.1 Centred last lines / 171 \\
                 18.3.2 Indenting into the margin / 172 \\
                 18.3.3 Hang a paragraph from an object / 172 \\
                 18.3.4 Another approach to hanging indentation / 173
                 \\
                 18.3.5 Hanging indentation versus \leftskip shifting /
                 173 \\
                 18.3.6 More examples / 174 \\
                 19 Line Breaking / 175 \\
                 19.1 Paragraph break cost calculation / 176 \\
                 19.1.1 Badness / 176 \\
                 19.1.2 Penalties and other break locations / 177 \\
                 19.1.3 Demerits / 177 \\
                 19.1.4 The number of lines of a paragraph / 178 \\
                 19.1.5 Between the lines / 178 \\
                 19.2 The process of breaking / 178 \\
                 19.2.1 Three passes / 179 \\
                 19.2.2 Tolerance values / 179 \\
                 19.3 Discretionaries / 179 \\
                 19.3.1 Hyphens and discretionaries / 179 \\
                 19.3.2 Examples of discretionaries / 180 \\
                 19.4 Hyphenation / 181 \\
                 19.4.1 Start of a word / 181 \\
                 19.4.2 End of a word / 181 \\
                 19.4.3 TEX2 versus TEX3 / 182 \\
                 19.4.4 Patterns and exceptions / 182 \\
                 19.5 Switching hyphenation patterns / 182 \\
                 20 Spacing / 185 \\
                 20.1 Introduction / 185 \\
                 20.2 Automatic interword space / 185 \\
                 20.3 User interword space / 186 \\
                 20.4 Control space and tie / 187 \\
                 20.5 More on the space factor / 188 \\
                 20.5.1 Space factor assignments / 188 \\
                 20.5.2 Punctuation / 188 \\
                 20.5.3 Other non-letters / 189 \\
                 20.5.4 Other influences on the space factor / 189 \\
                 21 Characters in Math Mode / 191 \\
                 21.1 Mathematical characters / 192 \\
                 21.2 Delimiters / 192 \\
                 21.2.1 Delimiter codes / 193 \\
                 21.2.2 Explicit \delimiter commands / 193 \\
                 21.2.3 Finding a delimiter; successors / 193 \\
                 21.2.4 \big, \Big, \bigg, and \Bigg delimiter macros /
                 194 \\
                 21.3 Radicals / 194 \\
                 21.4 Math accents / 195 \\
                 22 Fonts in Formulas / 197 \\
                 22.1 Determining the font of a character in math mode /
                 197 \\
                 22.2 Initial family settings / 198 \\
                 22.3 Family definition / 198 \\
                 22.4 Some specific font changes / 198 \\
                 22.4.1 Change the font of ordinary characters and
                 uppercase Greek / 198 \\
                 22.4.2 Change uppercase Greek independent of text font
                 / 199 \\
                 22.4.3 Change the font of lowercase Greek and
                 mathematical symbols / 199 \\
                 22.5 Assorted remarks / 199 \\
                 22.5.1 New fonts in formulas / 199 \\
                 22.5.2 Evaluating the families / 200 \\
                 23 Mathematics Typesetting / 201 \\
                 23.1 Math modes / 202 \\
                 23.2 Styles in math mode / 202 \\
                 23.2.1 Superscripts and subscripts 203 / 11 \\
                 23.2.2 Choice of styles / 203 \\
                 23.3 Classes of mathematical objects / 204 \\
                 23.4 Large operators and their limits / 204 \\
                 23.5 Vertical centring: \vcenter / 205 \\
                 23.6 Mathematical spacing: mu glue / 205 \\
                 23.6.1 Classification of mu glue / 206 \\
                 23.6.2 Muskip registers / 206 \\
                 23.6.3 Other spaces in math mode / 207 \\
                 23.7 Generalized fractions / 207 \\
                 23.8 Underlining, overlining / 208 \\
                 23.9 Line breaking in math formulas / 208 \\
                 23.10 Font dimensions of families 2 and 3 / 208 \\
                 23.10.1 Symbol font attributes / 208 \\
                 23.10.2 Extension font attributes / 209 \\
                 23.10.3 Example: subscript lowering / 210 \\
                 24 Display Math / 211 \\
                 24.1 Displays / 211 \\
                 24.2 Displays in paragraphs / 212 \\
                 24.3 Vertical material around displays / 212 \\
                 24.4 Glue setting of the display math list / 213 \\
                 24.5 Centring the display formula: displacement / 213
                 \\
                 24.6 Equation numbers / 214 \\
                 24.6.1 Ordinary equation numbers / 214 \\
                 24.6.2 The equation number on a separate line / 214 \\
                 24.7 Non-centred displays / 214 \\
                 25 Alignment / 217 \\
                 25.1 Introduction / 217 \\
                 25.2 Horizontal and vertical alignment / 217 \\
                 25.2.1 Horizontal alignments: \halign / 218 \\
                 25.2.2 Vertical alignments: \valign / 218 \\
                 25.2.3 Material between the lines: \noalign / 218 \\
                 25.2.4 Size of the alignment / 219 \\
                 25.3 The preamble / 219 \\
                 25.3.1 Infinite preambles / 219 \\
                 25.3.2 Brace counting in preambles / 220 \\
                 25.3.3 Expansion in the preamble / 220 \\
                 25.3.4 \tabskip / 220 \\
                 25.4 The alignment / 221 \\
                 25.4.1 Reading an entry / 221 \\
                 25.4.2 Alternate specifications: \omit / 221 \\
                 25.4.3 Spanning across multiple columns: \span / 222
                 \\
                 25.4.4 Rules in alignments / 222 \\
                 25.4.5 End of a line: \cr and \crcr / 223 \\
                 25.5 Example: math alignments / 224 \\
                 26 Page Shape / 225 \\
                 26.1 The reference point for global positioning / 225
                 \\
                 26.2 \topskip / 225 \\
                 26.3 Page height and depth / 226 \\
                 27 Page Breaking / 227 \\
                 27.1 The current page and the recent contributions /
                 228 \\
                 27.2 Activating the page builder / 228 \\
                 27.3 Page length bookkeeping / 228 \\
                 27.4 Breakpoints / 229 \\
                 27.4.1 Possible breakpoints / 229 \\
                 27.4.2 Breakpoint penalties / 229 \\
                 27.4.3 Breakpoint computation / 230 \\
                 27.5 \vsplit / 231 \\
                 27.6 Examples of page breaking / 232 \\
                 27.6.1 Filling up a page / 232 \\
                 27.6.2 Determining the breakpoint / 232 \\
                 27.6.3 The page builder after a paragraph / 233 \\
                 28 Output Routines / 235 \\
                 28.1 The \output token list / 235 \\
                 28.2 Output and \box255 / 236 \\
                 28.3 Marks / 236 \\
                 28.4 Assorted remarks / 238 \\
                 28.4.1 Hazards in non-trivial output routines / 238 \\
                 28.4.2 Page numbering / 238 \\
                 28.4.3 Headlines and footlines in plain TEX / 238 \\
                 28.4.4 Example: no widow lines / 238 \\
                 28.4.5 Example: no indentation top of page / 239 \\
                 28.4.6 More examples of output routines / 240 \\
                 29 Insertions / 241 \\
                 29.1 Insertion items / 241 \\
                 29.2 Insertion class declaration / 242 \\
                 29.3 Insertion parameters / 242 \\
                 29.4 Moving insertion items from the contributions list
                 / 243 \\
                 29.5 Insertions in the output routine / 244 \\
                 29.6 Plain TEX insertions / 244 \\
                 30 File Input and Output / 245 \\
                 30.1 Including files: \input and \endinput / 245 \\
                 30.2 File I/O / 246 \\
                 30.2.1 Opening and closing streams / 246 \\
                 30.2.2 Input with \read / 246 \\
                 30.2.3 Output with \write / 247 \\
                 30.3 Whatsits / 247 \\
                 30.4 Assorted remarks / 248 \\
                 30.4.1 Inspecting input / 248 \\
                 30.4.2 Testing for existence of files / 248 \\
                 30.4.3 Timing problems / 248 \\
                 30.4.4 \message versus \immediate\write16 / 248 \\
                 30.4.5 Write inside a vertical box / 249 \\
                 30.4.6 Expansion and spaces in \write and \message /
                 249 \\
                 31 Allocation / 251 \\
                 31.1 Allocation commands / 251 \\
                 31.1.1 \count, \dimen, \skip, \muskip, \toks / 252 \\
                 31.1.2 \box, \fam, \write, \read, \insert / 252 \\
                 31.2 Ground rules for macro writers / 252 \\
                 32 Running TEX / 255 \\
                 32.1 Jobs / 255 \\
                 32.1.1 Start of the job / 255 \\
                 32.1.2 End of the job / 256 \\
                 32.1.3 The log file / 256 \\
                 32.2 Run modes / 256 \\
                 33 TEX and the Outside World / 259 \\
                 33.1 TEX, IniTEX, VirTEX / 259 \\
                 33.1.1 Formats: loading / 259 \\
                 33.1.2 Formats: dumping / 260 \\
                 33.1.3 Formats: preloading / 260 \\
                 33.1.4 The knowledge of IniTEX / 260 \\
                 33.1.5 Memory sizes of TEX and IniTEX / 261 \\
                 33.2 More about formats / 261 \\
                 33.2.1 Compatibility / 261 \\
                 33.2.2 Preloaded fonts / 261 \\
                 33.2.3 The plain format / 262 \\
                 33.2.4 The LATEX format / 262 \\
                 33.2.5 Mathematical formats / 262 \\
                 33.2.6 Other formats / 262 \\
                 33.3 The dvi file / 263 \\
                 33.3.1 The dvi file format / 263 \\
                 33.3.2 Page identification / 263 \\
                 33.3.3 Magnification / 263 \\
                 33.4 Specials / 264 \\
                 33.5 Time / 264 \\
                 33.6 Fonts / 264 \\
                 33.6.1 Font metrics / 264 \\
                 33.6.2 Virtual fonts / 265 \\
                 33.6.3 Font files / 265 \\
                 33.6.4 Computer Modern / 266 \\
                 33.7 TEX and web / 266 \\
                 33.8 The TEX Users Group / 267 \\
                 34 Tracing / 269 \\
                 34.1 Meaning and content: \show, \showthe, \meaning /
                 270 \\
                 34.2 Show boxes: \showbox, \tracingoutput / 270 \\
                 34.3 Global statistics / 272 \\
                 34.4 Execution tracing / 273 \\
                 35 Errors, Catastrophes, and Help / 275 \\
                 35.1 Error messages / 275 \\
                 35.2 Overflow errors / 276 \\
                 35.2.1 Buffer size (500) / 276 \\
                 35.2.2 Exception dictionary (307) / 276 \\
                 35.2.3 Font memory (20,000) / 276 \\
                 35.2.4 Grouping levels / 277 \\
                 35.2.5 Hash size (2100) / 277 \\
                 35.2.6 Number of strings (3000) / 277 \\
                 35.2.7 Input stack size (200) / 277 \\
                 35.2.8 Main memory size (30,000) / 277 \\
                 35.2.9 Parameter stack size (60) / 277 \\
                 35.2.10 Pattern memory (8000) / 278 \\
                 35.2.11 Pattern memory ops per language / 278 \\
                 35.2.12 Pool size (32,000) / 278 \\
                 35.2.13 Save size (600) / 278 \\
                 35.2.14 Semantic nest size (40) / 278 \\
                 35.2.15 Text input levels (6) / 278 \\
                 36 The Grammar of TEX / 279 \\
                 36.1 Notations / 279 \\
                 36.2 Keywords / 280 \\
                 36.3 Specific grammatical terms / 280 \\
                 36.3.1 equals / 280 \\
                 36.3.2 filler, general text / 280 \\
                 36.3.3 {} and left brace right brace / 281 \\
                 36.3.4 math field / 281 \\
                 36.4 Differences between TEX versions 2 and 3 / 281 \\
                 37 Glossary of TEX Primitives / 283 \\
                 38 Tables / 297 \\
                 38.1 Character tables / 298 \\
                 38.2 Computer modern fonts / 300 \\
                 38.3 Plain TEX math symbols / 305 \\
                 38.3.1 Mathcharacter codes / 305 \\
                 38.3.2 Delimiter codes / 306 \\
                 38.3.3 mathchardef tokens: ordinary symbols / 307 \\
                 38.3.4 mathchardef tokens: large operators / 308 \\
                 38.3.5 mathchardef tokens: binary operations / 309 \\
                 38.3.6 mathchardef tokens: relations / 310 \\
                 38.3.7 \delimiter macros / 311 \\
                 39 Index / 313 \\
                 Bibliography / 321",
  xxnote =       "See \cite{Poppelier:1992:BRJ,Poppelier:1992:BR}.",
}


bibtype: book
filename: master.bib
label: Einstein:1966:EPE
author: Albert Einstein and Leopold Infeld
title: The Evolution of Physics from Early Concepts to Relativity and Quanta
publisher: pub-SIMON-SCHUSTER
address: pub-SIMON-SCHUSTER:adr
pages: xvi + 302
year: 1966
ISBN: 0-671-20156-5 OR 0671201565
ISBN13: 978-0-671-20156-2 OR 9780671201562
LCCN: QC7 .E5 1961
bibdate: Mon Oct 9 06:48:08 MDT 2006
bibtimestamp: 2006.10.09 06:48:08 MDT
series: A Touchstone book
remark: Reprint of 1938 and 1961 editions.
subject: Physics; History; Relativity (physics); Quantum theory
acknowledgement: ack-nhfb
authordates: Albert Einstein (1879--1955); Leopold Infeld (1898--1968)
rawauthor: Albert Einstein and Leopold Infeld
rawtitle: The Evolution of Physics from Early Concepts to Relativity and Quanta
bibsource:
https://www.math.utah.edu/pub/bibnet/authors/i/infeld-leopold.bib; https://www.math.utah.edu/pub/tex/bib/einstein.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; z3950.loc.gov:7090/Voyager

TOC:
Introduction to the new edition / xi Preface / xv Part I. the rise of the mechanical view The great mystery story / 3 The first clew / 5 Vectors / 11 The riddle of motion / 18 One clew remains / 31 Is heat a substance? / 35 The roller-coaster / 44 The rate of exchange / 47 The philosophical background / 51 The kinetic theory of matter / 55 Part II. The decline of the mechanical view The two electric fluids / 69 The magnetic fluids / 80 The first serious difficulty / 84 The velocity of light / 90 Light as a substance / 93 The riddle of color / 96 What is a wave? / 100 The wave theory of light / 105 Longitudinal or transverse light waves? / 116 Ether and the mechanical view / 119 Part III. Field, relativity The field as representation / 125 The two pillars of the field theory / 137 The reality of the field / 142 Field and ether / 150 The mechanical scaffold / 153 Ether and motion / 164 Time, distance, relativity / 177 Relativity and mechanics / 192 The time--space continuum / 199 General relativity / 209 Outside and inside the elevator / 214 Geometry and experiment / 222 General relativity and its verification / 235 Field and matter / 240 Part IV. Quanta Continuity--discontinuity / 149 Elementary quanta of matter and electricity / 151 The quanta of light / 157 Light spectra / 165 The waves of matter / 170 Probability waves / 180 Physics and reality / 194 Index

rawTOC:
Introduction to the new edition / xi \\ Preface / xv \\ Part I. the rise of the mechanical view \\ The great mystery story / 3 \\ The first clew / 5 \\ Vectors / 11 \\ The riddle of motion / 18 \\ One clew remains / 31 \\ Is heat a substance? / 35 \\ The roller-coaster / 44 \\ The rate of exchange / 47 \\ The philosophical background / 51 \\ The kinetic theory of matter / 55 \\ Part II. The decline of the mechanical view \\ The two electric fluids / 69 \\ The magnetic fluids / 80 \\ The first serious difficulty / 84 \\ The velocity of light / 90 \\ Light as a substance / 93 \\ The riddle of color / 96 \\ What is a wave? / 100 \\ The wave theory of light / 105 \\ Longitudinal or transverse light waves? / 116 \\ Ether and the mechanical view / 119 \\ Part III. Field, relativity \\ The field as representation / 125 \\ The two pillars of the field theory / 137 \\ The reality of the field / 142 \\ Field and ether / 150 \\ The mechanical scaffold / 153 \\ Ether and motion / 164 \\ Time, distance, relativity / 177 \\ Relativity and mechanics / 192 \\ The time--space continuum / 199 \\ General relativity / 209 \\ Outside and inside the elevator / 214 \\ Geometry and experiment / 222 \\ General relativity and its verification / 235 \\ Field and matter / 240 \\ Part IV. Quanta \\ Continuity--discontinuity / 149 \\ Elementary quanta of matter and electricity / 151 \\ The quanta of light / 157 \\ Light spectra / 165 \\ The waves of matter / 170 \\ Probability waves / 180 \\ Physics and reality / 194 \\ Index

entry:
@Book{Einstein:1966:EPE,
  author =       "Albert Einstein and Leopold Infeld",
  title =        "The Evolution of Physics from Early Concepts to
                 Relativity and Quanta",
  publisher =    pub-SIMON-SCHUSTER,
  address =      pub-SIMON-SCHUSTER:adr,
  pages =        "xvi + 302",
  year =         "1966",
  ISBN =         "0-671-20156-5",
  ISBN-13 =      "978-0-671-20156-2",
  LCCN =         "QC7 .E5 1961",
  bibdate =      "Mon Oct 9 06:48:08 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/i/infeld-leopold.bib;
                 https://www.math.utah.edu/pub/tex/bib/einstein.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "A Touchstone book",
  acknowledgement = ack-nhfb,
  author-dates = "Albert Einstein (1879--1955); Leopold Infeld
                 (1898--1968)",
  remark =       "Reprint of 1938 and 1961 editions.",
  subject =      "Physics; History; Relativity (physics); Quantum
                 theory",
  tableofcontents = "Introduction to the new edition / xi \\
                 Preface / xv \\
                 Part I. the rise of the mechanical view \\
                 The great mystery story / 3 \\
                 The first clew / 5 \\
                 Vectors / 11 \\
                 The riddle of motion / 18 \\
                 One clew remains / 31 \\
                 Is heat a substance? / 35 \\
                 The roller-coaster / 44 \\
                 The rate of exchange / 47 \\
                 The philosophical background / 51 \\
                 The kinetic theory of matter / 55 \\
                 Part II. The decline of the mechanical view \\
                 The two electric fluids / 69 \\
                 The magnetic fluids / 80 \\
                 The first serious difficulty / 84 \\
                 The velocity of light / 90 \\
                 Light as a substance / 93 \\
                 The riddle of color / 96 \\
                 What is a wave? / 100 \\
                 The wave theory of light / 105 \\
                 Longitudinal or transverse light waves? / 116 \\
                 Ether and the mechanical view / 119 \\
                 Part III. Field, relativity \\
                 The field as representation / 125 \\
                 The two pillars of the field theory / 137 \\
                 The reality of the field / 142 \\
                 Field and ether / 150 \\
                 The mechanical scaffold / 153 \\
                 Ether and motion / 164 \\
                 Time, distance, relativity / 177 \\
                 Relativity and mechanics / 192 \\
                 The time--space continuum / 199 \\
                 General relativity / 209 \\
                 Outside and inside the elevator / 214 \\
                 Geometry and experiment / 222 \\
                 General relativity and its verification / 235 \\
                 Field and matter / 240 \\
                 Part IV. Quanta \\
                 Continuity--discontinuity / 149 \\
                 Elementary quanta of matter and electricity / 151 \\
                 The quanta of light / 157 \\
                 Light spectra / 165 \\
                 The waves of matter / 170 \\
                 Probability waves / 180 \\
                 Physics and reality / 194 \\
                 Index",
}


bibtype: book
filename: master.bib
label: Einstein:2005:MRb
author: Albert Einstein and Brian Greene
title: The Meaning of Relativity
volume: 1921
publisher: pub-PRINCETON
address: pub-PRINCETON:adr
edition: Expanded Princeton Science Library
pages: xxiv + 166
year: 2005
ISBN: 0-691-12027-7 OR 0691120277
ISBN13: 978-0-691-12027-0 OR 9780691120270
LCCN: QC6
bibdate: Wed Nov 23 11:39:22 2005
bibtimestamp: 2005.11.23 11:39:22 ???
series: The Stafford Little lectures
URL: http://press.princeton.edu/titles/484.html
remark: With a new introduction by Brian Greene.
acknowledgement: ack-nhfb
rawauthor: Albert Einstein and Brian Greene
rawtitle: The Meaning of {Relativity}
bibsource:
https://www.math.utah.edu/pub/tex/bib/einstein.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/physperspect.bib

TOC:
Introduction by Brian Greene vii A Note on the Fifth Edition xxv Space and Time in Pre-Relativity Physics 1 The Theory of Special Relativity 24 The General Theory of Relativity 55 The General Theory of Relativity (continued) 79 Appendix for the Second Edition 109 Appendix II. Relativistic Theory of the Non-Symmetric Field 133 Index 167

rawTOC:
Introduction by Brian Greene vii \\ A Note on the Fifth Edition xxv \\ Space and Time in Pre-Relativity Physics 1 \\ The Theory of Special Relativity 24 \\ The General Theory of Relativity 55 \\ The General Theory of Relativity (continued) 79 \\ Appendix for the Second Edition 109 \\ Appendix II. Relativistic Theory of the Non-Symmetric Field 133 \\ Index 167

entry:
@Book{Einstein:2005:MRb,
  author =       "Albert Einstein and Brian Greene",
  title =        "The Meaning of {Relativity}",
  volume =       "1921",
  publisher =    pub-PRINCETON,
  address =      pub-PRINCETON:adr,
  edition =      "Expanded {Princeton} Science Library",
  pages =        "xxiv + 166",
  year =         "2005",
  ISBN =         "0-691-12027-7",
  ISBN-13 =      "978-0-691-12027-0",
  LCCN =         "QC6",
  bibdate =      "Wed Nov 23 11:39:22 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/einstein.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/physperspect.bib",
  series =       "The Stafford Little lectures",
  URL =          "http://press.princeton.edu/titles/484.html",
  acknowledgement = ack-nhfb,
  remark =       "With a new introduction by Brian Greene.",
  tableofcontents = "Introduction by Brian Greene vii \\
                 A Note on the Fifth Edition xxv \\
                 Space and Time in Pre-Relativity Physics 1 \\
                 The Theory of Special Relativity 24 \\
                 The General Theory of Relativity 55 \\
                 The General Theory of Relativity (continued) 79 \\
                 Appendix for the Second Edition 109 \\
                 Appendix II. Relativistic Theory of the Non-Symmetric
                 Field 133 \\
                 Index 167",
}


bibtype: book
filename: master.bib
label: Eisenberg:1969:SPW
author: D. (David) Eisenberg and W. (Walter) Kauzmann
title: The Structure and Properties of Water
publisher: pub-CLARENDON
address: pub-CLARENDON:adr
pages: ix + 296
year: 1969
ISBN: 0-19-855339-0 OR 0198553390
ISBN13: 978-0-19-855339-7 OR 9780198553397
LCCN: QD169.W3 E35
bibdate: Sat Jul 25 13:55:27 1998
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib
bibtimestamp: 1998.07.25 13:55:27 ???
acknowledgement: ack-nhfb
rawauthor: D. (David) Eisenberg and W. (Walter) Kauzmann
rawtitle: The Structure and Properties of Water
entry:
@Book{Eisenberg:1969:SPW,
  author =       "D. (David) Eisenberg and W. (Walter) Kauzmann",
  title =        "The Structure and Properties of Water",
  publisher =    pub-CLARENDON,
  address =      pub-CLARENDON:adr,
  pages =        "ix + 296",
  year =         "1969",
  ISBN =         "0-19-855339-0",
  ISBN-13 =      "978-0-19-855339-7",
  LCCN =         "QD169.W3 E35",
  bibdate =      "Sat Jul 25 13:55:27 1998",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: master.bib
label: Eisenstaedt:2006:CHR
author: Jean Eisenstaedt
title: The Curious History of Relativity: How Einstein's Theory of Gravity Was Lost and Found Again
volume: 15
publisher: pub-PRINCETON
address: pub-PRINCETON:adr
pages: ix + 363
year: 2006
ISBN: 0-691-11865-5 OR 0691118655
ISBN13: 978-0-691-11865-9 OR 9780691118659
LCCN: QC173.6 EIS; 06.E06047
bibdate: Thu Jan 25 18:28:33 MST 2007
bibtimestamp: 2007.01.25 18:28:33 MST
series: CNRS editions
acknowledgement: ack-nhfb
subjectdates: Albert Einstein (1879--1955)
rawauthor: Jean Eisenstaedt
rawtitle: The Curious History of {Relativity}: How {Einstein}'s Theory of Gravity Was Lost and Found Again
bibsource:
https://www.math.utah.edu/pub/tex/bib/einstein.bib; https://www.math.utah.edu/pub/tex/bib/jhistastron.bib; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/physperspect.bib; library.ox.ac.uk:210/ADVANCE

abstract:
[This book] tells the story of the events surrounding general relativity and the techniques employed by Einstein and the relativists to construct, develop, and understand his almost impenetrable theory. [It] also describes the theories place in the evolution of twentieth-century physics.

remark:
Translated by Arturo Sangalli of em Einstein et la relativite generale. Les chemins de l'espace-temps, by Jean Eisenstaedt cite Eisenstaedt:2002:ERG. Foreword by Thibault Damour.

subject:
General relativity (Physics); Space and time; Relativity; Light; Gravity; Physics; History; Einstein, Albert

TOC:
Foreword Introduction: a difficult theory 1. The speed of light and classical physics 2: Light and the structure of space--time 3: Toward a new theory of gravitation 4: Einstein's principles 5: The birth of general relativity 6: General relativity: a physical geometry 7: Relativity verified: Mercury's anomaly 8: Relativity verified: the deflection of light rays 9: Relativity verified: the line shift 10: The crossing of the desert 11: An unpopular theory 12: The rejection of black holes 13: Paths in Schwarzschild's space--time 14: No ordinary stars 15: Gravitation, astrophysics, and cosmology Afterword: The paths of general relativity Bibliography Name index

rawabstract:
[This book] tells the story of the events surrounding general relativity and the techniques employed by Einstein and the relativists to construct, develop, and understand his almost impenetrable theory. [It] also describes the theories place in the evolution of twentieth-century physics.

rawTOC:
Foreword \\ Introduction: a difficult theory \\ 1. The speed of light and classical physics \\ 2: Light and the structure of space--time \\ 3: Toward a new theory of gravitation \\ 4: Einstein's principles \\ 5: The birth of general relativity \\ 6: General relativity: a physical geometry \\ 7: Relativity verified: Mercury's anomaly \\ 8: Relativity verified: the deflection of light rays \\ 9: Relativity verified: the line shift \\ 10: The crossing of the desert \\ 11: An unpopular theory \\ 12: The rejection of black holes \\ 13: Paths in Schwarzschild's space--time \\ 14: No ordinary stars \\ 15: Gravitation, astrophysics, and cosmology \\ Afterword: The paths of general relativity \\ Bibliography \\ Name index

entry:
@Book{Eisenstaedt:2006:CHR,
  author =       "Jean Eisenstaedt",
  title =        "The Curious History of {Relativity}: How {Einstein}'s
                 Theory of Gravity Was Lost and Found Again",
  volume =       "15",
  publisher =    pub-PRINCETON,
  address =      pub-PRINCETON:adr,
  pages =        "ix + 363",
  year =         "2006",
  ISBN =         "0-691-11865-5",
  ISBN-13 =      "978-0-691-11865-9",
  LCCN =         "QC173.6 EIS; 06.E06047",
  bibdate =      "Thu Jan 25 18:28:33 MST 2007",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/einstein.bib;
                 https://www.math.utah.edu/pub/tex/bib/jhistastron.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/physperspect.bib;
                 library.ox.ac.uk:210/ADVANCE",
  series =       "CNRS editions",
  abstract =     "[This book] tells the story of the events surrounding
                 general relativity and the techniques employed by
                 Einstein and the relativists to construct, develop, and
                 understand his almost impenetrable theory. [It] also
                 describes the theories place in the evolution of
                 twentieth-century physics.",
  acknowledgement = ack-nhfb,
  remark =       "Translated by Arturo Sangalli of {\em Einstein et la
                 relativit{\'e} g{\'e}n{\'e}rale. Les chemins de
                 l'espace-temps}, by Jean Eisenstaedt
                 \cite{Eisenstaedt:2002:ERG}. Foreword by Thibault
                 Damour.",
  subject =      "General relativity (Physics); Space and time;
                 Relativity; Light; Gravity; Physics; History; Einstein,
                 Albert",
  subject-dates = "Albert Einstein (1879--1955)",
  tableofcontents = "Foreword \\
                 Introduction: a difficult theory \\
                 1. The speed of light and classical physics \\
                 2: Light and the structure of space--time \\
                 3: Toward a new theory of gravitation \\
                 4: Einstein's principles \\
                 5: The birth of general relativity \\
                 6: General relativity: a physical geometry \\
                 7: Relativity verified: Mercury's anomaly \\
                 8: Relativity verified: the deflection of light rays
                 \\
                 9: Relativity verified: the line shift \\
                 10: The crossing of the desert \\
                 11: An unpopular theory \\
                 12: The rejection of black holes \\
                 13: Paths in Schwarzschild's space--time \\
                 14: No ordinary stars \\
                 15: Gravitation, astrophysics, and cosmology \\
                 Afterword: The paths of general relativity \\
                 Bibliography \\
                 Name index",
}


bibtype: book
filename: master.bib
label: Ekman:2016:MBD
author: Martin Ekman
title: The man behind ``Degrees Celsius'': a pioneer in investigating the Earth and its changes
publisher: Summer Institute for Historical Geophysics
address: Godby, AA land Islands, Finland
pages: 159
year: 2016
ISBN: 952-93-7732-0 OR 9529377320
ISBN13: 978-952-93-7732-9 OR 9789529377329
bibdate: Thu Aug 30 10:20:37 MDT 2018
bibtimestamp: 2018.08.30 10:20:37 MDT
subject: Celsius, Anders; Earth sciences; History
acknowledgement: ack-nhfb
authordates: 1951--
subjectdates: 1701--1744
rawauthor: Martin Ekman
rawtitle: The man behind ``{Degrees Celsius}'': a pioneer in investigating the {Earth} and its changes
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/hgss.bib; https://www.math.utah.edu/pub/tex/bib/master.bib

abstract:
This is a book about an unknown person with a well-known name, Anders Celsius, a book about his life and works. It is, thereby, also a book about the beginning of systematically investigating the Earth and its changes. Celsius may be characterized as a pioneer in investigating the Earth by means of systematic observations and by collecting long series of numerical data. In the early 1700s he and his assistants measured and studied latitude, longitude, gravity, magnetism, sea level change, land uplift, air pressure, temperature and northern lights. Much of Celsius' inspiration for his works came from his participation in an international expedition to the Arctic Circle, the purpose of which was nothing less than trying to confirm the theories of Newton. In many respects Celsius concentrated on utilizing Sweden's northerly position on the Earth, promoting such investigations that could not easily be made in more southerly countries. This book is the story of the life and works of a man who started from meager circumstances in an isolated northern university but developed into a pioneering Earth scientist with international contacts. It is also the story of a scientist who was engaged in creating an observatory and supporting an academy for the benefit of society but who died in the middle of his activities.

remark:
Anders Celsius may be characterized as a pioneer in investigating the Earth by means of systematic observations and by collecting long series of numerical data. In the early 1700s he and his assistants measured and studied latitude, longitude, gravity, magnetism, sea level change, land uplift, air pressure, temperature and northern lights.

TOC:
Preface The unknown man with the well-known name: An introduction Where and when: Official and personal background 2.1 University and science: From clerical control to academic freedom 2.2 Father's parents: The quarrelling astronomer and his wife 2.3 Mother's parents: The quiet astronomer and his wife 2.4 Father and mother: The unhappy astronomer and his wife Curiosity and unpaid work: Student and young scientist 3.1 Growing up 3.2 A novelty 3.3 Up in the church tower, down in the silver mine 3.4 Waiting in Uppsala Out in the world: For or against Newton? 4.1 A safe position 4.2 Via Berlin to Rome 4.3 In Paris: A turning point 4.4 In London: Preparing for the north 4.5 To the Arctic Circle: Stars and ice 4.6 Was Newton right? At home again: Investigating the unknown Earth 5.1 An observatory for investigating the Earth 5.2 Latitude, longitude and mapping 5.3 Gravity and the Earth's shape 5.4 Land uplift / water decrease and history 5.5 Sea level and the atmosphere 5.6 Temperature, air pressure and climate change 5.7 Magnetism and magnetic changes 5.8 Northern lights and a big surprise 5.9 Science, family and friendship --- and love? After Celsius: An unusual heritage 6.1 The sudden end of life 6.2 The decline of the observatory 6.3 A new observatory in Stockholm 6.4 The unknown man with the well-known name: Looking back Appendix: A dramatic love story References Illustrations Index

rawabstract:
This is a book about an unknown person with a well-known name, Anders Celsius, a book about his life and works. It is, thereby, also a book about the beginning of systematically investigating the Earth and its changes. Celsius may be characterized as a pioneer in investigating the Earth by means of systematic observations and by collecting long series of numerical data. In the early 1700s he and his assistants measured and studied latitude, longitude, gravity, magnetism, sea level change, land uplift, air pressure, temperature and northern lights. Much of Celsius' inspiration for his works came from his participation in an international expedition to the Arctic Circle, the purpose of which was nothing less than trying to confirm the theories of Newton. In many respects Celsius concentrated on utilizing Sweden's northerly position on the Earth, promoting such investigations that could not easily be made in more southerly countries. This book is the story of the life and works of a man who started from meager circumstances in an isolated northern university but developed into a pioneering Earth scientist with international contacts. It is also the story of a scientist who was engaged in creating an observatory and supporting an academy for the benefit of society but who died in the middle of his activities.

rawTOC:
Preface \\ The unknown man with the well-known name: An introduction \\ Where and when: Official and personal background \\ 2.1 University and science: From clerical control to academic freedom \\ 2.2 Father's parents: The quarrelling astronomer and his wife \\ 2.3 Mother's parents: The quiet astronomer and his wife \\ 2.4 Father and mother: The unhappy astronomer and his wife \\ Curiosity and unpaid work: Student and young scientist \\ 3.1 Growing up \\ 3.2 A novelty \\ 3.3 Up in the church tower, down in the silver mine \\ 3.4 Waiting in Uppsala \\ Out in the world: For or against Newton? \\ 4.1 A safe position \\ 4.2 Via Berlin to Rome \\ 4.3 In Paris: A turning point \\ 4.4 In London: Preparing for the north \\ 4.5 To the Arctic Circle: Stars and ice \\ 4.6 Was Newton right? \\ At home again: Investigating the unknown Earth \\ 5.1 An observatory for investigating the Earth \\ 5.2 Latitude, longitude and mapping \\ 5.3 Gravity and the Earth's shape \\ 5.4 Land uplift / water decrease and history \\ 5.5 Sea level and the atmosphere \\ 5.6 Temperature, air pressure and climate change \\ 5.7 Magnetism and magnetic changes \\ 5.8 Northern lights and a big surprise \\ 5.9 Science, family and friendship --- and love? \\ After Celsius: An unusual heritage \\ 6.1 The sudden end of life \\ 6.2 The decline of the observatory \\ 6.3 A new observatory in Stockholm \\ 6.4 The unknown man with the well-known name: Looking back \\ Appendix: A dramatic love story \\ References \\ Illustrations \\ Index

entry:
@Book{Ekman:2016:MBD,
  author =       "Martin Ekman",
  title =        "The man behind ``{Degrees Celsius}'': a pioneer in
                 investigating the {Earth} and its changes",
  publisher =    "Summer Institute for Historical Geophysics",
  address =      "Godby, {\AA}land Islands, Finland",
  pages =        "159",
  year =         "2016",
  ISBN =         "952-93-7732-0",
  ISBN-13 =      "978-952-93-7732-9",
  LCCN =         "????",
  bibdate =      "Thu Aug 30 10:20:37 MDT 2018",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/hgss.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "This is a book about an unknown person with a
                 well-known name, Anders Celsius, a book about his life
                 and works. It is, thereby, also a book about the
                 beginning of systematically investigating the Earth and
                 its changes. Celsius may be characterized as a pioneer
                 in investigating the Earth by means of systematic
                 observations and by collecting long series of numerical
                 data. In the early 1700s he and his assistants measured
                 and studied latitude, longitude, gravity, magnetism,
                 sea level change, land uplift, air pressure,
                 temperature and northern lights. Much of Celsius'
                 inspiration for his works came from his participation
                 in an international expedition to the Arctic Circle,
                 the purpose of which was nothing less than trying to
                 confirm the theories of Newton. In many respects
                 Celsius concentrated on utilizing Sweden's northerly
                 position on the Earth, promoting such investigations
                 that could not easily be made in more southerly
                 countries. This book is the story of the life and works
                 of a man who started from meager circumstances in an
                 isolated northern university but developed into a
                 pioneering Earth scientist with international contacts.
                 It is also the story of a scientist who was engaged in
                 creating an observatory and supporting an academy for
                 the benefit of society but who died in the middle of
                 his activities.",
  acknowledgement = ack-nhfb,
  author-dates = "1951--",
  remark =       "Anders Celsius may be characterized as a pioneer in
                 investigating the Earth by means of systematic
                 observations and by collecting long series of numerical
                 data. In the early 1700s he and his assistants measured
                 and studied latitude, longitude, gravity, magnetism,
                 sea level change, land uplift, air pressure,
                 temperature and northern lights.",
  subject =      "Celsius, Anders; Earth sciences; History",
  subject-dates = "1701--1744",
  tableofcontents = "Preface \\
                 The unknown man with the well-known name: An
                 introduction \\
                 Where and when: Official and personal background \\
                 2.1 University and science: From clerical control to
                 academic freedom \\
                 2.2 Father's parents: The quarrelling astronomer and
                 his wife \\
                 2.3 Mother's parents: The quiet astronomer and his wife
                 \\
                 2.4 Father and mother: The unhappy astronomer and his
                 wife \\
                 Curiosity and unpaid work: Student and young scientist
                 \\
                 3.1 Growing up \\
                 3.2 A novelty \\
                 3.3 Up in the church tower, down in the silver mine \\
                 3.4 Waiting in Uppsala \\
                 Out in the world: For or against Newton? \\
                 4.1 A safe position \\
                 4.2 Via Berlin to Rome \\
                 4.3 In Paris: A turning point \\
                 4.4 In London: Preparing for the north \\
                 4.5 To the Arctic Circle: Stars and ice \\
                 4.6 Was Newton right? \\
                 At home again: Investigating the unknown Earth \\
                 5.1 An observatory for investigating the Earth \\
                 5.2 Latitude, longitude and mapping \\
                 5.3 Gravity and the Earth's shape \\
                 5.4 Land uplift / water decrease and history \\
                 5.5 Sea level and the atmosphere \\
                 5.6 Temperature, air pressure and climate change \\
                 5.7 Magnetism and magnetic changes \\
                 5.8 Northern lights and a big surprise \\
                 5.9 Science, family and friendship --- and love? \\
                 After Celsius: An unusual heritage \\
                 6.1 The sudden end of life \\
                 6.2 The decline of the observatory \\
                 6.3 A new observatory in Stockholm \\
                 6.4 The unknown man with the well-known name: Looking
                 back \\
                 Appendix: A dramatic love story \\
                 References \\
                 Illustrations \\
                 Index",
}


