Calcul scientifique vs analyse numérique

9

Je suis une double majeure en informatique et mathématiques. J'adore les deux sujets. Je pense à entreprendre une carrière universitaire, peut-être en informatique scientifique. Quelle est la vraie différence entre le calcul scientifique et l'analyse numérique? Sont-ils étudiés comme carrières?

lame
la source

Réponses:

18

Wikipédia donne une bonne définition

L'analyse numérique est l'étude d'algorithmes qui utilisent l'approximation numérique (par opposition aux manipulations symboliques générales) pour les problèmes de l'analyse mathématique (par opposition aux mathématiques discrètes).

Les analystes numériques sont généralement intéressés à prouver les résultats mathématiques de leurs algorithmes, y compris les limites d'erreur (quelle peut être l'erreur dans l'approximation), la convergence des schémas itératifs (l'approximation approche-t-elle la limite correcte), l'ordre et le taux de convergence (à quelle vitesse l'algorithme converge-t-il) et la complexité de calcul (qui limite le nombre d'opérations requises par un algorithme). Il est possible de faire des recherches dans ces domaines sans jamais utiliser d'ordinateur, et certains résultats importants sont même antérieurs au développement des ordinateurs numériques dans les années 1950.

Wikipédia a également une définition de «calcul scientifique»

La science informatique (également le calcul scientifique ou le calcul scientifique (SC)) est un domaine multidisciplinaire en croissance rapide qui utilise des capacités informatiques avancées pour comprendre et résoudre des problèmes complexes. La science informatique fusionne trois éléments distincts: [1] Algorithmes (numériques et non numériques) et logiciels de modélisation et de simulation développés pour résoudre les problèmes scientifiques (p. Ex. Biologiques, physiques et sociaux), d'ingénierie et de sciences humaines Informatique et sciences de l'information qui développent et optimise les composants matériels, logiciels, de mise en réseau et de gestion des données du système avancés nécessaires pour résoudre des problèmes exigeants en termes de calcul. L'infrastructure informatique qui prend en charge à la fois la résolution de problèmes scientifiques et techniques ainsi que les sciences informatiques et de l'information en développement.

Le calcul scientifique concerne beaucoup plus les aspects pratiques de l'obtention de solutions précises à partir d'ordinateurs. Cela s'appuie évidemment sur les résultats de l'analyse numérique, mais il s'appuie également fortement sur l'architecture informatique et le génie logiciel. Bien que la recherche en informatique scientifique soit souvent effectuée pour elle-même et pour développer du matériel et des logiciels qui seront utiles dans de nombreuses applications, il existe également de nombreuses recherches en informatique scientifique motivées par la nécessité de résoudre des problèmes scientifiques et d'ingénierie particuliers. Par exemple, le développement de modèles climatiques mondiaux pour étudier le changement climatique a également fait avancer l'informatique scientifique.

L'analyse numérique se trouve le plus souvent dans les départements de mathématiques et de mathématiques appliquées, tandis que l'informatique scientifique est un domaine interdisciplinaire qui peut être trouvé dans les départements d'informatique, les départements de mathématiques et dans les diverses disciplines de l'ingénierie et des sciences.

Brian Borchers
la source
1
Au bon vieux temps, il y avait beaucoup d'analyses numériques (professeurs, étudiants, classes, recherche) en cours dans certains départements d'informatique. Une grande partie de ce travail a été consacrée au développement d'algorithmes et de logiciels qui ont bien fonctionné pour résoudre des problèmes réels en science, en ingénierie, en statistiques (calcul statistique), en gestion / recherche opérationnelle, etc. Il ne s'agissait pas de prouver des théorèmes pour leur propre bien.
Mark L. Stone
Les mathématiques appliquées seraient-elles un bon point de départ pour l'un ou l'autre?
blade
1
Oui, une formation en mathématiques appliquées serait utile dans les deux sens. La vraie question est de savoir ce que vous voulez ajouter à ce que vous avez déjà. L'étendue (l'informatique et certains domaines scientifiques ou d'ingénierie dans lesquels la science informatique est utilisée) est très utile dans un domaine interdisciplinaire comme la science informatique.
Brian Borchers
6

En tant que personne qui est passée de l'ingénierie au calcul scientifique pendant les études supérieures en tant que besoin fortuit du type de travail que je faisais ici, je me sens à deux cents:

  • L'analyse numérique se concentrerait sur les mathématiques et les algorithmes. Déterminer les techniques à utiliser pour résoudre un problème mathamatique particulier qui n'a pas de solution analytique, par exemple l'optimisation des manipulations matricielles du PDE d'ODE, etc.
  • De nos jours, l'analyse numérique impliquerait souvent des quantités importantes de programmation, mais elle traduit à peu près les idées mathématiques d'un algorithme efficace en code informatique.
  • FORTRAN était traditionnellement le pilier. Mais vous pouvez également vous attendre à travailler avec C / C ++ et de nos jours Python. Certaines choses peuvent également impliquer des packages comme Mathematica ou MATLAB
  • Venir au calcul scientifique est plus un domaine appliqué où l'on essaie d'utiliser des ressources informatiques pour résoudre un problème scientifique. Cela peut impliquer une grande partie du travail des écrous et des boulons. Par exemple, compilation de codes, installation de systèmes d'exploitation et de bibliothèques, configuration d'options pour faire fonctionner le code scientifique, etc.
  • Étant donné qu'un bon nombre de calculs scientifiques impliquent de nos jours des calculs parallèles, vous aurez très probablement une certaine exposition aux grappes informatiques, aux superordinateurs, au cloud computing, etc.
  • En informatique scientifique, alors que vous travaillez avec des langages de programmation comme C / FORTRAN, etc., attendez-vous à beaucoup travailler avec les langages de «collage» / de script comme bash / perl, etc.
  • Vous travaillerez probablement beaucoup avec les systèmes Linux-ey et finirez par travailler assez bien sur la ligne de commande et avec des outils comme sed / awk etc. Certaines personnes finissent par être des administrateurs système.
  • Beaucoup de calcul scientifique implique la visualisation et le stockage de données / la récupération de données. Beaucoup de gens finissent par devenir des experts en Big Data / Hadoop / Map Reduce etc.
  • L'analyse numérique est essentiellement un métier spécialisé. Vous maîtrisez les mathématiques et le codage et résolvez un problème spécifique très efficacement. Parfois, inventer un algorithme ou deux en cours de route. Le calcul scientifique est, dans un certain sens, un travail généraliste. Relativement parlant. Vous utilisez souvent divers outils ensemble pour résoudre un problème spécifique appliqué.
  • Beaucoup de calculs scientifiques peuvent impliquer de travailler aux interfaces. par exemple, interfaces entre deux programmes. Où vous dirigez les données d'un outil à un autre pour le traitement. Avec une certaine manipulation de format en cours de route. c'est-à-dire que vous essayez d'obtenir divers outils pour vous parler, alors que les outils n'étaient pas vraiment conçus pour se parler.
  • Un informaticien scientifique devra souvent maîtriser différents formats de données. De nombreux instruments auront leurs propres formats propriétaires et quelqu'un doit décoder les données dans un format qui plaît à l'algorithme numérique.
  • Certains gars du calcul scientifique finissent par gérer des «helpdesks» de nature très spécialisée (bien rémunérés aussi) où l'on aide essentiellement un chercheur / étudiant / professeur générique à utiliser les ressources informatiques d'une institution pour résoudre tout problème qui pourrait survenir. c'est-à-dire que le calculateur scientifique est celui qui connaît une variété de codes et de packages et qui est en mesure de conseiller un utilisateur sur l'outil à utiliser pour résoudre au mieux le problème sur le plan informatique.
  • Vous pouvez finir par porter des codes sur un autre matériel. Ou paralléliser des codes hérités qui ont été écrits en mode série. Ou optimisez les codes pour qu'ils s'exécutent plus rapidement. Certains gars convertiront les codes pour les exécuter dans les GPU / CUDA, etc. pour les faire fonctionner plus rapidement.
  • Une bonne partie de l'informatique scientifique implique le dépannage. Souvent, des codes que d'autres personnes ont écrits. Pour comprendre pourquoi ils se bloquent sur certains matériels, etc.
  • Vous êtes souvent l'intermédiaire entre les spécialistes. Par exemple, j'ai dû travailler sur des équipes avec des programmeurs inconditionnels, des biologistes qui ont besoin de calcul mais ne peuvent pas beaucoup coder eux-mêmes, des administrateurs système, des gourous du réseau, des techniciens qui gèrent des centres de données, etc.
  • On peut demander aux gars du calcul scientifique de fournir des données importantes lors de l'achat de nouveau matériel ou de la décision de l'architecture d'un système informatique. Sur ces missions, vous finissez par travailler très étroitement avec les ingénieurs commerciaux et les technologues de Dell / Cray / IBM / Infiniband / Cisco, etc.

J'espère que cela vous donne une idée des champs!

Un dernier conseil (à prendre avec une énorme pincée de sel!): Si vous êtes bon en mathématiques, comme la précision et le détail et la lecture de documents et la détermination des détails après un effort important et ciblé où l'intelligence individuelle est importante et implique de longues périodes de soutien l'effort alors aller pour l'analyse numérique.

D'un autre côté, si vous aimez être un généraliste, changer de domaine, compenser le génie avec un travail acharné, être un cric de tous les métiers, être prêt à travailler avec des recommandations floues et vagues souvent conflictuelles, comme travailler avec des équipes et gérer les conflits , des délais serrés, des MBA, etc., puis devenez un gars du calcul scientifique.

Encore une fois, prenez ceci avec une énorme pincée de sel. La situation de chaque personne est spéciale. Et la plupart d'entre nous ont atterri là où nous l'avons fait par pure coïncidence et non pas parce que nous l'avions prévu de cette façon. :)

curious_cat
la source
0

Vous voulez être un mathématicien appliqué. Il s'agit d'une majeure disponible dans de nombreuses universités de leur école d'ingénieur également en tant que doctorat. Bien que, selon mon expérience, les mathématiques soient la compétence la plus importante, certains antécédents techniques en informatique formelle peuvent être utiles et vous ne les trouverez peut-être pas ailleurs. Faites juste attention à ne pas aller trop loin dans le trou du lapin CS ou vous risquez de faire des recherches CS qui ont tendance à vous éloigner des applications pratiques.

Pour répondre à votre question spécifique, un mathématicien appliqué effectuera des recherches sur les méthodes et analyses numériques et s'associera éventuellement à des chercheurs scientifiques pour faire du calcul scientifique dans plusieurs domaines. Si vous souhaitez poursuivre spécifiquement l'informatique scientifique, vous souhaiterez peut-être entrer dans une discipline de recherche scientifique telle que la chimie computationnelle, la biophysique, le climat, la bioinformatique, etc.

user21387
la source
Si vous lisez ma question, vous verrez que je suis un double majeur. Je consacre en fait plus de temps à ma majeure en mathématiques qu'à ma majeure en cs. Je ne suis pas inquiet du tout d'aller à fond dans cs
lame
J'ai lu votre question, c'est pourquoi j'ai dit "et en tant que doctorant". La réponse est destinée à être utile aussi à d'autres qui n'ont peut-être pas choisi de spécialisation. Bonne chance dans votre recherche. Les doctorants ont tendance à être très flexibles, alors trouvez un groupe qui fait quelque chose que vous aimez et ne vous inquiétez pas trop de vous enfermer dans un domaine.
user21387