MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific...

14
MATLAB W FOR NEUROSCIENTISTS “This is an excellent book that should be on the desk of any neuroscientist or psychologist who wants to analyze and understand his or her own data by using Matlab. The authors provide a much needed resource by packing together analysis routines and real experimental data from their own laboratories. The book includes Matlab tools for stimulus generation, as well as for data collection and analysis in the research fields of experimental psychology and systems neuroscience. An excellent selection of routines is offered that can be used for analyzing data in the temporal or frequency domain, for dimensionality reduction, application of information theory, and data modeling. Several books with Matlab toolboxes exist; I find this one special both for its clarity and its focus on problems related to neuroscience and cognitive psychology.” Nikos Logothetis, Director Max Planck Institute for Biological Cybernetics, Tu ¨ bingen, Germany. “Not so long ago, behavioral and cognitive scientists used simple computer programs to conduct experiments and to analyze data. Those days are now behind us. Today, sophisticated neuroimaging techniques have reached every corner of psychology, and are rapidly spreading into related disciplines. But the spread of such techniques has outstripped the resources to help students learn how to use them effectively. This marvellous book fills a glaring gap in the available offerings. It is a systematic discus- sion of how to use powerful programming techniques (within a widely available programming environment) for a wide variety of applications, and how to use these techniques to analyze data in many domains, not just for neuroimaging. The book is clear, cogent, and systematic. It provides much more than the essential nuts-and-bolts — it also leads the reader to learn to think about the empiri- cal enterprise writ large. The authors have done a great service for generations of students, and even for accomplished scientists. This book should be given a privileged spot on the bookshelf of every teacher, student, and researcher in the behavioral and cognitive sciences.” Stephen M. Kosslyn, John Lindsley Professor of Psychology, Dean of Social Science, Harvard University. “As many cellular and system neurophysiology laboratories turn to Matlab for stimulus con- trol, acquisition and analysis, it has become imperative for student to have access to a complete, coherent textbook. The introductory material is clear and concise, permitting novices to take full advantage of the advanced concepts, each of which is fully illustrated with data from neuroscience experiments.” Dan H. Sanes, Professor of Neural Science and Biology, New York University. “Matlab for Neuroscientists provides a unique and relatively comprehensive introduction to the Matlab programming language in the context of brain sciences, with a clear emphasis on the visual sys- tem. The book is organized in an extensivesequence of “Labs”, each focused on either a particular tool from mathematics (e.g., convolution, Fourier analysis, Principle Components Analysis, information theory, phase plane analysis), an experimental design or data analysis problem from perceptual psy- chology or neuroscience (e.g., measuring detection thresholds or reaction times, fitting models to responses of spiking neurons, decoding data neural populations), or simulation and analysis of models for perception or neural populations (e.g., modeling human subject choices with signal detection the- ory, modeling spiking neurons, neural network learning models). Each topic is explained briefly, but at a level that should be accessible to students in psychology or neurobiology, assuming they have a basic knowledge of mathematics (algebra and calculus). The book would work well as a supplemen- tary source for an introductory course in computational analysis and modeling in visual neuroscience, for graduate students or advanced undergraduates.” Eero P. Simoncelli, Investigator, Howard Hughes Medical Institute; Professor, Neural Science, Mathematics, and Psychology, New York University.

Transcript of MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific...

Page 1: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

Comp. by: KKarthikeyanPrinter0000857479 Date:25/8/08 Time:21:46:17 Stage:1st RevisesFile Path://ppdys1108/Womat3/Production/PRODENV/0000000038/0000009620/0000000005/0000857479.3D Proof by: QC by:

MATLABW

FOR NEUROSCIENTISTS

