DISSERTATION Concepts for Scientific Computing

Total Page:16

File Type:pdf, Size:1020Kb

DISSERTATION Concepts for Scientific Computing DISSERTATION Concepts for Scientific Computing ausgefuhrt¨ zum Zwecke der Erlangung des akademischen Grades eines Doktors der technischen Wissenschaften eingereicht an der Technischen Universitat¨ Wien Fakultat¨ fur¨ Elektrotechnik und Informationstechnik von RENE´ HEINZL Rosensteingasse 7-9/2 A-1160 Wien, Osterreich¨ Matr. Nr. 9826031 geboren am 6. September 1977, Wien Wien, im Juli 2007 Abstract Scientific computing has traditionally been concerned with numerical issues such as the convergence of discrete approximations to partial differential equations, the stability of integration methods for time- dependent systems, and the computational efficiency of software implementations of these numerical methods. While computer performance is steadily increasing the additional complexity of these simulation models easily outgrows this gain in computational power. It is therefore of utmost importance to employ the latest techniques of software development to obtain high performance and thereby ensure adequate simulation times even for complex problems. As a consequence the development of high performance simulation software is quite challenging. Originating in the field of technology computer aided design as an important and complex area of sci- entific computing, this work is motivated by the fact, that different concepts were developed during the last decades for the field of scientific computing. The great diversity of physical phenomena present in semiconductor devices themselves and in the processes involved in their manufacture make the field of TCAD extremely challenging. Each of the phenomena can be described by differential equations of vary- ing complexity. The development of several different discretisation schemes has been necessary in order to best model the underlying physics and to accommodate the mathematical peculiarities of each of these equations while transferring them to the discrete world of digital computing. But, up to now, no common application, nor widely useable modules for application design, has emerged which can be used in various areas. This work deals with concepts for scientific computing, especially concepts for generic and high performance application design. Therefore this work introduces different generic data models to provide effective representations across a very wide range of application areas. Finally, a set of scientific computing components that operate on any data represented in the model are presented. Not only are generic models introduced, but also the corresponding paradigms are presented which inherently model the necessary requirements for an orthogonal extension and enhancement. The final application section presents generic algorithms and implementations in a general purpose way. Cus- tomized algorithms can be implemented easily where they prove most valuable with the corresponding programming paradigm orthogonaly. i Danksagung At most I want to thank Prof. Selberherr for the everlasting support in many areas. The working environ- ment, from the hardware to the various people at the Instiute of Microelectronics, is more than fabulous. And most important for supporting my ideas from the beginning. Prof. Grasser for giving me the opportunity to work at the institute and for his support in various areas and for giving me the opportunity to learn a lot. My special thank goes to Philipp Schwaha who is one of the most wonderful and brilliant people I have ever worked with and from whom I have learned so much. For all the valuable discussions and for ever believing in the work. For all the travels around the world and for making the hard days much easier. I also want to thank our former collegue Michael Spevak, who have introduced me in his world of mathematics and his special view onto different topics. Many parts of my own work were influenced by these two people and so a deep gratitude will always be with you two. Franz Stimpfl for joining and fitting so well into the generic group at the institute. Andreas Hoessinger who introduced me to the C++ and process simulation world, which was the entry point for this work. My thanks goes also to H. Enichlmayer (Infineon) and R. Minixhofer (AMS) for valuable insights, real world examples and support from the company side. Tatsumi-san and Kimura-san (Sony) for giving me the change to work on the forefront of technology. Peter Fleischmann, Steven Cea and Stefan Halama from Intel for the great opportunity to work on the leading edge and providing real examples. Markus Schordan from the institute for computer languages for valuable support in the field of compiler optimizations and insights into compiler technology and AST handling. Hartmut Kaiser and Joel de Guzman for deep C++ insights, especially in parser and functional program- ming methodologies. Werner Benger for introducing me into the fiber bundle model and a great source of inspiration in various fields. I also want to thank Yaakoub El K and the rest of the group at CCT for CFD. To Joyce Visne for her never ending help and support. Also I want to thank the “next generation” of students which are already using a lot of concepts introduced in this work, namely Josef Weinbub, Georg Mach, Clemens Kl¨ockler, J¨urgen Steininger, and Markus Schwaha. And most importantly I want to thank my parents for giving me the chance to see and becoming who I am. ii Contents 0.1 SummaryofNotation............................... ...... 2 1 Introduction 4 1.1 ScientificComputing . ...... ..... ...... ..... ...... ....... 5 1.2 Technology Computer Aided Design . .......... 7 1.3 Motivation...................................... ..... 8 1.4 Contributions ................................... ...... 9 I Theoretical Concepts 10 2 Mathematical Concepts 11 2.1 Introduction.................................... ...... 11 2.2 Common Terms and Linear Algebra . ........ 15 2.3 Topological Toolkit . ........ 17 2.3.1 OrderTheoryandSets .. ..... ...... ..... ...... .... 20 2.3.2 CellTopology.................................. 22 2.3.3 ComplexTopology ............................... 23 2.4 FiberBundles.................................... ..... 25 2.5 Manifolds ....................................... 26 2.6 Computational Topology . ........ 30 2.6.1 Chains ........................................ 31 2.6.2 Cochains ...................................... 34 2.6.3 Duality between Chains and Cochains . ......... 36 2.6.4 HomologyandCohomology . 37 2.7 Fiber Bundles and Chains/Cochains . ........... 39 2.8 Topological Data Structures . ........... 40 2.9 Physical Fields and Electromagnetics . ............. 43 3 Numerical Discretization Schemes 49 3.1 Generic Discretization Concepts . ............ 51 iii 3.1.1 Domain Discretization . ...... 51 3.1.2 Topological Equations . ...... 53 3.1.3 Constitutive Relation Discretization . ............. 53 3.2 FiniteVolumes ................................... ..... 55 3.2.1 BasicConcepts ................................. 55 3.2.2 Analysis of the Finite Volume Method . ......... 57 3.3 FiniteElements .................................. ...... 59 3.3.1 Basic Concepts for a Galerkin Method . ......... 60 3.3.2 Analysis of the Finite Element Method . ......... 63 3.3.3 FurtherAnalysis ............................... 64 3.4 FiniteDifferences............................... ........ 65 3.4.1 BasicConcepts ................................. 65 3.4.2 Analysis of the Finite Difference Method . ........... 67 3.4.3 FurtherAnalysis ............................... 69 3.5 Summary ......................................... 72 II Practical Concepts 73 4 Introduction 74 5 Computational Concepts 76 5.1 GenericDataModel................................ ...... 76 5.1.1 AbstractionLevels .... ..... ...... ..... ...... ... ..... 77 5.1.2 FiberBundleasDataModel . ..... 78 5.1.3 Fiber Bundle Data Hierarchy . ....... 80 5.2 Evolution of Programming Paradigms . ........... 82 5.3 Library-Centric Software Design . ............ 85 5.3.1 Multi-Paradigm Approach . ...... 86 5.3.2 Analysis of Programming Paradigms . ........ 86 6 Programming Concepts 88 6.1 GenericDataStructures. ......... 89 6.2 Separation of Base and Fiber Space . .......... 93 6.3 Standard Algorithms for Scientific Computing . ............... 96 6.3.1 GenericTraversal..... ..... ...... ..... ...... ... ..... 97 6.3.2 QuantityAccessors. ..... 98 6.3.3 GenericCalculation . ..... 98 6.3.4 Interpolation ................................. 98 iv 6.3.5 PointLocation ................................. 99 6.3.6 AssemblyAlgorithms . 99 6.4 Domain Specific Embedded Language . .........101 6.4.1 Requirements for Programming Languages . ..........103 6.4.2 Building Elements for the Embedded Language . ...........104 6.4.3 Application................................... 104 6.5 VisualProgramming ............................... 106 6.5.1 Visually Aided Specification Process . ..........106 6.5.2 Stable Program Development . 108 6.6 SolutionTechniques. ........109 6.6.1 Requirements from Algebraic Solving Systems . ............109 6.6.2 Linearized Functions . 109 III Applied Concepts 112 7 Areas of Application 113 8 A Generic Scientific Simulation Environment 114 8.1 Generic Topology Library: GTL . .........116 8.1.1 QuantityAccessors. 118 8.1.2 The0-CellComplex .............................. 119 8.1.3 The1-CellComplex .............................. 121 8.1.4 The2-CellComplex .............................. 121 8.1.5 Higher-Dimensional Cell Complexes . .........124 8.1.6 Topological Mappings . 129 8.1.7 Implementation Details . .......129 8.2 Generic Functor Library: GFL . .........131 8.3 Generic
Recommended publications
  • HAIL: an Algorithm for the Hardware Accelerated Identification of Languages, Master's Thesis, May 2006
    Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-2006-36 2006-01-01 HAIL: An Algorithm for the Hardware Accelerated Identification of Languages, Master's Thesis, May 2006 Charles M. Kastner This thesis examines in detail the Hardware-Accelerated Identification of Languages (HAIL) project. The goal of HAIL is to provide an accurate means to identify the language and encoding used in streaming content, such as documents passed over a high-speed network. HAIL has been implemented on the Field-programmable Port eXtender (FPX), an open hardware platform developed at Washington University in St. Louis. HAIL can accurately identify the primary languages and encodings used in text at rates much higher than what can be achieved by software algorithms running on microprocessors. Follow this and additional works at: https://openscholarship.wustl.edu/cse_research Part of the Computer Engineering Commons, and the Computer Sciences Commons Recommended Citation Kastner, Charles M., " HAIL: An Algorithm for the Hardware Accelerated Identification of Languages, Master's Thesis, May 2006" Report Number: WUCSE-2006-36 (2006). All Computer Science and Engineering Research. https://openscholarship.wustl.edu/cse_research/187 Department of Computer Science & Engineering - Washington University in St. Louis Campus Box 1045 - St. Louis, MO - 63130 - ph: (314) 935-6160. Department of Computer Science & Engineering 2006-36 HAIL: An Algorithm for the Hardware Accelerated Identification of Languages, Master's Thesis, May 2006 Authors: Charles M. Kastner Corresponding Author: [email protected] Web Page: http://www.arl.wustl.edu/projects/fpx/reconfig.htm Abstract: This thesis examines in detail the Hardware-Accelerated Identification of Languages (HAIL) project.
    [Show full text]
  • Management of Data Elements in Information Processing
    PB-249-530 MANAGEMENT OF DATA ELEMENTS IN INFORMATION PROCESSING U.S. DEPARTMENT OF COMMERCE / National Bureau of Standards SECOND NATIONAL SYMPOSIUM NATIONAL BUREAU OF STANDARDS GAITHERSBURG, MARYLAND 1975 OCTOBER 23-24 Available by purchase from the National Technical Information Service, 5285 Port Royal Road, Springfield, Va. 221 Price: $9.25 hardcopy; $2.25 microfiche. National Technical Information Service U. S. DEPARTMENT OF COMMERCE PB-249-530 Management of Data Elements in Information Processing Proceedings of a Second Symposium Sponsored by the American National Standards Institute and by The National Bureau of Standards 1975 October 23-24 NBS, Gaithersburg, Maryland Hazel E. McEwen, Editor Institute for Computer Sciences and Technology National Bureau of Standards Washington, D.C. 20234 U.S. DEPARTMENT OF COMMERCE, Elliot L. Richardson, Secrefary NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Acfing Direc/or Table of Contents Page Introduction to the Program of the Second National Symposium on The Management of Data Elements in Information Processing ix David V. Savidge, Program Chairman On-Line Tactical Data Inputting: Research in Operator Training and Performance 1 Irving Alderman, Ph.D. "Turning the Corner" on MIS, A Proposed Program of Data Standards in Post-Secondary Education 9 Donald R. Arnold, Ph.D. ASCII - The Data Alphabet That Will Endure 17 Robert W. Bemer Techniques in Developing Standard Procedures for Data Editing 23 George W. Covill An Adaptive File Management Systems 45 Dennis L. Dance and Udo W. Pooch (Given by Dance) A Focus on the Role of the Data Manager 57 Ruth M, Davis, Ph.D. A Proposed Standard Routine for Generating Proposed Standard Check Characters 61 Paul -Andre Desjardins Methodology for Development of Standard Data Elements within Multiple Public Agencies 69 L.
    [Show full text]
  • The Design of TEX and METAFONT: a Retrospective
    The design of TEX and METAFONT: A retrospective Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA WWW URL: http://www.math.utah.edu/~beebe Telephone: +1 801 581 5254 FAX: +1 801 581 4148 Internet: [email protected], [email protected], [email protected] Abstract This article looks back at the design of TEX and METAFONT, and analyzes how they were affected by architectures, operating systems, programming languages, and resource limits of the computing world at the time of their creation by a remarkable programmer and human being, Donald E. Knuth. This paper is dedicated to him, with deep gratitude for the continued inspiration and learning that I’ve received from his software, his scientific writing, and our occasional personal encounters over the last 25+ years. 1 Introduction 501 arrived, he was so disappointed that he wrote [68, 2 Computers and people 502 p. 5]: 3TheDECPDP-10 502 I didn’t know what to do. I had spent 15 4 Resource limits 505 years writing those books, but if they were 5 Choosing a programming language 506 going to look awful I didn’t want to write 6 Switching programming languages 510 any more. How could I be proud of such a 7 Switching languages, again 513 product? A few months later, he learned of some new de- 8 TEX’s progeny 514 vices that used digital techniques to create letter 9 METAFONT’s progeny 514 images, and the close connection to the 0s and 1s 10 Wrapping up 515 of computer science led him to think about how 11 Bibliography 515 he himself might design systems to place characters −−∗−− on a page, and draw the individual characters as a matrix of black and white dots.
    [Show full text]
  • SRI ARC Journal : 32929-32972
    JMB 8-JUL-75 13:06 32929 1 This is an impromptu message to demonstrate Sendmail items. 1 JMB 8-JUL-75 13:06 32929 (J32929) 8-JUL-75 13:06;;;; Title: Author(s): Jeanne M. Bec</JMB; Distribution: /PAw2( [ InFQ-ONLY ] ) ; Sub-Collections: SRI-APC; Cleric JMB; RA3Y 8-JUL-75 13:09 32930 archiving commands In NLS too 1 ThanKs for the note on archiving# Glenn. I wasn't aware of archiving processes in Ienex that prevent archiving. As it turns out# all these commands are also available in NLS. To see them type Archive File filename# then hit the Control-u, You will be prompted for an option. If you hit the ? then# a list will be presented, 1 1 RA3Y 8-JUL-75 13509 32930 archiving commands in NLS too CJ32930) 8-JUL-75 13:09;?;; Title; Author(s): Raymond P. Panko/RA 3 Y ; Distribution; /G A S2 ( [ INFO-ONLY 1 ) : Sub-collections: SRI-ABC; Clerk: RA3Y; JMB 8-JUL-75 13J10 32931 menu 1 MENU 1 la APPETIZERS la lal ANTIPASTO lal la2 ASPARAGUS V IN AIGRETTE 1a2 la3 ESCARGOT la3 la4 BROILED MUSHROOMS 1a4 lb SOUPS lb Ibl cold soups Ibl Ibla V ICHiSUISSE Ibla lblb BORSCHT lblb lblc GAZpACHO lblc Ibid AVOCADO Ibid 1b2 HOT SOUPS lb2 lb2a BORSCHT 1b2a 1b2a1 WITH SOUR CREAM lb2a1 lb2b CHICKEN lb2b lb2b1 WITH DUMPLINGS lb2b1 lb2c SPINACH lb2c lc SALADS lc lcl CAESAR lcl 1c2 GREEK 1c2 lc2a WITH ANCHOVIES lc2a 1C3 TOSSED GREEN 1c3 Id ENTREES Id 1d 1 FISH AND SHELLFISH 1d 1 1 JMB 8-JUL-75 1 3: 10 32931 menu Id la SOLE 1dl a 1d lb SCALLOPS ldlb ldlbl BROILED ldlbl 1d1 b 2 SAUTEED 1d 1 b2 Idle LOBSTER Idle ldlel I LB.
    [Show full text]
  • Jargon File, Version 4.0.0, 24 Jul 1996
    JARGON FILE, VERSION 4.0.0, 24 JUL 1996 This is the Jargon File, a comprehensive compendium of hacker slang illuminating many aspects of hackish tradition, folklore, and humor. This document (the Jargon File) is in the public domain, to be freely used, shared, and modified. There are (by intention) no legal restraints on what you can do with it, but there are traditions about its proper use to which many hackers are quite strongly attached. Please extend the courtesy of proper citation when you quote the File, ideally with a version number, as it will change and grow over time. (Examples of appropriate citation form: "Jargon File 4.0.0" or "The on-line hacker Jargon File, version 4.0.0, 24 JUL 1996".) The Jargon File is a common heritage of the hacker culture. Over the years a number of individuals have volunteered considerable time to maintaining the File and been recognized by the net at large as editors of it. Editorial responsibilities include: to collate contributions and suggestions from others; to seek out corroborating information; to cross-reference related entries; to keep the file in a consistent format; and to announce and distribute updated versions periodically. Current volunteer editors include: Eric Raymond [email protected] Although there is no requirement that you do so, it is considered good form to check with an editor before quoting the File in a published work or commercial product. We may have additional information that would be helpful to you and can assist you in framing your quote to reflect not only the letter of the File but its spirit as well.
    [Show full text]
  • Fonts & Encodings
    Fonts & Encodings Yannis Haralambous To cite this version: Yannis Haralambous. Fonts & Encodings. O’Reilly, 2007, 978-0-596-10242-5. hal-02112942 HAL Id: hal-02112942 https://hal.archives-ouvertes.fr/hal-02112942 Submitted on 27 Apr 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ,title.25934 Page iii Friday, September 7, 2007 10:44 AM Fonts & Encodings Yannis Haralambous Translated by P. Scott Horne Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo ,copyright.24847 Page iv Friday, September 7, 2007 10:32 AM Fonts & Encodings by Yannis Haralambous Copyright © 2007 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Printing History: September 2007: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Fonts & Encodings, the image of an axis deer, and related trade dress are trademarks of O’Reilly Media, Inc.
    [Show full text]
  • Instruction Set Reference, A-M
    IA-32 Intel® Architecture Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M NOTE: The IA-32 Intel Architecture Software Developer’s Manual consists of four volumes: Basic Architecture, Order Number 253665; Instruction Set Reference A-M, Order Number 253666; Instruction Set Reference N-Z, Order Number 253667; and the System Programming Guide, Order Number 253668. Refer to all four volumes when evaluating your design needs. Order Number: 253666-017 September 2005 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EX- PRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RE- LATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FIT- NESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. Intel may make changes to specifications and product descriptions at any time, without notice. Developers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Improper use of reserved or undefined features or instructions may cause unpredictable behavior or failure in developer's software code when running on an Intel processor. Intel reserves these features or instructions for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from their unauthorized use.
    [Show full text]
  • Oracle Rdb™ SQL Reference Manual Volume 1
    Oracle Rdb™ SQL Reference Manual Volume 1 Release 7.2 for HP OpenVMS Industry Standard 64 for Integrity Servers and OpenVMS Alpha operating systems October 2006 ® DEC_Callout (encoded characters) FullName: DEC Modular Callouts Distiller, PostScript v3011.104 r0 Notice: Copyright 1988 - 1993, Digital Equipment Corporation. Font version: 1.3, 13-Oct-1993 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 40 1.000 41 1.000 42 1.000 43 1.000 44 1.000 45 1.000 46 1.000 47 1.000 50 1.000 51 1.000 52 0.500 53 0.500 54 0.500 55 0.500 56 0.500 57 0.500 cx0 cx1 cx2 cx3 cx4 cx5 cx6 cx7 cx8 cx9 bx0 bx1 bx2 bx3 bx4 bx5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 60 0.500 61 0.500 62 0.500 63 0.500 64 0.375 65 0.375 66 0.375 67 0.375 70 0.375 71 0.375 72 0.375 73 0.375 74 0.375 75 0.375 76 0.500 77 0.500 bx6 bx7 bx8 bx9 mx0 mx1 mx2 mx3 mx4 mx5 mx6 mx7 mx8 mx9 ex0 ex1 2 3 4 5 6 7 8 9 100 0.500 101 0.500 102 0.500 103 0.500 104 0.500 105 0.500 106 0.500 107 0.500 110 0.000 111 0.000 112 0.000 113 0.000 114 0.000 115 0.000 116 0.000 117 0.000 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 120 0.000 121 0.000 122 0.000 123 0.000 124 0.000 125 0.000 126 0.000 127 0.000 130 0.000 131 0.000 132 0.000 133 0.000 134 0.000 135 0.000 136 0.000 137 0.000 140 0.000 141 0.000 142 0.000 143 0.000 144 0.000 145 0.000 146 0.000 147 0.000 150 0.000 151 0.000 152 0.000 153 0.000 154 0.000 155 0.000 156 0.000 157 0.000 160 0.000 161 0.000 162 0.000 163 0.000 164 0.000 165 0.000 166 0.000 167 0.000 170 0.000 171 0.000 172 0.000 173 0.000 174 0.000 175 0.000 176 0.000 177 0.000 0123456789012345678901234567890123456789
    [Show full text]
  • The New Hacker's Dictionary", by Eric Raymond (Ed.), MIT Press 1991, ISBN 0-262-68069-6
    1 #======= THIS IS THE JARGON FILE, VERSION 4.2.2, 20 AUG 2000 =======# This is the Jargon File, a comprehensive compendium of hacker slang illuminating many aspects of hackish tradition, folklore, and humor. This document (the Jargon File) is in the public domain, to be freely used, shared, and modified. There are (by intention) no legal restraints on what you can do with it, but there are traditions about its proper use to which many hackers are quite strongly attached. Please extend the courtesy of proper citation when you quote the File, ideally with a version number, as it will change and grow over time. (Examples of appropriate citation form: "Jargon File 4.2.2" or "The on-line hacker Jargon File, version 4.2.2, 20 AUG 2000".) The Jargon File is a common heritage of the hacker culture. Over the years a number of individuals have volunteered considerable time to maintaining the File and been recognized by the net at large as editors of it. Editorial responsibilities include: to collate contributions and suggestions from others; to seek out corroborating information; to cross-reference related entries; to keep the file in a consistent format; and to announce and distribute updated versions periodically. Current volunteer editors include: Eric Raymond [5][email protected] Although there is no requirement that you do so, it is considered good form to check with an editor before quoting the File in a published work or commercial product. We may have additional information that would be helpful to you and can assist you in framing your quote to reflect not only the letter of the File but its spirit as well.
    [Show full text]
  • The Design of TEX and إ ج ائج: a Retrospective
    AFÇÆÌ The design of TEXandÅEÌ :Aretrospective Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA WWW URL: http://www.math.utah.edu/~beebe Telephone: +1 801 581 5254 FAX: +1 801 581 4148 Internet: [email protected], [email protected], [email protected] Abstract AFÇÆÌ This article looks back at the design of TEXand ÅEÌ , and analyzes how they were affected by architectures, operating systems, programming languages, and resource limits of the computing world at the time of their creation by a remarkable programmer and human being, Donald E. Knuth. This paper is dedicated to him, with deep gratitude for the continued inspiration and learning that I’ve received from his software, his scientific writing, and our occasional personal encounters over the last 25+ years. 1 Introduction 501 arrived, he was so disappointed that he wrote [68, 2 Computers and people 502 p. 5]: 3 The DEC PDP-10 502 Ididn’tknowwhattodo.Ihadspent15 4 Resource limits 505 years writing those books, but if they were 5 Choosing a programming language 506 going to look awful I didn’t want to write 6 Switching programming languages 510 any more. How could I be proud of such a 7 Switching languages, again 513 product? A few months later, he learned of some new de- 8TEX’s progeny 514 vices that used digital techniques to create letter AFÇÆÌ 9 ÅEÌ ’s progeny 514 images, and the close connection to the 0s and 1s 10 Wrapping up 515 of computer science led him to think about how 11 Bibliography 515 he himself might design systems to place characters on a page, and draw the individual characters as a −−∗−− matrix of black and white dots.
    [Show full text]
  • Volume 2A: Instruction Set Reference, A-M
    IA-32 Intel® Architecture Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M NOTE: The IA-32 Intel Architecture Software Developer’s Manual consists of four volumes: Basic Architecture, Order Number 253665; Instruction Set Reference A-M, Order Number 253666; Instruction Set Reference N-Z, Order Number 253667; and the System Programming Guide, Order Number 253668. Refer to all four volumes when evaluating your design needs. 2004 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. Intel may make changes to specifications and product descriptions at any time, without notice. Developers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Improper use of reserved or undefined features or instructions may cause unpredictable behavior or failure in developer's software code when running on an Intel processor. Intel reserves these features or instructions for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from their unauthorized use. The Intel® IA-32 architecture processors (e.g., Pentium® 4 and Pentium III processors) may contain design defects or errors known as errata.
    [Show full text]
  • Oracle Database Globalization Support Guide, 10G Release 2 (10.2) B14225-02
    Oracle® Database Globalization Support Guide 10g Release 2 (10.2) B14225-02 December 2005 Oracle Database Globalization Support Guide, 10g Release 2 (10.2) B14225-02 Copyright © 1996, 2005, Oracle. All rights reserved. Primary Author: Cathy Shea Contributing Authors: Paul Lane, Cathy Baird Contributors: Dan Chiba, Winson Chu, Claire Ho, Gary Hua, Simon Law, Geoff Lee, Peter Linsley, Qianrong Ma, Keni Matsuda, Meghna Mehta, Valarie Moore, Shige Takeda, Linus Tanaka, Makoto Tozawa, Barry Trute, Ying Wu, Peter Wallack, Chao Wang, Huaqing Wang, Simon Wong, Michael Yau, Jianping Yang, Qin Yu, Tim Yu, Weiran Zhang, Yan Zhu The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S.
    [Show full text]