Research Catalog
Statistical computing in C++ and R
- Title
- Statistical computing in C++ and R / Randall L. Eubank, Ana Kupresanin.
- Author
- Eubank, Randall L., 1952-
- Publication
- Boca Raton : CRC Press, [2012], ©2012.
Items in the Library & Off-site
Filter by
1 Item
Status | Format | Access | Call Number | Item Location |
---|---|---|---|---|
Text | Request in advance | QA276.4 .E87 2012 | Off-site |
Holdings
Details
- Additional Authors
- Kupresanin, Ana.
- Description
- xv, 540 pages : illustrations; 27 cm.
- Summary
- "Preface When one looks at a book with 'statistical computing' in the title, the expectation is most likely for a treatment of the topic that has close ties to numerical analysis. There are many texts written from this perspective that provide valuable resources for those who are actively involved in the solution of computing problems that arise in statistics. The presentation in the present text represents a departure from this classical emphasis in that it concentrates on the writing of code rather than the development and study of algorithms, per se. The goal is to provide a treatment of statistical computing that lays a foundation for original code development in a research environment. The advancement of statistical methodology is now inextricably linked to the use of computers. New methodological ideas must be translated into usable code and then numerically evaluated relative to competing procedures. As a result, many statisticians expend significant amounts of their creative energy while sitting in front of a computer monitor. The end products from the vast majority of these efforts are unlikely to be reflected in changes to core aspects of numerical methods or computer hardware. Nonetheless, they are modern statisticians that are (often very) involved in computing. This book is written with that particular audience in mind. What does a modern statistician need to know about computing? Our belief is that they need to understand at least the basic principles of algorithmic thinking. The translation of a mathematical problem into its computational analog (or analogs) is a skill that must be learned, like any other, by actively solving relevant problems"--
- Series Statement
- Chapman & Hall/CRC the R series
- Uniform Title
- Chapman & Hall/CRC the R series (CRC Press)
- Subjects
- Bibliography (note)
- Includes bibliographical references (p. 531-535) and index.
- Contents
- Machine generated contents note: 1.1.Programming paradigms -- 1.2.Object-oriented programming -- 1.3.What lies ahead -- 2.1.Introduction -- 2.2.Storage in C++ -- 2.3.Integers -- 2.4.Floating-point representation -- 2.5.Errors -- 2.6.Computing a sample variance -- 2.7.Storage in R -- 2.8.Exercises -- 3.1.Introduction -- 3.2.Variables and scope -- 3.3.Arithmetic and logical operators -- 3.4.Control structures -- 3.5.Using arrays and pointers -- 3.6.Functions -- 3.7.Classes, objects and methods -- 3.8.Miscellaneous topics -- 3.8.1.Structs -- 3.8.2.The this pointer -- 3.8.3.const correctness -- 3.8.4.Forward references -- 3.8.5.Strings -- 3.8.6.Namespaces -- 3.8.7.Handling errors -- 3.8.8.Timing a program -- 3.9.Matrix and vector classes -- 3.10.Input, output and templates -- 3.11.Function templates -- 3.12.Exercises -- 4.1.Introduction -- 4.2.Congruential methods -- 4.3.Lehmer type generators in C++ -- 4.4.An FM2 class -- 4.5.Other generation methods -- 4.6.Nonuniform generation -- 4.7.Generating random normals -- 4.8.Generating random numbers in R -- 4.9.Using the R Standalone Math Library -- 4.10.Exercises -- 5.1.Introduction -- 5.2.File input and output -- 5.3.Classes, methods and namespaces -- 5.4.Writing R functions -- 5.5.Avoiding loops in R -- 5.6.An example -- 5.7.Using C/C++ code in R -- 5.8.Exercises -- 6.1.Introduction -- 6.2.Creating a new class -- 6.3.Generic methods -- 6.4.An example -- 6.5.Exercises -- 7.1.Introduction -- 7.2.Solving linear equations -- 7.2.1.Solving triangular systems -- 7.2.2.Gaussian elimination -- 7.2.3.Cholesky decomposition -- 7.2.4.Banded matrices -- 7.2.5.An application: linear smoothing splines -- 7.2.6.Banded matrices via inheritance -- 7.3.Eigenvalues and eigenvectors -- 7.4.Singular value decomposition -- 7.5.Least squares -- 7.6.The Template Numerical Toolkit -- 7.7.Exercises -- 8.1.Introduction -- 8.2.Function objects -- 8.3.Golden section -- 8.3.1.Dealing with multiple minima -- 8.3.2.An application: linear smoothing splines revisited -- 8.4.Newton's method -- 8.5.Maximum likelihood -- 8.6.Random search -- 8.7.Exercises -- 9.1.Introduction -- 9.2.ADT dictionary -- 9.2.1.Dynamic arrays and quicksort -- 9.2.2.Linked lists and mergesort -- 9.2.3.Stacks and queues -- 9.2.4.Hash tables -- 9.3.ADT priority queue -- 9.3.1.Heaps -- 9.3.2.A simple heap in C++ -- 9.4.ADT ordered set -- 9.4.1.A simple C++ binary search tree -- 9.4.2.Balancing binary trees -- 9.5.Pointer arithmetic, aerators and templates -- 9.5.1.Iterators -- 9.5.2.A linked list template class -- 9.6.Exercises -- 10.1.Introduction -- 10.2.Container basics -- 10.3.Vector and deque -- 10.3.1.Streaming data -- 10.3.2.Flexible data input -- 10.3.3.Guess5 revisited -- 10.4.The C++ list container -- 10.4.1.An example -- 10.4.2.A chaining hash table -- 10.5.Queues -- 10.6.The map and set containers -- 10.7.Algorithm basics -- 10.8.Exercises -- 11.1.Introduction -- 11.2.OpenMP -- 11.3.Basic MPI commands for C++ -- 11.4.Parallel processing in R -- 11.5.Parallel random number generation -- 11.6.Exercises -- A.1.Getting around and finding things -- A.2.Seeing what's there -- A.3.Creating and destroying things -- A.4.Things that are running and how to stop them -- B.1.R as a calculator -- B.2.R as a graphics engine -- B.3.R for statistical analysis -- C.1.Pseudo-random numbers -- C.2.Hash tables -- C.3.Tuples.
- ISBN
- 9781420066500 (hardback)
- 1420066501 (hardback)
- LCCN
- 2011041604
- OCLC
- 759491741
- SCSB-5666415
- Owning Institutions
- Columbia University Libraries