“This is an excellent book that should be on the desk of any neuroscientist or psychologistwho wants to analyze and understand his or her own data by using Matlab. The authors providea much needed resource by packing together analysis routines and real experimental datafrom their own laboratories. The book includes Matlab tools for stimulus generation, as well asfor data collection and analysis in the research fields of experimental psychology and systemsneuroscience. An excellent selection of routines is offered that can be used for analyzing datain the temporal or frequency domain, for dimensionality reduction, application of informationtheory, and data modeling. Several books with Matlab toolboxes exist; I find this one specialboth for its clarity and its focus on problems related to neuroscience and cognitive psychology.”Nikos Logothetis, Director Max Planck Institute for Biological Cybernetics, Tubingen, Germany.

“Not so long ago, behavioral and cognitive scientists used simple computer programs to conductexperiments and to analyze data. Those days are now behind us. Today, sophisticated neuroimagingtechniques have reached every corner of psychology, and are rapidly spreading into related disciplines.But the spread of such techniques has outstripped the resources to help students learn how to use themeffectively. This marvellous book fills a glaring gap in the available offerings. It is a systematic discus-sion of how to use powerful programming techniques (within a widely available programmingenvironment) for a wide variety of applications, and how to use these techniques to analyze data inmany domains, not just for neuroimaging. The book is clear, cogent, and systematic. It provides muchmore than the essential nuts-and-bolts — it also leads the reader to learn to think about the empiri-cal enterprise writ large. The authors have done a great service for generations of students, and evenfor accomplished scientists. This book should be given a privileged spot on the bookshelf of everyteacher, student, and researcher in the behavioral and cognitive sciences.”Stephen M. Kosslyn, John Lindsley Professor of Psychology, Dean of Social Science, HarvardUniversity.

“As many cellular and system neurophysiology laboratories turn to Matlab for stimulus con-trol, acquisition and analysis, it has become imperative for student to have access to a complete,coherent textbook. The introductory material is clear and concise, permitting novices to take fulladvantage of the advanced concepts, each of which is fully illustrated with data from neuroscienceexperiments.”Dan H. Sanes, Professor of Neural Science and Biology, New York University.

“Matlab for Neuroscientists provides a unique and relatively comprehensive introduction to theMatlab programming language in the context of brain sciences, with a clear emphasis on the visual sys-tem. The book is organized in an extensive sequence of “Labs”, each focused on either a particular toolfrom mathematics (e.g., convolution, Fourier analysis, Principle Components Analysis, informationtheory, phase plane analysis), an experimental design or data analysis problem from perceptual psy-chology or neuroscience (e.g., measuring detection thresholds or reaction times, fitting models toresponses of spiking neurons, decoding data neural populations), or simulation and analysis of modelsfor perception or neural populations (e.g., modeling human subject choices with signal detection the-ory, modeling spiking neurons, neural network learning models). Each topic is explained briefly, butat a level that should be accessible to students in psychology or neurobiology, assuming they have abasic knowledge of mathematics (algebra and calculus). The book would work well as a supplemen-tary source for an introductory course in computational analysis and modeling in visual neuroscience,for graduate students or advanced undergraduates.”Eero P. Simoncelli, Investigator, Howard Hughes Medical Institute; Professor, Neural Science,Mathematics, and Psychology, New York University.

Page 2: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

To adopt this book for course use, visit http://textbooks.elsevier.com

Companion Web Site:

http://booksite.academicpress.com/9780123745514/

ELSEVIERscience &technology books

MATLAB for Neuroscientists: An Introduction to Scientific Computing in MATLABby Wallisch, Lusignan, Benayoun, Baker, Dickey, and Hatsopoulos

ACADEMICPRESS

TOOLS ALL TEACHINGFOR YOUR NEEDStextbooks.elsevier.com

• All figures from the book available as PowerPoint slides• A database of executable code as .m-files• Exercises and solutions• All necessary materials to work through the chapters, e.g. data, stimuli

Page 3: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

MATLABW FORNEUROSCIENTISTS

AN INTRODUCTION TOSCIENTIFIC COMPUTING IN

MATLABW

