ebook img

An Introduction to Computational Science PDF

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

Preview An Introduction to Computational Science

International Series in Operations Research & Management Science Allen Holder Joseph Eichholz An Introduction to Computational Science International Series in Operations Research & Management Science Volume 278 SeriesEditor CamilleC.Price DepartmentofComputerScience,StephenF.AustinStateUniversity, Nacogdoches,TX,USA AssociateEditor JoeZhu FoisieBusinessSchool,WorcesterPolytechnicInstitute,Worcester,MA,USA FoundingEditor FrederickS.Hillier StanfordUniversity,Stanford,CA,USA Moreinformationaboutthisseriesathttp://www.springer.com/series/6161 Allen Holder • Joseph Eichholz An Introduction to Computational Science 123 AllenHolder JosephEichholz DepartmentofMathematics DepartmentofMathematics Rose-HulmanInstituteofTechnology Rose-HulmanInstituteofTechnology TerreHaute,IN,USA TerreHaute,IN,USA Additionalmaterialtothisbookcanbedownloadedfromhttp://extras.springer.com. ISSN0884-8289 ISSN2214-7934 (electronic) InternationalSeriesinOperationsResearch&ManagementScience ISBN978-3-030-15677-0 ISBN978-3-030-15679-4 (eBook) https://doi.org/10.1007/978-3-030-15679-4 (cid:2)c SpringerNatureSwitzerlandAG2019 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof thematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation, broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology nowknownorhereafterdeveloped. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Thepublisher,theauthors,andtheeditorsaresafetoassumethattheadviceandinformationinthisbook arebelievedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsor theeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinorforany errorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregardtojurisdictional claimsinpublishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG. Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland Dedicated to the educators who have so nurtured our lives. Joseph Eichholz:Weimin Han Allen Holder: Harvey J. Greenberg and Jeffrey L. Stuart. Foreword The interplay among mathematics, computation, and application in science and engineering, including modern machine learning (formerly referred to as artificial intelligence), is growing stronger all the time. As such, an educa- tion in computational science has become extremely important for students pursingeducationsinSTEM-relatedfields.Thisbook,alongwithundergrad- uate courses based on it, provides a modern and cogent introduction to this rapidly evolving subject. Students pursuing undergraduate educations in STEM-related fields are exposed to calculus, differential equations, and linear algebra. They are also exposed to coursework in computer science in which they learn about com- plexity and some algorithmic theory. These courses commonly require stu- dentstoimplementalgorithmsinpopularlanguagessuchasC,Java,Python, MATLAB, R, or Julia. However, many students experience unfortunate dis- connects between what is learned in math classes and what is learned in computerscienceclasses.Thisbook,whichisdesignedtosupportoneortwo undergraduate terms of study, very nicely fills this gap. The book introduces a wide spectrum of important topics in mathemat- ics,spanningdatascience,statistics,optimization,differentialequations,and randomness. These topics are presented in a precise, dare I say rigorous, mathematical fashion. However, what makes this book special is that it in- tertwines mathematical precision and detail with an education in how to implement algorithms on a computer. The default mathematical language is MATLAB/Octave, but the interface to other programming languages is also discussed in some detail. The book is filled with interesting examples that illustrate and motivate the ideas being developed. Let me mention a few that I found particularly interesting. One homework exercise asks students to access “local” tempera- ture data from the National Oceanic and Atmospheric Association’s website and to use that data as input to a regression model to see if average daily vii viii Foreword temperaturesareontheriseatthatlocation.Anotherexerciseinthechapter onmodern parallel computing requiresstudentsto generate thefamous frac- tal called the Mandelbrot set. Yet another exercise in the material on linear regression models asks students to reformulate a nonlinear regression model that computes an estimate of the center and radius of a set of random data that lies around a circle. The reformulation is linear, which allows students to solve the problem with their own code from earlier exercises. Thecomputationalpartofthebookassumesthereaderhasaccesstoeither MATLAB or Octave (or both). MATLAB is perhaps the most widely used scriptinglanguageforthetypeofscientificcomputingaddressedinthebook. Octave is freely downloadable and is very similar to MATLAB. The book includes an extensive collection of exercises, most of which involve writing code in either of these two languages. The exercises are very interesting, and areader/studentwhoinveststheefforttosolveasignificantfractionofthese exercises will become well educated in computational science. Robert J. Vanderbei Preface Theintentofthistextistoprovideanintroductiontothegrowinginterdisci- plinary field of Computational Science. The impacts of computational stud- ies throughout science and engineering are immense, and the future points to an ever increasing reliance on computational ability. However, while the demand for computational expertise is high, the specific topics and curricula that comprise the arena of computational science are not well defined. This lack of clarity is partially due to the fact that different scientific problems lend themselves to different numerical methods and to diverse mathematical models,makingitdifficulttonarrowthebroadvarietyofcomputationalma- terial. Our aim is to introduce the “go to” models and numerical methods that would typically be attempted before advancing to more sophisticated constructs if necessary. Our goal is not to pivot into a deep mathematical discussiononanyparticulartopicbutisinsteadtomotivateaworkingsavvy thatpracticallyappliestonumerousproblems.Thismeanswewantstudents to practice with numerical methods and models so that they know what to expect. Our governing pedagogy is that students should understand the rudimentsofanswersto:Howexpensiveisacalculation,howtrustworthyisa calculation,andhowmightwemodelaproblemtoapplyadesirednumerical method? We mathematically justify the results of the text, but we do so without undue rigor, which is appropriate in an undergraduate introduction. This often means we assert mathematical facts and then interpret them. The au- thorssharethemelancholyofamatter-of-factpresentationwithmanyofour mathematical colleagues, but we hope that students will continue to pursue advanced coursework to complete the mosaic of mathematical justification. Our humble approach here is to frame the future educational discourse in a way that provides a well-honed skill for those who might consider working in computational science. ix x Preface Theintendedaudienceistheundergraduatewhohascompletedherorhis introductory coursework in mathematics and computer science. Our general aim is a student who has completed calculus along with either a traditional course in ordinary differential equations or linear algebra. An introductory course in a modern computer language is also assumed. We introduce topics sothatanystudentwithafirmcommandofcalculusandprogrammingshould be able to approach the material. Most of our numerical work is completed in MATLAB, or its free counterpart Octave, as these computational plat- formsarestandardinengineeringandscience.Othercomputationalresources are introduced to broaden awareness. We also introduce parallel computing, which can then be used to supplement other concepts. The text is written in two parts. The first introduces essential numerical methods and canvases computational elements from calculus, linear algebra, differential equations, statistics, and optimization. Part I is designed to pro- vide a succinct, one-term inauguration into the primary routines on which a further study of computational science rests. The material is organized so thatthetransitiontocomputationalsciencefromcourseworkincalculus,dif- ferential equations, and linear algebra is natural. Beyond the mathematical and computational content of Part I, students will gain proficiency with el- emental programming constructs and visualization, which are presented in their MATLAB syntax. Part II addresses modeling, and the goal is to have students build computational models, compute solutions, and report their findings.Themodelspurposelyintersectnumerousareasofscienceandengi- neering to demonstrate the pervasive role played by computational science. Thispartisalsowrittentofillaone-termcoursethatbuildsfromthecompu- tational background of Part I. While the authors teach most of the material overtwo(10week)terms,wehaveattemptedtomodularizethepresentation tofacilitatesingle-termcoursesthatmightcombineelementsfrombothparts. Terre Haute, IN, USA Allen Holder Terre Haute, IN, USA Joseph Eichholz Summer 2018

See more

The list of books you might like

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