stringtranslate.com

Recetas Numéricas

Numerical Recipes es el título genérico de una serie de libros sobre algoritmos y análisis numérico de William H. Press , Saul A. Teukolsky , William T. Vetterling y Brian P. Flannery . En varias ediciones, los libros se han impreso desde 1986. La edición más reciente se publicó en 2007.

Descripción general

Los libros de Recetas numéricas cubren una variedad de temas que incluyen tanto análisis numérico clásico ( interpolación , integración , álgebra lineal , ecuaciones diferenciales , etc.), procesamiento de señales ( métodos de Fourier , filtrado ), tratamiento estadístico de datos y algunos temas de Aprendizaje automático ( modelo oculto de Markov , máquinas de vectores de soporte ). El estilo de escritura es accesible y tiene un tono informal. El énfasis está en comprender los conceptos básicos subyacentes de las técnicas, no en los refinamientos que, en la práctica, pueden ser necesarios para lograr un rendimiento y una confiabilidad óptimos. Son pocos los resultados que se prueban con algún grado de rigor, aunque las ideas detrás de las pruebas a menudo se esbozan y se dan referencias. Es importante destacar que prácticamente todos los métodos que se analizan también se implementan en un lenguaje de programación , con el código impreso en el libro. Cada versión está adaptada a un idioma específico.

Según el editor Cambridge University Press , los libros Numerical Recipes son históricamente los libros más vendidos de todos los tiempos sobre métodos de programación científica. En los últimos años, los libros de Recetas Numéricas han sido citados en la literatura científica más de 3.000 veces al año según ISI Web of Knowledge (por ejemplo, 3.962 veces en el año 2008). [1] Y a finales de 2017, el libro tenía más de 44000 citas en Google Scholar . [2]

Historia

La primera publicación fue en 1986 con el título “Recetas numéricas, el arte de la computación científica”, que contenía código tanto en Fortran como en Pascal; un libro adjunto, “Libro de ejemplos de recetas numéricas (Pascal)” se publicó por primera vez en 1985. (Una nota de prefacio en “Ejemplos” menciona que el libro principal también se publicó en 1985, pero la nota oficial de ese libro dice 1986). Siguieron ediciones con código en Pascal, BASIC y C. Numerical Recipes adoptó, desde el principio, una posición editorial obstinada en desacuerdo con la sabiduría convencional de la comunidad de análisis numérico:

Si hay un único tema dominante en este libro es que los métodos prácticos de cálculo numérico pueden ser a la vez eficientes, inteligentes y, lo que es más importante, claros. Rechazamos firmemente el punto de vista alternativo, de que los métodos computacionales eficientes deben ser necesariamente tan arcanos y complejos como para ser útiles sólo en forma de "caja negra". [3]

Sin embargo, resultó que la década de 1980 fue fértil para el lado de la "caja negra", produciendo bibliotecas importantes como BLAS y LAPACK , y entornos integrados como MATLAB y Mathematica . A principios de la década de 1990, cuando se publicaron las versiones de la segunda edición de Numerical Recipes (con código en C, Fortran-77 y Fortran-90), estaba claro que el electorado de Numerical Recipes no era de ninguna manera la mayoría de los científicos que realizaban cálculos. pero sólo esa porción que vivía entre los analistas numéricos más matemáticos y la comunidad más amplia que utilizaba entornos integrados. Las versiones de la Segunda Edición ocuparon un papel estable en este entorno de nicho. [4]

A mediados de la década de 2000, la práctica de la informática científica había sido alterada radicalmente por la Internet y la Web maduras. Al reconocer que sus libros de Recetas Numéricas eran cada vez más valorados más por su texto explicativo que por sus ejemplos de código, los autores ampliaron significativamente el alcance del libro y reescribieron significativamente una gran parte del texto. Continuaron incluyendo código, todavía impreso en el libro, ahora en C++, para cada método discutido. [5] La tercera edición también se lanzó como libro electrónico, [6] finalmente estuvo disponible en la Web de forma gratuita (con molestias) o mediante suscripción paga o institucional (con acceso completo, más rápido y sin molestias).

En 2015, Numerical Recipes vendió su histórico nombre de dominio de dos letras nr.com [7] y se convirtió numerical.recipesen su lugar.

Recepción

Contenido

Numerical Recipes es un volumen único que cubre una gama muy amplia de algoritmos. Desafortunadamente, ese formato sesgó la elección de algoritmos hacia algoritmos iniciales más simples y cortos que no eran tan precisos, eficientes o estables como algoritmos posteriores más complejos. [8] [9] La primera edición también tenía algunos errores menores, que se solucionaron en ediciones posteriores; Sin embargo, según los autores, durante años se han encontrado en Internet rumores de que Numerical Recipes está "lleno de errores" . Lo atribuyeron a personas que utilizan versiones obsoletas del código, errores en otras partes del código y mal uso de rutinas que requieren cierta comprensión para usarlas correctamente. [10]

Sin embargo, la refutación no cubre las críticas sobre la falta de menciones a las limitaciones del código, las condiciones de contorno y los algoritmos más modernos, otro tema en la compilación de comentarios de Snyder. [9] Según Pavel Holoborodko, un problema de precisión en las funciones de Bessel ha persistido hasta la tercera edición. [8]

A pesar de las críticas de los analistas numéricos, los ingenieros y científicos generalmente consideran que el alcance del libro es convenientemente amplio. [9] Norman Gray coincide en la siguiente cita: [11]

