Numerical Recipes

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Hardcover)
  • All (42) from $1.99   
  • New (2) from $105.00   
  • Used (40) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$105.00
Seller since 2014

Feedback rating:

(149)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$105.00
Seller since 2014

Feedback rating:

(149)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by

Overview

This book aims to teach the methods of numerical computing, and as such it is a practical reference and textbook for anyone using numerical analysis. The authors provide the techniques and computer programs needed for analysis and also advice on which techniques should be used for solving certain types of problems. The authors assume the reader is mathematically literate and is familiar with FORTRAN and PASCAL programming languages, but no prior experience with numerical analysis or numerical methods is assumed. The book includes all the standard topics of numerical analysis (linear equations, interpolation and extrapolation, integration, nonlinear rootfinding, eigensystems and ordinary differential equations). The programs in the book are in ANSI-standard FORTRAN-77 for the main text, and are repeated in UCSDPASCAL at the end. They are available on discs for use on IBM-PC microcomputers and their compatibles. A workbook providing sample programs that illustrate the use of each subroutine and procedure is available, as well as discs giving programs listed in the book in USCD-PASCAL and FORTRAN-77 for use on IBM-PC microcomputers and their compatibles.

Note: This edition only includes the diskette.

A considerable (50%) expansion of what has come to be the handbook of first resort in scientific computation. A few new chapters were added, and, mainly, many more topics/techniques are now concisely discussed. A great addition to any reference collection, even if you already have the first edition. The text comes in both C and Fortran editions. Cambridge also makes available the following companion products, which our customers have found extremely valuable in their own right: Example books---- tutorial guides to using the routines within your own programs Program disks---- all 300+ routines from the text itself, plus sample programs from the example books. For the basic book, example books, and disks, be sure to specify whether Fortran or C editions are preferred; for the disks, be sure to specify IBM (3.5" or 5.25") or Macintosh formats.

Read More Show Less

Editorial Reviews

From Barnes & Noble

Fatbrain Review

A considerable (50%) expansion of what has come to be the handbook of first resort in scientific computation. A few new chapters were added, and, mainly, many more topics/techniques are now concisely discussed. A great addition to any reference collection, even if you already have the first edition. The text comes in both C and Fortran editions. Cambridge also makes available the following companion products, which our customers have found extremely valuable in their own right: Example books---- tutorial guides to using the routines within your own programs Program disks---- all 300+ routines from the text itself, plus sample programs from the example books. For the basic book, example books, and disks, be sure to specify whether Fortran or C editions are preferred; for the disks, be sure to specify IBM (3.5" or 5.25") or Macintosh formats.
Booknews
A manual of modern numerical methods for solving radiative transfer problems. Contains several new numerical methods on operator perturbation as well as on polarized radiative transfer. The methods are principally directed to astrophysical plasmas, but are easily adaptable to applications involving other media where self-absorption of radiation is important. A C version of the FORTRAN and Pascal reference work. Brings the full power of the C language to bear on scientific tasks. Some 200 computers routines are included. For programmers and for scientists and engineers who want to work in C. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780521308113
  • Publisher: Cambridge University Press
  • Publication date: 3/1/1988
  • Pages: 848

Read an Excerpt


Chapter 9: Root Finding and Nonlinear Sets of Equations

9.0: Introduction

We now consider that most basic of tasks, solving equations numerically. While most equations are born with both a right-hand side and a left-hand side, one traditionally moves all terms to the left, leaving
f(x) = 0                          (9.0.1)

whose solution or solutions are desired. When there is only one independent variable, the problem is one-dimensional, namely to find the root or roots of a function.

With more than one independent variable, more than one equation can be satisfied simultaneously. You likely once learned the implicit function theorem which (in this context) gives us the hope of satisfying N equations in N unknowns simultaneously. Note that we have only hope, not certainty. A nonlinear set of equations may have no (real) solutions at all. Contrariwise, it may have more than one solution. The implicit function theorem tells us that "generically" the solutions will be distinct, pointlike, and separated from each other. If, however, life is so unkind as to present you with a nongeneric, i.e., degenerate, case, then you can get a continuous family of solutions. In vector notation, we want to find one or more N-dimensional solution vectors x such that

