숫자 레시피
Numerical Recipes![]() 제3판(C++) 표지 | |
작가 | 윌리엄 H. 언론, 사울 A. Teukolsky, William T. Betterling and Brian P. 플란너리 |
---|---|
언어 | 영어 |
규율 | 수치해석 |
출판사. | 케임브리지 대학교 출판부 |
웹사이트 | 숫자.수. |
숫자 레시피는 윌리엄 H.프레스 사울 A의 알고리즘과 수치 분석에 관한 일련의 책들의 총칭이다. Teukolsky, William T.Betterling and Brian P. 플래너리.각종 판본에서는 1986년부터 인쇄되고 있다.가장 최근의 판은 2007년에 출판되었다.2015년 수치레시피는 역사적인 두 글자의 도메인 이름인 nr.com[1]을 팔아서 유명해졌다.numerical.recipes
대신에
개요
숫자 레시피 책에는 고전적인 수치 분석(인터폴레이션, 통합, 선형대수, 미분방정식 등), 신호 처리(푸리에 방법, 필터링), 데이터의 통계 처리, 머신러닝(숨겨진 마르코프 모델, 지원 벡터 머신)의 몇 가지 주제가 모두 포함된 다양한 주제가 수록되어 있다.글씨는 접근성이 좋고, 격식을 차리지 않는 어조가 있다.최적의 성능과 신뢰성을 달성하기 위해 실제로 필요할 수 있는 정밀한 작업이 아니라 기법의 기본을 이해하는 데 중점을 둔다.비록 증명 뒤에 있는 아이디어들은 종종 스케치되고, 참고자료들이 주어지지만, 어느 정도의 엄격함으로 증명되는 결과는 거의 없다.중요한 것은, 실질적으로 논의되는 모든 방법들도 프로그래밍 언어로 구현되어 있는데, 그 코드는 책에 인쇄되어 있다.각 버전은 특정 언어에 맞춰져 있다.
출판사인 케임브리지 대학교 출판사에 따르면, 숫자 레시피 책들은 역사적으로 과학적인 프로그래밍 방법에 관한 가장 많이 팔린 책들이다.ISI 지식의 웹(예: 2008년 3962회)에 따르면 최근 몇 년 동안 숫자 레시피 책들이 과학 문헌에 매년 3000회 이상 인용되고 있다.[2]그리고 2017년 말 현재 이 책은 구글 스콜라에서 44,000개 이상의 인용구를 가지고 있다.[3]
역사
첫 번째 출판물은 1986년"이라는 제목으로 출판되었다.Fortran과 Pascal의 코드를 모두 담고 있는 수치적 레시피, The Art of Scientific Computing; 첨부된 책 "숫자적 레시피 예시서(Pascal)"는 1985년에 처음 출판되었다. ("예시"의 서문 노트에는 본서도 1985년에 출판되었다고 언급되어 있지만, 그 책에 있는 공식 노트에는 1986년에 쓰여 있다.)Pascal, BASIC, C에서 코드와 함께 보충판이 뒤따랐다.숫자 레시피는 처음부터 숫자 분석 커뮤니티의 통념과 상충하는 의견 있는 편집 입장을 취하였다.
만약 이 책에 지배적인 주제가 하나 있다면, 숫자 계산의 실용적인 방법들이 효율적이고, 영리하며, 그리고 중요한 것은 명확할 수 있다는 것이다.효율적인 계산 방법은 "블랙박스" 형태에서만 유용할 정도로 매우 난해하고 복잡해야 한다는 대안적인 관점, 우리는 단호히 거부한다.[4]
그러나, 밝혀진 바와 같이, 1980년대는 BLAS와 LAPACK과 같은 중요한 도서관과 MATLAB, Mathematica와 같은 통합 환경을 제공하면서 "블랙박스" 쪽에 비옥한 시기였다.1990년대 초, 숫자 레시피의 제2판 버전(C, Fortran-77, Fortran-90의 코드 포함)이 출판되었을 때, 숫자 레시피의 선거구는 결코 연산을 하는 과학자의 대다수가 아니라, 더 수학적인 수치 분석가와 더 큰 통신사이에 살고 있는 그 조각만이 분명했다.통합 환경을 사용한 통합Second Edition 버전은 이러한 틈새 환경에서 안정적인 역할을 담당했다.[5]
2000년대 중반까지, 과학 컴퓨팅의 관행은 성숙한 인터넷과 웹에 의해 근본적으로 변화되었다.그들의 숫자 레시피 책이 코드 사례보다 설명 텍스트로 점점 더 중시되고 있다는 것을 인식하면서, 저자들은 책의 범위를 크게 넓혔고, 본문의 많은 부분을 다시 썼다.그들은 논의된 모든 방법에 대해 여전히 책에 인쇄된 코드를 계속 포함시켰다.[6]제3판은 또한 전자책으로도 출시되었고,[7] 결국 웹에서 무료로 이용 가능하게 되었다(페이지뷰가 제한되어 있음) 또는 유료 또는 기관 구독으로(페이지뷰가 제한되어 있음).
비판
수치적 레시피는 매우 광범위한 알고리즘을 다루는 단일 책이다.불행히도 그 형식은 알고리즘의 선택을 더 복잡하게 만드는 알고리즘만큼 정확하지 않고 효율적이거나 안정적이지 못한 더 단순하고 짧은 초기 알고리즘으로 치우쳤다.[8][9][10]초판에도 몇 가지 사소한 버그들이 있었는데, 그것은 후판에서도 고쳐졌다. 그러나 저자들에 따르면 그들은 수년간 "숫자 레시피"가 "버그로 가득 차 있다"는 인터넷 루머에 부딪쳤다.그들은 이것을 구식 버전의 코드를 사용하는 사람들, 코드의 다른 부분에 있는 버그, 그리고 올바르게 사용하기 위해 어느 정도 이해가 필요한 루틴의 오용 탓으로 돌렸다.[11]
코드 목록은 숫자 레시피 저자에 의해 저작권이 있고 상업적으로 허가된다.[12]그러나 숫자 레시피에는 컴퓨터 프로그램의 저작권에 관한 다음과 같은 문구가 포함되어 있다.
저작권은 아이디어를 보호하는 것이 아니라 특정한 형태로만 그 생각을 표현한다.컴퓨터 프로그램의 경우, 아이디어는 프로그래머가 채택한 필요한 단계의 순서를 포함하여 프로그램의 방법론과 알고리즘으로 구성된다.그 아이디어들의 표현은 프로그램 소스 코드 입니다...프로그램에 포함된 아이디어를 분석한 다음, 완전히 다른 구현으로 그 아이디어를 표현한다면, 그 새로운 프로그램 구현은 당신의 것이다.[7]
GNU 과학 도서관의 초기 동기 중 하나는 무료 도서관이 숫자 레시피의 대체물로 필요하다는 것이었다.[13]
또 다른 비판의 라인은 현대적이고 객체 지향적인 C++[13]로 쓰여졌지만 일부 현대 독자들을 "포트란식"으로 놀라게 하는 이 책의 코딩 스타일에 초점을 맞추고 있다.저자들은 공간적 한계와 가독성 때문에 책의 형식에 필요한 그들의 매우 간결한 코딩 스타일을 옹호해 왔다.[5]
영상 시리즈의 제목(부분 목록)
책은 판(1판, 2판, 3판)과 코드가 주어진 컴퓨터 언어에 따라 다르다.
- 숫자 레시피. 1986년 1월호 과학 컴퓨팅의 기술 ISBN0-521-30811-9 (포트란과 파스칼)
- C의 수치적 조리법 The Art of Scientific Computing, 1988년 1월호, ISBN 0-521-35465-X.
- 파스칼의 수치적 요리법. The Art of Scientific Computing, 1989년 1월호 ISBN 0-521-37516-9.
- Fortran의 수치 요리법. The Art of Scientific Computing, 1989년 1월호 ISBN 0-521-38330-7.
- 숫자 레시피(BASIC) The Art of Scientific Computing, 제1판, 1991년 ISBN 0-521-40689-7 (보조판)
- Fortran의 수치 요리법. The Art of Scientific Computing, 1992년 2월호 ISBN 0-521-43064-X.
- C의 수치적 조리법 The Art of Scientific Computing, 1992년 2월호 ISBN 0-521-43108-5.
- Fortran 90의 수치적 요리법. 평행 과학 컴퓨팅의 기술, 제2판, 1996년 ISBN 0-521-57439-0.
- C++의 숫자 요리법. The Art of Scientific Computing, 2002년 2월호 ISBN 0-521-75033-4.
- 숫자 레시피. The Art of Scientific Computing, 2007년 3월호, ISBN 0-521-88068-8. (C++ 코드)
참조
- ^ "Two letter domain NR.com sold : Rebrands to Numerical.Recipes". 14 October 2015.
- ^ Thomson Reuters, Web of Knowledge, 인용 참조 검색.
- ^ [1], Google Scholar
- ^ 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. p. xi. ISBN 0-521-30811-9.
- ^ a b 언론, 윌리엄 H; 그리고 테우콜스키, 사울 A.; "수치적인 요리법:이 패러다임에는 미래가 있을까?" 물리학의 컴퓨터, 11, 416 (1997년)사전 인쇄.
- ^ 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 ed.). New York: Cambridge University Press. p. xi. ISBN 978-0-521-88068-8.
- ^ a b Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
- ^ "Reviews: Numerical Recipes". www.quut.com. Retrieved 28 January 2019.복제 URL
- ^ Van Snyder, W. "Why not use Numerical Recipes?". www.uwyo.edu. Retrieved 28 January 2019.복제 URL
- ^ "Alternatives to Numerical Recipes". Archived from the original on 18 January 2016.
- ^ "Numerical Recipes Distressing Rumors". numerical.recipes. Retrieved 28 January 2019.
- ^ 숫자 레시피 웹 사이트, 숫자 레시피 코드
- ^ a b Galassi, Mark; Theiler, James; Gough, Brian. "GNU Scientific Library -- Design document". GNU Operating System. GNU.org. Retrieved January 5, 2019.
외부 링크
- 공식 웹사이트
- 숫자 레시피의 최신 전자판(자유 페이지 보기 제한)
- Google 북스의 수치적 레시피
- 전자적으로 사용할 수 있는 이전 버전의 숫자 레시피(다양한 형식의 C, Fortran 77 및 Fortran 90 버전과 기타 호스팅된 책자
- 수치적 레시피의 리뷰
- Norman Gray, NR과 그 비평가들의 균형 잡힌 토론
- "Alternatives to Numerical Recipes". Archived from the original on 18 January 2016.