Numerical Recipes [nr] no pretende ser un libro de texto de análisis numérico, y hace hincapié en señalar que sus autores son (astro)físicos e ingenieros en lugar de analistas, y por lo tanto comparten las motivaciones y la impaciencia del público objetivo del libro. La premisa declarada por los autores de NR es que fracasarás de una forma u otra si utilizas rutinas numéricas que no entiendes. Intentan brindarle suficientes detalles matemáticos para que comprenda las rutinas que presentan, con suficiente profundidad para que pueda diagnosticar los problemas cuando ocurren y tomar decisiones más sofisticadas sobre los reemplazos cuando las rutinas NR pierden fuerza. Ocurrirán problemas porque [...]

Licencia

Los listados de códigos tienen derechos de autor y licencia comercial de los autores de Numerical Recipes . [12] Se otorga una licencia para usar el código con la compra de un libro, pero los términos de uso son altamente restrictivos. [13] Por ejemplo, los programadores deben asegurarse de que el código NR no pueda extraerse de sus programas terminados y usarse, un requisito difícil y de dudosa aplicabilidad. [14]

Sin embargo, Numerical Recipes incluye la siguiente declaración sobre los derechos de autor de los programas informáticos:

Los derechos de autor no protegen las ideas, sino sólo la expresión de esas ideas en una forma particular. En el caso de un programa de computadora, las ideas consisten en la metodología y el algoritmo del programa, incluida la secuencia necesaria de pasos adoptada por el programador. La expresión de esas ideas es el código fuente del programa  ... Si analiza las ideas contenidas en un programa y luego expresa esas ideas en su propia implementación completamente diferente, entonces esa nueva implementación del programa le pertenece. [6]

Una de las primeras motivaciones para la Biblioteca Científica GNU fue que se necesitaba una biblioteca gratuita como sustituto de las Recetas Numéricas . [15]

Estilo

Otra línea de crítica se centra en el estilo de codificación de los libros, que a algunos lectores modernos les parece "Fortran-ish", aunque están escritos en C++ contemporáneo orientado a objetos. [15] Los autores han defendido su estilo de codificación muy conciso como necesario para el formato del libro debido a limitaciones de espacio y para facilitar la lectura. [4]

Títulos de la serie (lista parcial)

Los libros se diferencian por la edición (primera, segunda y tercera) y por el lenguaje informático en el que se proporciona el código.

Los libros son publicados por Cambridge University Press .

Referencias

  1. ^ Thomson Reuters , Web of Knowledge, búsqueda de referencias citadas.
  2. ^ [1], Google Académico
  3. ^ Prensa, William H.; Teukolsky, Saúl A.; Vetterling, William T.; Flannery, Brian P. (1986). "Prefacio". Recetas numéricas: el arte de la informática científica . Nueva York: Cambridge University Press. pag. xi. ISBN 0-521-30811-9.
  4. ^ ab Prensa, William H.; y Teukolsky, Saul A.; "Recetas numéricas: ¿Tiene futuro este paradigma?" Computers in Physics, 11, 416 (1997). Preimpresión.
  5. ^ Prensa, William H.; Teukolsky, Saúl A.; Vetterling, William T.; Flannery, Brian P. (2007). "Prefacio a la tercera edición". Recetas numéricas: el arte de la informática científica (3ª ed.). Nueva York: Cambridge University Press. pag. xi. ISBN 978-0-521-88068-8.
  6. ^ ab Prensa, William H.; Teukolsky, Saúl A.; Vetterling, William T.; Flannery, Brian P. (2007). Recetas numéricas: el arte de la informática científica (3ª ed.). Nueva York: Cambridge University Press. ISBN 978-0-521-88068-8.
  7. ^ "Se vendió el dominio de dos letras NR.com: cambia de nombre a Numerical.Recipes". 14 de octubre de 2015.
  8. ^ ab "Reseñas: recetas numéricas". www.quut.com . Consultado el 28 de enero de 2019 .(actualizado para la tercera edición; clonar URL)
  9. ^ abc Van Snyder, W. (marzo de 1991). "¿Por qué no utilizar recetas numéricas?". stat.uchicago.edu . Consultado el 28 de enero de 2019 .(Fecha estimada por comentario del editor. Última actualización alrededor de septiembre de 1999; clon anterior)
  10. ^ "Recetas numéricas Rumores angustiosos". recetas.numéricas . Febrero de 1999 . Consultado el 28 de enero de 2019 .(La fecha proporcionada es la primera fecha de archive.org para la página en el antiguo dominio nr.com).
  11. ^ Gris, normando. "Recetas numéricas". Libro de cocina de recursos de teoría y modelado, www.astro.gla.ac.uk .
  12. ^ Sitio web de recetas numéricas, código de recetas numéricas
  13. ^ Weiner, Benjamín. "Boicotear recetas numéricas". Compre el libro si le apetece, aprenda de él, pero utilice una biblioteca como la Biblioteca Científica GNU. Especialmente si alguna vez quieres que otras personas utilicen tu trabajo. La licencia NR es la RIAA de la comunidad científica.
  14. ^ Hornbeck, Haysn (28 de enero de 2020). Interpolación rápida de splines cúbicos (informe técnico). Universidad de Calgary. arXiv : 2001.09253 .
  15. ^ ab Galassi, Mark; Theiler, James; Bueno, Brian. "Biblioteca científica GNU - Documento de diseño". Sistema Operativo GNU . GNU.org . Consultado el 5 de enero de 2019 .

enlaces externos