f(x) = 0                          (9.0.2)

where f is the N-dimensional vector-valued function whose components are the individual equations to be satisfied simultaneously.

Don't be fooled by the apparent notational similarity of equations (9.0.2) and (9.0.1). Simultaneous solution of equations in N dimensions is much more difficult than finding roots in the one-dimensional case. The principal difference between one and many dimensions is that, in one dimension, it is possible to bracket or "trap" a root between bracketing values, and then hunt it down like a rabbit. In multidimensions, you can never be sure that the root is there at all until you have found it.

Except in linear problems, root finding invariably proceeds by iteration, and this is equally true in one or in many dimensions. Starting from some approximate trial solution, a useful algorithm will improve the solution until some predetermined convergence criterion is satisfied. For smoothly varying functions, good algorithms will always converge, provided that the initial guess is good enough. Indeed one can even determine in advance the rate of convergence of most algorithms.

It cannot be overemphasized, however, how crucially success depends on having a good first guess for the solution, especially for multidimensional problems. This crucial beginning usually depends on analysis rather than numerics. Carefully crafted initial estimates reward you not only with reduced computational effort, but also with understanding and increased self-esteem. Hamming's motto, "the purpose of computing is insight, not numbers," is particularly apt in the area of finding roots. You should repeat this motto aloud whenever your program converges, with ten-digit accuracy, to the wrong root of a problem, or whenever it fails to converge because there is actually no root, or because there is a root but your initial estimate was not sufficiently close to it.

"This talk of insight is all very well, but what do I actually do?" For one-dimensional root finding, it is possible to give some straightforward answers: You should try to get some idea of what your function looks like before trying to find its roots. If you need to mass-produce roots for many different functions, then you should at least know what some typical members of the ensemble look like. Next, you should always bracket a root, that is, know that the function changes sign in an identified interval, before trying to converge to the root's value.

Finally (this is advice with which some daring souls might disagree, but we give it nonetheless) never let your iteration method get outside of the best bracketing bounds obtained at any stage. We will see below that some pedagogically important algorithms, such as secant method or Newton-Raphson, can violate this last constraint, and are thus not recommended unless certain fixups are implemented.

Multiple roots, or very close roots, are a real problem, especially if the multiplicity is an even number. In that case, there may be no readily apparent sign change in the function, so the notion of bracketing a root -- and maintaining the bracket -- becomes difficult. We are hard-liners: we nevertheless insist on bracketing a root, even if it takes the minimum-searching techniques of Chapter 10 to determine whether a tantalizing dip in the function really does cross zero or not. (You can easily modify the simple golden section routine of §10.1 to return early if it detects a sign change in the function. And, if the minimum of the function is exactly zero, then you have found a double root.)

As usual, we want to discourage you from using routines as black boxes without understanding them. However, as a guide to beginners, here are some reasonable starting points:

  • Brent's algorithm in §9.3 is the method of choice to find a bracketed root of a general one-dimensional function, when you cannot easily compute the function's derivative. Ridders' method (§9.2) is concise, and a close competitor.
  • When you can compute the function's derivative, the routine rtsafe in §9.4, which combines the Newton-Raphson method with some bookkeeping on bounds, is recommended. Again, you must first bracket your root.
  • Roots of polynomials are a special case. Laguerre's method, in §9.5, is recommended as a starting point. Beware: Some polynomials are ill-conditioned!
  • Finally, for multidimensional problems, the only elementary method is Newton-Raphson (§9.6), which works very well if you can supply a good first guess of the solution. Try it. Then read the more advanced material in §9.7 for some more complicated, but globally more convergent, alternatives.

