Numerical Recipes

«Чисельні рецепти: Мистецтво наукових розрахунків»
АвторВільям Пресс,
Саул Текольський,
Вільям Веттерлінг,
Браян Фланнері
Назва мовою оригіналуNumerical Recipes: The Art of Scientific Computing
Моваанглійська
Темачисельні методи, алгоритми
Жанрпідручник, довідник
ВидавництвоCambridge University Press
Видано1986

«Numerical Recipes: The Art of Scientific Computing» (англ. Чисельні рецепти: Мистецтво наукових розрахунків) — це загальна назва серії книг про алгоритми та чисельний аналіз, написаних Вільямом Прессом, Саулом Текольським, Вільямом Веттерлінгом і Браяном Фланнері. У різних виданнях книги виходили з 1986 року. Останнє видання вийшло у 2007 році. Книга є одним з найбільш вживаних і цитованих підручників з чисельних методів.

Зміст

«Чисельні рецепти» охоплюють низку тем, які включають як класичний чисельний аналіз (інтерполяція, інтегрування, лінійна алгебра, диференціальні рівняння тощо), обробку сигналів (методи Фур'є, фільтрування), статистичну обробку даних, так і кілька тем з машинного навчання (прихована марковська модель, метод опорних векторів). Стиль написання доступний і має неформальний тон. Акцент робиться на розумінні основних ідей, а не на вдосконаленнях, які на практиці можуть знадобитися для досягнення оптимальної продуктивності та надійності. Для більшості результатів не дається строгих доведень, хоча часто наводяться ідеї доказів і посилання на більш спеціалізовану літературу.

Майже всі обговорювані методи реалізовані на мові програмування, і код наведений у книзі. В різних виданнях використовуються різні мови програмування: Fortran, Pascal, C, BASIC, C++.

Історія

Перше видання книги вийшло 1986 року і містило код на мовах Fortran і Pascal. Супровідна книга, «Numerical Recipes Example Book (Pascal)» («Книга прикладів числових рецептів (Паскаль)») була вперше опублікована 1985 року. «Чисельні рецепти» з самого початку зайняли упевнену позицію щодо пояснення сутності всіх використаних алгоритмів:

Якщо в цій книзі є одна основна тема, то це те, що практичні методи чисельних обчислень можуть бути водночас ефективними, розумними і, що важливо, зрозумілими. Ми рішуче відкидаємо альтернативну точку зору, згідно з якою ефективні обчислювальні методи обов’язково повинні бути настільки таємничими та складними, щоб бути корисними лише у формі «чорної скриньки»[1].
Оригінальний текст (англ.)
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 "black box" form, we firmly reject.

Однак 1980-ті роки стали часом триумфу «чорних скриньок», принесши такі важливі бібліотеки, як BLAS і LAPACK, і такі інтегровані середовища, як MATLAB і Mathematica. Коли на початку 1990-х років вийшло друге видання «Numerical Recipes», авторам стало зрозуміло, що читачами книжки є аж ніяк не більшість користвачів чисельних методів, а лише ті науковці, які не можуть обмежитись «чорними скриньками» з інтегрованого середовища, але й не хочуть повної математичної строгості. Друге видання зайняло міцну позицію у цьому нішевому середовищі[2].

До середини 2000-х років практика наукового обчислення була радикально змінена розвитком Інтернету. Усвідомлюючи, що їхні книги «Числові рецепти» набагато більше цінуються за пояснювальний текст, ніж за приклади коду, автори значно розширили обсяг книги та переписали значну частину тексту. Однак автори продовжили наводити код для кожного обговорюваного методу, тепер на C++[3]. Третє видання вийшло також у вигляді електронної книги[4], доступної в Інтернеті.

У 2015 році «Numerical Recipes» продали своє історичне дволітерне доменне ім’я nr.com[5] і переїхали на адресу numerical.recipes.

Прийняття

Станом на 2022 рік книга мала понад 125 000 цитувань у Google Scholar[6].

Видання

  • Numerical Recipes. The Art of Scientific Computing, 1st Edition, 1986, ISBN 0-521-30811-9. (Fortran and Pascal)
  • Numerical Recipes in C. The Art of Scientific Computing, 1st Edition, 1988, ISBN 0-521-35465-X.
  • Numerical Recipes in Pascal. The Art of Scientific Computing, 1st Edition, 1989, ISBN 0-521-37516-9.
  • Numerical Recipes in Fortran. The Art of Scientific Computing, 1st Edition, 1989, ISBN 0-521-38330-7.
  • Numerical Recipes in BASIC. The Art of Scientific Computing, 1st Edition, 1991, ISBN 0-521-40689-7. (supplemental edition)
  • Numerical Recipes in Fortran. The Art of Scientific Computing, 2nd Edition, 1992, ISBN 0-521-43064-X.
  • Numerical Recipes in C. The Art of Scientific Computing, 2nd Edition, 1992, ISBN 0-521-43108-5.
  • Numerical Recipes in Fortran 90. The Art of Parallel Scientific Computing, 2nd Edition, 1996, ISBN 0-521-57439-0.
  • Numerical Recipes in C++. The Art of Scientific Computing, 2nd Edition, 2002, ISBN 0-521-75033-4.
  • Numerical Recipes. The Art of Scientific Computing, 3rd Edition, 2007, ISBN 0-521-88068-8. (C++ code)

Посилання

  1. Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1986). Preface. Numerical Recipes: The Art of Scientific Computing. New York: Cambridge University Press. с. xi. ISBN 0-521-30811-9.
  2. Press, William H.; and Teukolsky, Saul A.; "Numerical Recipes: Does This Paradigm Have a Future?," Computers in Physics, 11, 416 (1997). Preprint.
  3. Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). Preface to the Third Edition. Numerical Recipes: The Art of Scientific Computing (вид. 3rd). New York: Cambridge University Press. с. xi. ISBN 978-0-521-88068-8.
  4. Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). Numerical Recipes: The Art of Scientific Computing (вид. 3rd). New York: Cambridge University Press. ISBN 978-0-521-88068-8. Архів оригіналу за 3 лютого 2021. Процитовано 3 грудня 2022.
  5. Two letter domain NR.com sold : Rebrands to Numerical.Recipes. 14 жовтня 2015.
  6. Numerical recipes 3rd edition: The art of scientific computing, Google Scholar