29:
186:). The writing style is accessible and has an informal tone. The emphasis is on understanding the underlying basics of techniques, not on the refinements that may, in practice, be needed to achieve optimal performance and reliability. Few results are proved with any degree of rigor, although the ideas behind proofs are often sketched, and references are given. Importantly, virtually all methods that are discussed are also implemented in a
308:
you will come to grief one way or the other if you use numerical routines you do not understand. They attempt to give you enough mathematical detail that you understand the routines they present, in enough depth that you can diagnose problems when they occur, and make more sophisticated choices about replacements when the NR routines run out of steam. Problems will occur because
307:
Numerical
Recipes does not claim to be a numerical analysis textbook, and it makes a point of noting that its authors are (astro-)physicists and engineers rather than analysts, and so share the motivations and impatience of the book's intended audience. The declared premise of the NR authors is that
270:
books were increasingly valued more for their explanatory text than for their code examples, the authors significantly expanded the scope of the book, and significantly rewrote a large part of the text. They continued to include code, still printed in the book, now in C++, for every method discussed.
221:
The first publication was in 1986 with the title,”Numerical
Recipes, The Art of Scientific Computing”, containing code in both Fortran and Pascal; an accompanying book, “Numerical Recipes Example Book (Pascal)” was first published in 1985. (A preface note in “Examples" mentions that the main book was
230:
If there is a single dominant theme in this book, it is that practical methods of numerical computation can be simultaneously efficient, clever, and — important — clear. The alternative viewpoint, that efficient computational methods must necessarily be so arcane and complex as to be useful only in
362:
Another line of criticism centers on the coding style of the books, which strike some modern readers as "Fortran-ish", though written in contemporary, object-oriented C++. The authors have defended their very terse coding style as necessary to the format of the book because of space limitations and
291:
Numerical
Recipes is a single volume that covers a very broad range of algorithms. Unfortunately that format skewed the choice of algorithms towards simpler and shorter early algorithms which were not as accurate, efficient or stable as later more complex algorithms. The first edition had also some
333:
Copyright does not protect ideas, but only the expression of those ideas in a particular form. In the case of a computer program, the ideas consist of the program's methodology and algorithm, including the necessary sequence of steps adopted by the programmer. The expression of those ideas is the
299:
The rebuttal does not, however, cover criticisms regarding lack of mentions to code limitations, boundary conditions, and more modern algorithms, another theme in Snyder's comment compilation. A precision issue in Bessel functions has persisted to the third edition according to Pavel
Holoborodko.
321:
authors. A license to use the code is given with the purchase of a book, but the terms of use are highly restrictive. For example, programmers need to make sure NR code cannot be extracted from their finished programs and used – a difficult requirement with dubious enforceability.
854:
Buy the book if you feel like it, learn from it, but use a library like the GNU Scientific
Library instead. Especially if you ever want other people to use your work. The NR license is the RIAA of the scientific
271:
The Third
Edition was also released as an electronic book, eventually made available on the Web for free (with nags) or by paid or institutional subscription (with faster, full access and no nags).
338:... If you analyze the ideas contained in a program, and then express those ideas in your own completely different implementation, then that new program implementation belongs to you.
296:. They attributed this to people using outdated versions of the code, bugs in other parts of the code and misuse of routines which require some understanding to use correctly.
263:
the more mathematical numerical analysts and the larger community using integrated environments. The Second
Edition versions occupied a stable role in this niche environment.
303:
Despite criticism by numerical analysts, engineers and scientists generally find the book conveniently broad in scope. Norman Gray concurs in the following quote:
292:
minor bugs, which were fixed in later editions; however according to the authors for years they were encountering on the internet rumors that
Numerical Recipes is
596:
639:
Press, William H.; and
Teukolsky, Saul A.; "Numerical Recipes: Does This Paradigm Have a Future?," Computers in Physics, 11, 416 (1997).
266:
By the mid-2000s, the practice of scientific computing had been radically altered by the mature
Internet and Web. Recognizing that their
222:
also published in 1985, but the official note in that book says 1986.) Supplemental editions followed with code in Pascal, BASIC, and C.
226:
took, from the start, an opinionated editorial position at odds with the conventional wisdom of the numerical analysis community:
707:
691:
661:
652:
Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). "Preface to the Third Edition".
235:
However, as it turned out, the 1980s were fertile years for the "black box" side, yielding important libraries such as
621:
549:
535:
517:
499:
481:
463:
445:
427:
409:
383:
974:
134:. In various editions, the books have been in print since 1986. The most recent edition was published in 2007.
979:
417:
391:
201:
books are historically the all-time best-selling books on scientific programming methods. In recent years,
818:
989:
371:
The books differ by edition (1st, 2nd, and 3rd) and by the computer language in which the code is given.
984:
561:
194:
87:
608:
Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1986). "Preface".
209:(e.g., 3962 times in the year 2008). And as of the end of 2017, the book had over 44000 citations on
255:(with code in C, Fortran-77, and Fortran-90) were published, it was clear that the constituency for
489:
399:
760:
183:
343:
190:, with the code printed in the book. Each variant of the book is keyed to a specific language.
167:
163:
205:
books have been cited in the scientific literature more than 3000 times per year according to
954:(links to C, Fortran 77, and Fortran 90 versions in various formats, plus other hosted books)
259:
was by no means the majority of scientists doing computation, but only that slice that lived
155:
55:
849:
958:
206:
187:
896:
680:
Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007).
8:
179:
872:
147:
119:
77:
741:
687:
657:
617:
610:
545:
531:
513:
495:
477:
459:
441:
423:
405:
379:
274:
In 2015 Numerical Recipes sold its historic two-letter domain name nr.com and became
131:
127:
59:
51:
175:
123:
47:
941:
580:
777:
329:
does include the following statement regarding copyrights on computer programs:
210:
171:
159:
724:
968:
961:, full four-page mirror by Lek-Heng Lim (includes discussion of alternatives)
836:
807:(Date given is first archive.org date for the page on the old nr.com domain.)
347:
151:
28:
946:
790:
681:
640:
248:
951:
507:
471:
16:
Generic title of a series of books on algorithms and numerical analysis
776:(Date estimated by Editor's remark. Last update circa September 1999;
115:
708:"Two letter domain NR.com sold : Rebrands to Numerical.Recipes"
584:
877:
317:
The code listings are copyrighted and commercially licensed by the
656:(3rd ed.). New York: Cambridge University Press. p. xi.
435:
387:
679:
651:
607:
542:
Numerical Recipes. The Art of Scientific Computing, 3rd Edition
376:
Numerical Recipes. The Art of Scientific Computing, 1st Edition
244:
240:
553:
525:
453:
952:
Older versions of Numerical Recipes available electronically
823:
Theory and Modelling Resources Cookbook, www.astro.gla.ac.uk
98:
236:
146:
books cover a range of topics that include both classical
934:
510:. The Art of Parallel Scientific Computing, 2nd Edition
686:(3rd ed.). New York: Cambridge University Press.
366:
251:. By the early 1990s, when Second Edition versions of
174:), statistical treatment of data, and a few topics in
927:
616:. New York: Cambridge University Press. p. xi.
683:Numerical Recipes: The Art of Scientific Computing
654:Numerical Recipes: The Art of Scientific Computing
612:Numerical Recipes: The Art of Scientific Computing
609:
22:Numerical Recipes: The Art of Scientific Computing
966:
935:Current electronic edition of Numerical Recipes
894:
675:
673:
528:. The Art of Scientific Computing, 2nd Edition
492:. The Art of Scientific Computing, 2nd Edition
474:. The Art of Scientific Computing, 2nd Edition
456:. The Art of Scientific Computing, 1st Edition
438:. The Art of Scientific Computing, 1st Edition
420:. The Art of Scientific Computing, 1st Edition
402:. The Art of Scientific Computing, 1st Edition
895:Galassi, Mark; Theiler, James; Gough, Brian.
114:is the generic title of a series of books on
897:"GNU Scientific Library -- Design document"
871:(Technical report). University of Calgary.
670:
758:
27:
876:
866:
754:
752:
750:
350:library was needed as a substitute for
967:
890:
888:
791:"Numerical Recipes Distressing Rumors"
719:
717:
747:
635:
633:
867:Hornbeck, Haysn (January 28, 2020).
783:
885:
714:
367:Titles in the series (partial list)
243:, and integrated environments like
231:"black box" form, we firmly reject.
13:
847:
630:
14:
1001:
919:
166:, and so on), signal processing (
816:
761:"Why not use Numerical Recipes?"
740:(updated for the third edition;
33:Cover of the third (C++) edition
869:Fast Cubic Spline Interpolation
860:
841:
829:
810:
959:Why not use Numerical Recipes?
700:
645:
601:
590:
574:
1:
759:Van Snyder, W. (March 1991).
567:
342:One early motivation for the
835:Numerical Recipes Web site,
725:"Reviews: Numerical Recipes"
281:
193:According to the publisher,
130:, William T. Vetterling and
7:
850:"Boycott Numerical Recipes"
560:The books are published by
137:
10:
1006:
937:(limited free page views).
562:Cambridge University Press
312:
286:
216:
195:Cambridge University Press
88:Cambridge University Press
587:, Cited Reference Search.
93:
83:
73:
65:
43:
38:
26:
466:. (supplemental edition)
357:
184:support vector machines
975:Computer science books
837:Numerical Recipes Code
344:GNU Scientific Library
340:
310:
233:
164:differential equations
980:Engineering textbooks
524:Numerical Recipes in
506:Numerical Recipes in
488:Numerical Recipes in
470:Numerical Recipes in
452:Numerical Recipes in
434:Numerical Recipes in
416:Numerical Recipes in
398:Numerical Recipes in
331:
305:
228:
56:William T. Vetterling
901:GNU Operating System
207:ISI Web of Knowledge
188:programming language
819:"Numerical Recipes"
334:program source code
180:hidden Markov model
23:
990:Numerical software
848:Weiner, Benjamin.
710:. 14 October 2015.
148:numerical analysis
120:numerical analysis
78:Numerical analysis
21:
985:Mathematics books
942:Numerical Recipes
795:numerical.recipes
765:stat.uchicago.edu
693:978-0-521-88068-8
663:978-0-521-88068-8
363:for readability.
352:Numerical Recipes
327:Numerical Recipes
319:Numerical Recipes
276:numerical.recipes
268:Numerical Recipes
257:Numerical Recipes
253:Numerical Recipes
224:Numerical Recipes
203:Numerical Recipes
199:Numerical Recipes
144:Numerical Recipes
132:Brian P. Flannery
128:Saul A. Teukolsky
111:Numerical Recipes
107:
106:
60:Brian P. Flannery
52:Saul A. Teukolsky
997:
931:
930:
928:Official website
913:
912:
910:
908:
892:
883:
882:
880:
864:
858:
857:
845:
839:
833:
827:
826:
814:
808:
806:
804:
802:
787:
781:
775:
773:
771:
756:
745:
739:
737:
735:
721:
712:
711:
704:
698:
697:
677:
668:
667:
649:
643:
637:
628:
627:
615:
605:
599:
598:, Google Scholar
594:
588:
585:Web of Knowledge
578:
337:
277:
176:machine learning
124:William H. Press
103:
100:
48:William H. Press
31:
24:
20:
1005:
1004:
1000:
999:
998:
996:
995:
994:
965:
964:
957:W. Van Snyder,
926:
925:
922:
917:
916:
906:
904:
893:
886:
865:
861:
846:
842:
834:
830:
815:
811:
800:
798:
797:. February 1999
789:
788:
784:
769:
767:
757:
748:
733:
731:
723:
722:
715:
706:
705:
701:
694:
678:
671:
664:
650:
646:
638:
631:
624:
606:
602:
595:
591:
581:Thomson Reuters
579:
575:
570:
369:
360:
335:
315:
289:
284:
275:
219:
168:Fourier methods
140:
97:
39:
34:
17:
12:
11:
5:
1003:
993:
992:
987:
982:
977:
963:
962:
955:
949:
938:
932:
921:
920:External links
918:
915:
914:
884:
859:
840:
828:
817:Gray, Norman.
809:
782:
746:
713:
699:
692:
669:
662:
644:
629:
622:
600:
589:
572:
571:
569:
566:
558:
557:
539:
521:
503:
485:
467:
449:
431:
413:
395:
368:
365:
359:
356:
314:
311:
294:"full of bugs"
288:
285:
283:
280:
218:
215:
211:Google Scholar
160:linear algebra
139:
136:
105:
104:
95:
91:
90:
85:
81:
80:
75:
71:
70:
67:
63:
62:
45:
41:
40:
36:
35:
32:
15:
9:
6:
4:
3:
2:
1002:
991:
988:
986:
983:
981:
978:
976:
973:
972:
970:
960:
956:
953:
950:
948:
944:
943:
939:
936:
933:
929:
924:
923:
902:
898:
891:
889:
879:
874:
870:
863:
856:
851:
844:
838:
832:
824:
820:
813:
796:
792:
786:
779:
766:
762:
755:
753:
751:
743:
730:
726:
720:
718:
709:
703:
695:
689:
685:
684:
676:
674:
665:
659:
655:
648:
642:
636:
634:
625:
623:0-521-30811-9
619:
614:
613:
604:
597:
593:
586:
582:
577:
573:
565:
563:
555:
551:
550:0-521-88068-8
547:
543:
540:
537:
536:0-521-75033-4
533:
529:
527:
522:
519:
518:0-521-57439-0
515:
511:
509:
504:
501:
500:0-521-43108-5
497:
493:
491:
486:
483:
482:0-521-43064-X
479:
475:
473:
468:
465:
464:0-521-40689-7
461:
457:
455:
450:
447:
446:0-521-38330-7
443:
439:
437:
432:
429:
428:0-521-37516-9
425:
421:
419:
414:
411:
410:0-521-35465-X
407:
403:
401:
396:
393:
389:
385:
384:0-521-30811-9
381:
377:
374:
373:
372:
364:
355:
353:
349:
345:
339:
330:
328:
323:
320:
309:
304:
301:
297:
295:
279:
272:
269:
264:
262:
258:
254:
250:
246:
242:
238:
232:
227:
225:
214:
212:
208:
204:
200:
196:
191:
189:
185:
181:
177:
173:
169:
165:
161:
157:
153:
152:interpolation
149:
145:
135:
133:
129:
125:
121:
117:
113:
112:
102:
96:
92:
89:
86:
82:
79:
76:
72:
68:
64:
61:
57:
53:
49:
46:
42:
37:
30:
25:
19:
947:Google Books
940:
905:. Retrieved
900:
868:
862:
853:
843:
831:
822:
812:
799:. Retrieved
794:
785:
768:. Retrieved
764:
732:. Retrieved
729:www.quut.com
728:
702:
682:
653:
647:
611:
603:
592:
576:
559:
541:
523:
505:
487:
469:
451:
433:
415:
397:
375:
370:
361:
351:
341:
332:
326:
324:
318:
316:
306:
302:
298:
293:
290:
273:
267:
265:
260:
256:
252:
234:
229:
223:
220:
202:
198:
192:
143:
141:
110:
109:
108:
18:
778:older clone
346:was that a
249:Mathematica
156:integration
969:Categories
907:January 5,
878:2001.09253
855:community.
801:28 January
770:28 January
734:28 January
568:References
508:Fortran 90
472:Fortran 77
116:algorithms
74:Discipline
903:. GNU.org
742:clone URL
641:Preprint.
325:However,
282:Reception
278:instead.
172:filtering
99:numerical
84:Publisher
544:, 2007,
530:, 2002,
512:, 1996,
494:, 1992,
476:, 1992,
458:, 1991,
440:, 1989,
422:, 1989,
404:, 1988,
378:, 1986,
138:Overview
101:.recipes
66:Language
436:Fortran
388:Fortran
313:License
287:Content
261:between
217:History
94:Website
69:English
690:
660:
620:
548:
534:
516:
498:
480:
462:
444:
426:
418:Pascal
408:
392:Pascal
382:
336:
245:MATLAB
241:LAPACK
197:, the
44:Author
873:arXiv
556:code)
454:BASIC
358:Style
909:2019
803:2019
772:2019
736:2019
688:ISBN
658:ISBN
618:ISBN
546:ISBN
532:ISBN
514:ISBN
496:ISBN
478:ISBN
460:ISBN
442:ISBN
424:ISBN
406:ISBN
390:and
380:ISBN
348:free
247:and
239:and
237:BLAS
142:The
118:and
58:and
945:at
554:C++
552:. (
526:C++
386:. (
122:by
971::
899:.
887:^
852:.
821:.
793:.
763:.
749:^
727:.
716:^
672:^
632:^
583:,
564:.
354:.
213:.
182:,
170:,
162:,
158:,
154:,
126:,
54:,
50:,
911:.
881:.
875::
825:.
805:.
780:)
774:.
744:)
738:.
696:.
666:.
626:.
538:.
520:.
502:.
490:C
484:.
448:.
430:.
412:.
400:C
394:)
178:(
150:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.