Avoiding implementations for specific computers, this book must generally steer clear of interactive or graphics-related routines. We make an exception right now. The following routine, which produces a crude function plot with interactively scaled axes, can save you a lot of grief as you enter the world of root finding.

#include < stdio.h >
#define ISCR 60            Number of horizontal and vertical positions in display.
#define JSCR 21
#define BLANK ' '
#define ZERO '-'
#define YY 'l'
#define XX '-'
#define FF 'x'

void scrsho(float (*fx)(float))
For interactive CRT terminal use. Produce a crude graph of the function fx over the prompted-for interval x1, x2. Query for another plot until the user signals satisfaction.
{

int jz,j,i;
float ysml,ybig,x2,x1,x,dyj,dx,y[ISCR+1];
char scr[ISCR+1][JSCR+1];

for (;;) {
printf("\nEnter x1 x2 (xl=x2 to stop):\n");  Query for another plot, quit if x1=x2.
scanf("%f %f",&x1,&x2);
if (x1 == x2) break;
for (j=l;j<=JSCR;j++)                Fill vertical sides with character '1'.
scr[i][j]=scr[ISCR][j]=YY;
for (i=2;i<=(ISCR-1);i++) {
scr[i][1]=scr[i][JSCR]=XX;      Fill top, bottom with character '-'.
for (j=2;j<=(JSCR-1);j++)       Fill interior with blanks.
scr[i][j]=BLANK;
}
dx=(x2-x1)/(ISCR-1);
x=x1;
ysml=ybig=0.0;                  Limits will include 0.
for (i=l;i<=ISCR;i++) {         Evaluate the function at equal intervals.
y[i] =(*fx)(x);            Find the largest and smallest values.
if (y[i] < ysml) ysml=y[i];
if (y[i] > ybig) ybig=y[i];
x += dx;
}
if (ybig == ysml) ybig=ysml+1.0;    Be sure to separate top and bottom.
dyj=(JSCR-1)/(ybig-ysml);
jz=l-(int) (ysml*dyj);              Note which row corresponds to 0.
for (i=l;i<=ISCR;i++) {             Place an indicator at function height and 0.
scr[i][jz] =ZERO;
j=l+(int) ((y[i]-ysml)*dyj);
scr[i][j]=FF;
}
printf(" %10.3f ",ybig);
for (i=l;i<=ISCR;i++) printf("%c",scr[i][JSCR]);
printf("\n");
for (j=(JSCR-1);j>=2;j--) {           Display.
Printf("%12s"," ");
for (i=l;i<=ISCR;i++) printf("%c",scr[i][j]);
printf("\n");
}
printf(" %10.3f ",ysml);
for (i=i;i<=ISCR;i++) printf("%c",scr[i][1]);
printf("\n");
printf("%8s %10.3f %44s %10.3f\n"," ",xl," ",x2);
}
}

...

Read More Show Less

Table of Contents

Preface to the Second Edition
Preface to the First Edition
Legal Matters
Computer Programs by Chapter and Section
1 Preliminaries 1
2 Solution of Linear Algebraic Equations 32
3 Interpolation and Extrapolation 105
4 Integration of Functions 129
5 Evaluation of Functions 165
6 Special Functions 212
7 Random Numbers 274
8 Sorting 329
9 Root Finding and Nonlinear Sets of Equations 347
10 Minimization or Maximization of Functions 394
11 Eigensystems 456
12 Fast Fourier Transform 496
13 Fourier and Spectral Applications 537
14 Statistical Description of Data 609
15 Modeling of Data 656
16 Integration of Ordinary Differential Equations 707
17 Two Point Boundary Value Problems 753
18 Integral Equations and Inverse Theory 788
19 Partial Differential Equations 827
20 Less-Numerical Algorithms 889
References 926
Appendix A: Table of Prototype Declarations 930
Appendix B: Utility Routines 940
Appendix C: Complex Arithmetic 948
Index of Programs and Dependencies 951
General Index 965
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)