Числовые рецепты - Numerical Recipes

Числовые рецепты: искусство научных вычислений
NumericalRecipes3rdEdCover.jpg
Обложка третьего (C ++) издания

АвторУильям Х. Пресс, Саул А. Теукольский, Уильям Т. Веттерлинг и Брайан П. Фланнери
Языканглийский
ДисциплинаЧисленный анализ
ИздательИздательство Кембриджского университета
Интернет сайтчисловой.recipes

Числовые рецепты общее название серии книг по алгоритмы и численный анализ от Уильям Х. Пресс, Саул А. Теукольский, Уильям Т. Веттерлинг и Брайан П. Фланнери. В различных изданиях книги издаются с 1986 года. Последнее издание вышло в 2007 году. В 2015 году компания Numerical Recipes продала свое историческое двухбуквенное доменное имя nr.com[1] и стал числовые. рецепты вместо.

Обзор

В Числовые рецепты книги охватывают широкий круг тем, включая как классические численный анализ (интерполяция, интеграция, линейная алгебра, дифференциальные уравнения и т. д.), обработка сигналов (Методы Фурье, фильтрация ), статистическая обработка данных и несколько тем в машинное обучение (скрытая марковская модель, опорные векторные машины ). Стиль письма доступен и имеет неформальный тон. Акцент делается на понимании базовых методов, а не на уточнениях, которые на практике могут потребоваться для достижения оптимальной производительности и надежности. Немногие результаты доказываются с какой-либо степенью строгости, хотя идеи, лежащие в основе доказательств, часто набрасываются, и даются ссылки. Важно отметить, что практически все обсуждаемые методы также реализованы в язык программирования, с кодом, напечатанным в книге. Каждая версия привязана к определенному языку.

По словам издателя, Издательство Кембриджского университета, то Числовые рецепты Книги исторически являются самыми продаваемыми книгами по методам научного программирования. За последние годы, Числовые рецепты книги цитировались в научной литературе более 3000 раз в год по данным Сеть знаний ISI (например, 3962 раза в 2008 году).[2] А по состоянию на конец 2017 года у книги было более 44000 цитирований на Google ученый.[3]

История

Первая публикация вышла в 1986 году под названием «Числовые рецепты, искусство научных вычислений» и содержала код как на Фортране, так и на Паскале; сопроводительная книга «Книга примеров численных рецептов (Паскаль)» была впервые опубликована в 1985 году. (В предисловии к «Примеры» упоминается, что основная книга также была опубликована в 1985 году, но в официальном примечании к этой книге говорится о 1986 году). за которым следует код на Паскале, БЕЙСИКЕ и C. Числовые рецепты с самого начала занял самоуверенную редакционную позицию, противоречащую общепринятому мнению сообщества численного анализа:

Если и есть одна доминирующая тема в этой книге, так это то, что практические методы численных вычислений могут быть одновременно эффективными, умными и, что важно, понятными. Мы категорически отвергаем альтернативную точку зрения, согласно которой эффективные вычислительные методы обязательно должны быть настолько загадочными и сложными, чтобы быть полезными только в форме «черного ящика».[4]

Однако, как выяснилось, 1980-е были плодотворными годами для «черного ящика», когда появились важные библиотеки, такие как BLAS и ЛАПАК и интегрированные среды, такие как MATLAB и Mathematica. К началу 1990-х, когда версии второго издания Числовые рецепты (с кодом на C, Fortran-77 и Fortran-90), было ясно, что Числовые рецепты отнюдь не большинство ученых, занимавшихся вычислениями, а только та часть, которая жила между большее количество математических аналитиков и более широкое сообщество, использующее интегрированные среды. Версии Second Edition заняли стабильную роль в этой нишевой среде.[5]

К середине 2000-х годов практика научных вычислений была радикально изменена зрелым Интернетом и Сетью. Признавая, что их Числовые рецепты книги все больше ценились за пояснительный текст, чем за примеры кода, авторы значительно расширили объем книги и существенно переписали большую часть текста. Они продолжали включать код, все еще напечатанный в книге, теперь уже на C ++, для каждого обсуждаемого метода.[6] Третье издание также было выпущено в виде электронной книги,[7] в конечном итоге стали доступны в Интернете бесплатно (с ограниченным количеством просмотров страниц) или по платной или институциональной подписке (с неограниченным количеством просмотров страниц).

Критика

Численные рецепты - это единый том, охватывающий очень широкий спектр алгоритмов. К сожалению, этот формат исказил выбор алгоритмов в сторону более простых и коротких ранних алгоритмов, которые не были такими точными, эффективными или стабильными, как более поздние более сложные алгоритмы.[8][9][10] В первом выпуске также были некоторые незначительные ошибки, которые были исправлены в более поздних выпусках; однако, по словам авторов, в течение многих лет в Интернете ходили слухи о том, что числовые рецепты "полно ошибок". Они приписали это людям, использующим устаревшие версии кода, ошибкам в других частях кода и неправильному использованию подпрограмм, которые требуют некоторого понимания для правильного использования.[11]