PASCAL WALLISCH

MICHAEL LUSIGNAN

MARC BENAYOUN

TANYA I. BAKER

ADAM S. DICKEY

NICHOLAS G. HATSOPOULOS

AMSTERDAM • BOSTON • HEIDELBERG • LONDONNEW YORK • OXFORD • PARIS • SAN DIEGO

SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYOAcademic Press is an imprint of Elsevier

Page 4: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

Academic Press is an imprint of Elsevier

30 Corporate Drive, Suite 400, Burlington, MA 01803, USA525 B Street, Suite 1900, San Diego, California 92101–4495, USA84 Theobald’s Road, London WC1X 8RR, UK

This book is printed on acid-free paper.

Copyright # 2009, Elsevier Inc. All rights reserved

No part of this publication may be reproduced or transmitted in any form or by anymeans, electronic or mechanical, including photocopy, recording, or any informationstorage and retrieval system, without permission in writing from the publisher.

MATLABW is a trademark of The MathWorks, Inc. and is used with permission. TheMathWorks does not warrant the accuracy of the text or exercises in this book. This book’suse or discussion of MATLABW software or related products does not constitute endorsementor sponsorship by The MathWorks of a particular pedagogical approach or particular use ofthe MATLABW software.

Permissions may be sought directly from Elsevier’s Science & Technology RightsDepartment in Oxford, UK: phone (þ44) 1865 843830, fax: (þ44) 1865 853333,E-mail: [email protected]. You may also complete your request onlinevia the Elsevier homepage (http://elsevier.com/), by selecting “Support&Contact” then “Copyrightand Permission” and then “Obtaining Permissions.”

Library of Congress Cataloging-in-Publication Data

MATLAB for neuroscientists : an introduction to scientific computing inMATLAB / Pascal Wallisch . . . [et al.].

p. ; cm.Includes bibliographical references and index.ISBN 978-0-12-374551-4 (hardcover : alk. paper)

1. Neuroscience–Data processing. 2. MATLAB. I. Wallisch, Pascal,1978-

[DNLM: 1. Computing Methodologies. 2. Neurosciences. WL 26.5 M433 2009]QP357.5.M38 2009612.80285–dc22

2008028494

British Library Cataloguing-in-Publication Data

A catalogue record for this book is available from the British Library.

IBSN: 978-0-12-374551-4

For information on all Academic Press publicationsvisit our Web site at www.elsevierdirect.com

Printed in China08 09 10 9 8 7 6 5 4 3 2 1

Page 5: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

Contents

Preface viiAbout the Authors xiHow to Use this Book xiii

Part IFUNDAMENTALS

1. Introduction 32. MATLAB Tutorial 7

Part IIDATA COLLECTION WITH

MATLAB

3. Visual Search and Pop Out 594. Attention 715. Psychophysics 796. Signal Detection Theory 97

Part IIIDATA ANALYSIS WITH

MATLAB

7. Frequency Analysis Part I: FourierDecomposition 117

8. Frequency Analysis Part II: Nonstationary Signalsand Spectrograms 125

9. Wavelets 13310. Convolution 14111. Introduction to Phase Plane Analysis 153

12. Exploring the Fitzhugh-Nagumo Model 16313. Neural Data Analysis: Encoding 17314. Principal Components Analysis 18315. Information Theory 19316. Neural Decoding Part I: Discrete Variables 20317. Neural Decoding Part II: Continuous

Variables 21118. Functional Magnetic Imaging 219

Part IVDATA MODELING WITH

MATLAB

19. Voltage-Gated Ion Channels 22920. Models of a Single Neuron 23921. Models of the Retina 24722. Simplified Model of Spiking Neurons 25523. Fitzhugh-Nagumo Model: Traveling Waves 26124. Decision Theory 27525. Markov Models 28326. Modeling Spike Trains as a Poisson Process 29127. Synaptic Transmission 29928. Neural Networks Part I: Unsupervised

Learning 30729. Neural Network Part II: Supervised

Learning 319

Appendix A: Thinking inMATLAB 339Appendix B: Linear Algebra Review 345Appendix C: Master Equation List 355References 371

Index 379

v

Page 6: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …
Page 7: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

Preface

I hear and I forget.

I see and I remember.

I do and I understand.

Confucius

The creation of this book stems from a setof courses offered over the past several yearsin quantitative neuroscience, particularlywithin the graduate program in compu-tational neuroscience at the University ofChicago. This program started in 2001 andis one of the few programs focused oncomputational neuroscience with a com-plete curriculum including courses incellular, systems, behavioral, and cognitiveneuroscience; neuronal modeling; andmathematical foundations in computationalneuroscience. Many of these courses in-clude not only lectures but also lab sessionsin which students get hands-on experienceusing the MATLABW software to solvevarious neuroscientific problems.

The content of our book is oriented alongthe philosophy of using MATLAB as a com-prehensive platform that spans the entirecycle of experimental neuroscience: stimu-lus generation, data collection and experi-mental control, data analysis, and finallydata modeling. We realize that thisapproach is not universally followed. Quitea number of labs use different—and

specialized—software for stimulus genera-tion, data collection, data analysis, and datamodeling, respectively. Although this alter-native is a feasible strategy, it does intro-duce a number of problems: namely, theneed to convert data between different plat-forms and formats and to keep up with awide range of software packages as wellas the need to learn ever-new specializedhome-cooked “local” software when enter-ing a new lab. As we have realized in ourown professional life as scientists, theseobstacles can be far from trivial and asignificant detriment to productivity.

We also believe that our comprehensiveMATLAB “strategy” makes particular sensefor educational purposes, as it empowersusers to progressively solve a wide varietyof computational problems and challengeswithin a single programming environment.It has the added advantage of an elegantprogression within the problem space. Ourexperience in teaching has led us to thisapproach that does not focus on the inher-ent structure of MATLAB as a computerprogramming language but rather as a tool

vii

Page 8: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

for solving problems within neuroscience.In addition, it is well founded in our currentunderstanding of the learning process.Constant use of the information forces therepeated retrieval of the introduced con-cepts, which—in turn—facilitates learning(Karpicke & Roediger, 2008).

The book is structured in four parts, eachwith several chapters. The first part servesas a brief introduction to some of the mostcommonly used functions of the MATLABsoftware, as well as to basic programmingin MATLAB. Users who are already famil-iar with MATLAB may skip it. It serves theimportant purpose of a friendly invitationto the power of the MATLAB environment.It is elementary insofar as it is necessary tohave mastered the content within beforeprogressing any further. Later parts focuson the use of MATLAB to solve computa-tional problems in neuroscience. The sec-ond part focuses on MATLAB as a tool forthe collection of data. For the sake of gener-ality, we focus on the collection of data fromhuman subjects in these chapters, althoughthe user can easily adapt them for the collec-tion of animal data as well. The third partfocuses on MATLAB as a tool for data anal-ysis and graphing. This part forms the coreof the book, as this is also how MATLAB ismost commonly used. In particular, weexplore the analysis of a variety of datasets,including “real” data from electrophysiol-ogy as well as neuroimaging. The fourthpart focuses on data modeling withMATLAB, and appendices address the phi-losophy of MATLAB as well as the underly-ing mathematics. Each chapter begins withthe goals of the chapter and a briefbackground of the problem of interest (neu-roscientific or psychological), followed byan introduction to the MATLAB conceptsnecessary to address the problem by break-ing it down into smaller parts andproviding sample code. You are invited tomodify, expand, and improvise on these

examples in a set of exercises. Finally, aproject is assigned at the end of the chapterwhich requires integrating the parts intoa coherent whole. Based on our experience,we believe that these chapters can serve asself-contained “lab” components of a courseif this book is used in the context ofteaching.

In essence, we strived to write the bookthat we wished to have had when firstlearning MATLAB ourselves, as well as thebook that we would have liked to havehad when teaching MATLAB to our stu-dents in the past. Our hope is that this isthe very book you are holding in yourhands right now.

We could have not written this book with-out the continuous support of a large numberof friends. First and foremost, we would liketo thank our families for their kind support,their endless patience, as well as their untiringencouragement. We also would like to extendthanks to our students who provided the ini-tial impetus for this undertaking as well asfor providing constant feedback on previousversions of our manuscript. Steve Shevelldeserves thanks for suggesting that the projectisworthpursuing in the first place. In addition,we would like to thank everyone at Elsevierwho was involved in the production anddevelopment of this book—in particular ourvarious editors, Johannes Menzel, Sarah Haj-duk, Clare Caruana, Christie Jozwiak, ChuckHutchinson, Megan Wickline, and MegDay—their resourcefulness, professionalismand patience really did make a big difference.Curiously, there was another Meg involvedwith this project, specificallyMegVulliez fromTheMathWorks™ book program. In addition,we would like to thank Kori Lusignan andAmber Martell for help with illustrations andWim van Drongelen for advice and guidancein the early stages of this project. Moreover,we thank Armen Kherlopian and GopathyPurushothaman who were kind enough toprovide us with valuable insights throughout

viii PREFACE

Page 9: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

our undertaking. We also would like to thankKristine Mosier for providing the finger-tapping functionalmagnetic imaging data thatwe used in the fMRI lab and would like tothank Aaron Suminski for his help in thepost-processing of that data. Importantly, wethank everyone whom we neglected to name

explicitly but deserves our praise. Finally, wewould like to thank you, the reader, for yourwillingness to join us on this exciting journey.We sincerely hope that we can help you reachyour desired destination.

The authors

ixPREFACE

Page 10: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …
Page 11: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

About the Authors

Pascal Wallisch, PhD, Center for NeuralScience, New York UniversityPascal received his PhD from the Universityof Chicago and is now a postdoctoral fellowat New York University. He is currentlystudying the processing of visual motion.Pascal is passionate about teaching, as wellas the communication of scientific conceptsto a wider audience. He was recognized forhis distinguished teaching record by theUniversity of Chicago Booth Prize.

Michael Lusignan, Committee on Compu-tational Neuroscience, University ofChicagoMichael is an advanced graduate studentwho has enjoyed teaching several coursesinvolving MATLAB to graduate, as well asundergraduate students.He infuses his teach-ing with eight years of experience in activesoftware development. His current interestsinclude sensory encoding in neuroethologicalmodel systems.

Marc Benayoun, Committee on Computa-tional Neuroscience, University of ChicagoMarc is an MD/PhD student currentlyinterested in applying statistical field the-ory to study neural networks with applica-tions to epilepsy. He has an extensiveteaching record and was also awarded theUniversity of Chicago Booth Prize.

Tanya I. Baker, PhD, Junior Research Fel-low, Crick-Jacobs Center for TheoreticalNeurobiology, The Salk Institute forBiological Studies, La Jolla, CaliforniaTanya is a junior research fellow modellinglarge-scale neuronal population dynamicsusing modern statistical methods. Previ-ously, she was a post-doctoral lecturer atthe University of Chicago where she devel-oped and taught Mathematical Methods forthe Biological Sciences, a new year-longcourse with a computer lab component.She received her PhD in Physics at the Uni-versity of Chicago and her BS in Physicsand Applied Mathematics at UCLA.

Adam Dickey, Committee on Computa-tional Neuroscience, University of ChicagoAdam is an MD/PhD candidate at the Uni-versity of Chicago. He is currently a gradu-ate student in the laboratory of Dr. NicholasHatsopoulos. Adam is interested in improv-ing decoding techniques used for neuralprosthetic control.

Nicholas G. Hatsopoulos, PhD, Depart-ment of Organismal Biology and Anatomy& Department of Neurology, University ofChicagoNicholas is Associate Professor and Chair-man of the graduate program on Computa-tional Neuroscience. He teaches a course in

xi

Page 12: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

Cognitive Neuroscience which formed thebasis for some of the chapters in the book.His research focuses on how ensembles ofcortical neurons work together to control,coordinate, and learn complex movements

of the arm and hand. He is also developingbrain-machine interfaces by which patientswith severe motor disabilities could activatelarge groups of neurons to control externaldevices.

xii ABOUT THE AUTHORS

Page 13: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

How to Use This Book

A text of a technical nature tends to bemore readily understood if its design princi-ples are clear from the very outset. This isalso the case with this book. Hence, we willuse this space to briefly discuss what wehad in mind when writing the chapters.Hopefully, this will improve usability andallows you to get most out of the book.

STRUCTURAL ANDCONCEPTUAL

CONSIDERATIONS

A chapter typically begins with a conciseoverview of what material will be covered.Moreover, we usually put the chapter in thebroader context of practical applications.This brief introduction is followed by a dis-cussion of the conceptual and theoreticalbackground of the topic in question. Theheart of each chapter is a larger section inwhich we introduce relevant MATLABW

functions that allow you to implement meth-ods or solve problems that tend to come upin the context of the chapter topic. This partof the chapter is enriched by small exercisesand suggestions for exploration. We believethat doing the exercises is imperative toattain a sufficiently deep understanding ofthe function in question, while the sugges-tions for exploration are aimed at readerswho are particularly interested in broadeningtheir understanding of a given function. Inthis spirit, the exercises are usually rather

specific, while the suggestions for explorationtend to be of a rather sweeping nature. Thisprocess of successive introduction and rein-forcement of functions and concepts culmi-nates in a “project”, a large programmingtask that ties all the material covered in thebook together. This will allow you to putthe learned materials to immediate use in alarger goal, often utilizing “real” experimen-tal data. Finally, we list the MATLAB func-tions introduced in the chapter at the veryend. It almost goes without saying thatyou will get the most out of this book if youhave a version of MATLAB open and run-ning while going through the chapters. Thatway, you can just try out the functions weintroduce, try out new code, etc.

Hence, we implicitly assumed this to bethe case when writing the book.

Moreover, we made sure that all the codeworks when running the latest version ofMATLAB (currently 7.7). Don’t let this con-cern you too much, though. The vast major-ity of code should work if you use anythingabove version 6.0. We did highlight someimportant changes where appropriate.

LAYOUT AND STYLE

The reader can utilize not only the concep-tual structure of each chapter as outlinedabove, but also profit from the fact that we sys-tematically encoded information about thefunction of different text parts in the layoutand style of the book.

xiii

Page 14: MATLABW FOR NEUROSCIENTISTS - … · matlabw for neuroscientists an introduction to scientific computing in matlabw pascal wallisch michael lusignan marc benayoun tanya i. …

The main text is set in 10/12 Palatino-Roman. In contrast, executable code isbolded and offset by >>, such as this:

>> figure>> subplot(2,2,1)>> image(test_disp)

The idea is to type this text (without the>>) directly into MATLAB. Moreover, func-tions that are first introduced at this pointare bolded in the text. Exercises and Sugges-tions for exploration are set in italics andseparated from the main text by boxes.

Equations are set in 10/12 Palatino-Roman. Sample solutions in 10/12 Palatino-Bold.

COMPANION WEBSITE

The successful completion of many chap-ters of this book depends on additionalmaterial (experimental data, sample solu-tions and other supplementary information)which is accessible from the website thataccompanies this book. For example, a data-base of executable code will be maintainedas long as the book is in print. For informa-tion on how to access this online repository,please see page ii.

xiv HOW TO USE THIS BOOK