web-dev-qa-db-fra.com

Quelles alternatives modernes aux recettes numériques existent?

Dans le passé, les recettes numériques livre ont été considérés comme la référence standard d'or des algorithmes numériques. La première édition de Fortran a été suivie par des éditions de C et C++ et d'autres, le rapportant alors plus à jour. À travers cela, il a fourni un code de référence pour les algorithmes de pointe de la journée.

Editions plus anciennes sont disponibles en ligne gratuitement De nos jours.

Malheureusement, je pense que c'est maintenant surtout utile que comme un tymaire historique. Les pratiques "Génie logicielle" me semblent être obsolètes et le contenu réel n'a pas suivi le rythme de la littérature.

Quelles références complètes et accessibles de la même manière que le programmeur moderne examine à la place?

21
Stewart

En termes de recettes numériques, nous avons besoin de deux choses - la compréhension de la manière dont les algorithmes se traduisent par la mise en œuvre de la programmation et deuxièmement, une mise en œuvre de référence qui livre des livres.

Il semble y avoir [~ # ~] no [~ # ~] Combinaison de logiciels de référence de livre +. Cependant, il existe de bons logiciels de référence et certaines d'entre elles font référence aux papiers sur la base d'un tel algorithme.

Voici une liste de bibliothèques de référence (principalement open source) qui pourrait aider:

  1. Bibliothèque scientifique GN
  2. [~ # ~] Lapack [~ # ~ ~] Il a un bon livre en tant que manuel d'utilisation Il y a aussi Lapack ++ et Autres (TNT) paquets dérivés/liés. Voir Ceci pour plus d'informations.
  3. Algèbre linéaire boost
  4. Armadillo
  5. [~ # ~] blas [~ # ~ ~]

D'autres choses spécifiques sont

  1. apophénie pour les modèles statistiques
  2. Colt
  3. FFTW
  4. le package R - et a livre
  5. OpenCV
  6. bibliothèque de noyau Intel maths
  7. Pour reconnaissance de modèle

Vous pouvez également vérifier " analyse des données avec outils open source ".

Voici une énorme liste de comparaison même si je n'ai pas tout vérifié.
[.____] http://www.netlib.org/utk/people/jackdongarra/la-sw.html

7
Dipan Mehta

Les recettes numériques sont toujours, IMO, un livre utile. Il décrit très bien les algorithmes, y compris leur dérivation, les situations dans lesquelles elles sont utiles et des alternatives à considérer quand elles ne le sont pas. J'utilise le livre depuis des années.

Une chose que j'ai jamais utilisé est leur code. J'écris toujours ma propre implémentation basée sur les algorithmes qu'ils décrivent. À cet égard, la qualité de leur code n'a pas d'importance (et il est effectivement discutable: dans le livre C 2nd Edition C, ils définissent une collection de fonctions et de macros pour fabriquer des tableaux-indexés par l'unité, car les auteurs proviennent d'un fond de Fortran). À titre d'exemple: j'ai déjà dû mettre en œuvre la FFT dans Objective-C, j'ai donc utilisé NR en Fortran pour comprendre ce que FFT a fait et comment le code devrait regarder.

Pensez à NR de la même manière que vous pensez de Knuth: vous ne colleriez jamais de code de ce livre dans votre projet.

4
user4051

Personnellement, j'aime bien, il s'agit du niveau que je peux comprendre

Le code est FORTRAN Traduit sur 'C' mais c'est ok, vous pouvez simplement le traduire vers Fortran, puis en C++ vous-même! Les versions Fortran ou C présentent des avantages en ce que le code est à peu près autonome, vous n'avez pas à faire glisser dans un tas de classes C++ pour effectuer des matrices, complexes, etc., en particulier compte tenu de la qualité de leur codage!

Il existe une objection justifiable aux demandes de droits d'auteur ridicule des auteurs et je connais un certain nombre de conférenciers qui interdisent la NR dans leurs classes. Parmi les experts numériques, les livres ont également une réputation de "suffisamment d'informations pour vous mettre en difficulté". Mais leur seule suggestion est généralement d'utiliser leur code personnel ou d'acheter NAG.

Une collection suggérée de numériques numériques de haute qualité alternatives est à http://www.netlib.org/

3
Martin Beckett