Списки кодов защищены авторским правом и имеют коммерческую лицензию Числовые рецепты авторы.[12] Однако, Числовые рецепты включает следующее заявление об авторских правах на компьютерные программы:

Авторское право не защищает идеи, а только выражение этих идей в определенной форме. В случае компьютерной программы идеи состоят из методологии и алгоритма программы, включая необходимую последовательность шагов, принятых программистом. Выражением этих идей является исходный код программы. ... Если вы анализируете идеи, содержащиеся в программе, а затем выражаете эти идеи в своей собственной, совершенно другой реализации, тогда эта новая реализация программы принадлежит вам.[7]

Одна ранняя мотивация для Научная библиотека GNU это был свободный библиотека была нужна как замена Числовые рецепты.[13]

Другая линия критики сосредоточена на стиле кодирования книг, который кажется некоторым современным читателям "фортрановским", хотя и написан на современном объектно-ориентированном C ++.[13]. Авторы отстаивали свой очень краткий стиль кодирования как необходимый для формата книги из-за ограниченного пространства и для удобства чтения.[5]

Названия в сериале (неполный список)

Книги различаются по изданию (1-е, 2-е и 3-е) и компьютерному языку, на котором дан код.

  • Числовые рецепты. Искусство научных вычислений, 1-е издание, 1986, ISBN  0-521-30811-9. (ФОРТРАН и Паскаль)
  • Числовые рецепты. Искусство научных вычислений, 3-е издание, 2007, ISBN  0-521-88068-8. (Код C ++)
  • Числовые рецепты в БАЗОВЫЙ. Искусство научных вычислений, 1-е издание, 1991, ISBN  0-521-40689-7. (дополнительное издание)
  • Числовые рецепты в C. Искусство научных вычислений, 1-е издание, 1988, ISBN  0-521-35465-X.
  • Числовые рецепты в C. Искусство научных вычислений, 2-е издание, 1992, ISBN  0-521-43108-5.
  • Числовые рецепты в C ++. Искусство научных вычислений, 2-е издание, 2002, ISBN  0-521-75033-4.
  • Числовые рецепты в Фортран. Искусство научных вычислений, 1-е издание, 1989, ISBN  0-521-38330-7.
  • Числовые рецепты в Фортран. Искусство научных вычислений, 2-е издание, 1992, ISBN  0-521-43064-X.
  • Числовые рецепты в Фортран 90. Искусство параллельных научных вычислений, 2-е издание, 1996, ISBN  0-521-57439-0.
  • Числовые рецепты в Паскаль. Искусство научных вычислений, 1-е издание, 1989, ISBN  0-521-37516-9.

Книги изданы Издательство Кембриджского университета.

использованная литература

  1. ^ "Двухбуквенный домен NR.com продан: переименован в Numerical.Recipes". 14 октября 2015 г.
  2. ^ Thomson Reuters, Сеть знаний, Цитируемый справочный поиск.
  3. ^ [1], Google ученый
  4. ^ Press, William H .; Teukolsky, Saul A .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (1986). "Предисловие". Числовые рецепты: искусство научных вычислений. Нью-Йорк: Издательство Кембриджского университета. п. xi. ISBN  0-521-30811-9.
  5. ^ а б Press, William H .; и Teukolsky, Saul A .; «Числовые рецепты: есть ли будущее у этой парадигмы?», «Компьютеры в физике», 11, 416 (1997). Препринт.
  6. ^ Press, William H .; Teukolsky, Saul A .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (2007). «Предисловие к третьему изданию». Числовые рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк: Издательство Кембриджского университета. п. xi. ISBN  978-0-521-88068-8.
  7. ^ а б Press, William H .; Teukolsky, Saul A .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (2007). Числовые рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк: Издательство Кембриджского университета. ISBN  978-0-521-88068-8.
  8. ^ «Обзоры: Цифровые рецепты». www.quut.com. Получено 28 января 2019.клонировать URL
  9. ^ Ван Снайдер, В. "Почему бы не использовать числовые рецепты?". www.uwyo.edu. Получено 28 января 2019.клонировать URL
  10. ^ «Альтернативы числовым рецептам». Архивировано из оригинал 18 января 2016 г.
  11. ^ «Числовые рецепты, тревожащие слухи». числовые. рецепты. Получено 28 января 2019.
  12. ^ Веб-сайт Numerical Recipes, Цифровой код рецептов
  13. ^ а б Галасси, Марк; Тайлер, Джеймс; Гоф, Брайан. «Научная библиотека GNU - Проектный документ». Операционная система GNU. GNU.org. Получено 5 января, 2019.

внешние ссылки