Informatica scientifica vs analisi numerica


9

Sono una doppia specialista in informatica e matematica. Adoro entrambe le materie. Sto pensando di prendere una carriera di laurea, forse in informatica scientifica. Qual è la vera differenza tra calcolo scientifico e analisi numerica? Sono studiati come carriere?

Risposte:


18

Wikipedia fornisce una buona definizione

L'analisi numerica è lo studio di algoritmi che usano l'approssimazione numerica (al contrario delle manipolazioni simboliche generali) per i problemi dell'analisi matematica (distinti dalla matematica discreta).

Gli analisti numerici sono in genere interessati a dimostrare risultati matematici sui loro algoritmi, compresi i limiti di errore (quanto può essere grande l'errore nell'approssimazione), la convergenza degli schemi iterativi (l'approssimazione si avvicina al limite corretto), l'ordine e il tasso di convergenza (quanto velocemente converge l'algoritmo) e la complessità computazionale (limitando il numero di operazioni richieste da un algoritmo). È possibile fare ricerche in queste aree senza mai usare un computer, e alcuni importanti risultati addirittura precedono lo sviluppo dei computer digitali negli anni '50.

Wikipedia ha anche una definizione di "calcolo scientifico"

La scienza computazionale (anche informatica scientifica o calcolo scientifico (SC)) è un campo multidisciplinare in rapida crescita che utilizza capacità di elaborazione avanzate per comprendere e risolvere problemi complessi. La scienza computazionale fonde tre elementi distinti: [1] algoritmi (numerici e non numerici) e software di modellizzazione e simulazione sviluppati per risolvere problemi di scienza (ad esempio biologici, fisici e sociali), ingegneria e scienze umane Informatica che sviluppa e ottimizza i componenti hardware, software, di rete e di gestione dei dati avanzati di sistema necessari per risolvere i problemi di elaborazione computazionale L'infrastruttura informatica che supporta sia la scienza e l'ingegneria dei problemi, sia l'informatica e l'informatica.

Il calcolo scientifico riguarda molto di più gli aspetti pratici dell'ottenere soluzioni accurate dai computer. Questo ovviamente si basa sui risultati dell'analisi numerica, ma attinge anche fortemente dall'architettura del computer e dall'ingegneria del software. Sebbene la ricerca nel campo dell'informatica scientifica sia spesso condotta per se stessa e per sviluppare hardware e software che saranno utili in molte applicazioni, vi è anche molta ricerca informatica scientifica guidata dalla necessità di risolvere particolari problemi scientifici e ingegneristici. Ad esempio, lo sviluppo di modelli climatici globali per studiare i cambiamenti climatici ha fatto avanzare anche il calcolo scientifico.

L'analisi numerica si trova più comunemente nei dipartimenti di matematica e matematica applicata, mentre l'informatica scientifica è un campo interdisciplinare che può essere trovato nei dipartimenti di informatica, dipartimenti di matematica e nelle varie discipline di ingegneria e scienza.


1
Ai vecchi tempi, in alcuni dipartimenti di informatica c'erano molte analisi numeriche (facoltà, studenti, classi, ricerca). Gran parte di questo lavoro è stato dedicato allo sviluppo di algoritmi e software che hanno funzionato bene per risolvere problemi reali in scienza, ingegneria, statistica (calcolo statistico), gestione / ricerca operativa, ecc. Non si trattava solo di dimostrare teoremi per se stessi.
Mark L. Stone,

La matematica applicata sarebbe un buon punto di partenza per entrambi?
Lama

1
Sì, uno sfondo della matematica applicata sarebbe utile in entrambe le direzioni. La vera domanda è cosa vuoi aggiungere a ciò che hai già. L'ampiezza (informatica e alcune aree scientifiche o ingegneristiche in cui viene utilizzata la scienza computazionale) è molto utile in un campo interdisciplinare come la scienza computazionale.
Brian Borchers,

6

Come qualcuno che si è trasferito dall'ingegneria al calcolo scientifico durante la scuola di specializzazione come necessità accidentale del tipo di lavoro che stavo facendo qui sono i miei due centesimi:

  • L'analisi numerica si concentrerebbe sul lato matematico e sugli algoritmi delle cose. Capire quali tecniche utilizzare per risolvere un particolare problema matematico che non ha una soluzione analitica, ad esempio l'ottimizzazione delle manipolazioni della matrice PDE di ODE, ecc.
  • Al giorno d'oggi l'analisi numerica implicherebbe una notevole quantità di programmazione, ma sta ancora traducendo le idee matematiche di un algoritmo efficiente in codice informatico.
  • Tradizionalmente FORTRAN era il pilastro. Ma potresti anche aspettarti di lavorare con C / C ++ e in questi giorni Python. Alcune cose potrebbero anche coinvolgere pacchetti come Mathematica o MATLAB
  • Venire al calcolo scientifico è più un'area applicata in cui si cerca di utilizzare le risorse informatiche per risolvere alcuni problemi scientifici. Ciò può comportare la maggior parte del lavoro di dadi e bulloni. ad es. compilazione di codici, installazione di sistemi operativi e librerie, impostazione di opzioni per far funzionare il codice scientifico ecc.
  • Dal momento che un bel po 'di informatica scientifica in questi giorni comporta calcoli paralleli, molto probabilmente avrai una certa esposizione a cluster informatici, supercomputer, cloud computing ecc.
  • Nell'informatica scientifica mentre lavori con linguaggi di programmazione come C / FORTRAN ecc., Ti aspetti di lavorare molto con i linguaggi di "incollaggio" / scripting come bash / perl ecc.
  • Probabilmente lavorerai molto con i sistemi Linux-ey e finirai abbastanza lavorando sulla riga di comando e con strumenti come sed / awk ecc. Alcune persone finiscono per essere amministratori di sistema.
  • Un sacco di elaborazione scientifica comporta la visualizzazione e la memorizzazione dei dati / il recupero dei dati. Molte persone finiscono per diventare esperti in Big Data / Hadoop / Map Reduce ecc.
  • L'analisi numerica è essenzialmente un lavoro specialistico. Diventi bravo in matematica e codifica e risolvi un problema specifico in modo molto efficiente. A volte inventando un algoritmo o due lungo la strada. Il calcolo scientifico è, in un certo senso, un lavoro generalista. Relativamente parlando. Spesso si utilizzano insieme diversi strumenti per risolvere un problema specifico applicato.
  • Un sacco di informatica scientifica può comportare il lavoro sulle interfacce. es. interfacce tra due programmi. Dove si reindirizzano i dati da uno strumento a un altro per l'elaborazione. Con qualche manipolazione del formato lungo la strada. vale a dire che stai cercando di ottenere diversi strumenti per parlare tra loro in cui gli strumenti non sono stati realmente progettati per parlare tra loro.
  • Un ragazzo di informatica scientifica dovrà padroneggiare vari formati di dati. Molti strumenti avranno i loro formati proprietari e qualcuno deve decodificare i dati in un formato che piace all'algoritmo numerico.
  • Alcuni ragazzi di Calcolo Scientifico finiscono per gestire "helpdesk" di natura molto specializzata (anche ben pagati) in cui uno aiuta essenzialmente un ricercatore / studente / Prof. generico a utilizzare le risorse informatiche di un istituto per risolvere qualsiasi problema possa sorgere. cioè il ragazzo di informatica scientifica è colui che ha familiarità con una varietà di codici e pacchetti e in grado di consigliare un utente su quale strumento utilizzare per risolvere meglio il problema a livello computazionale.
  • È possibile terminare il porting dei codici su altro hardware. O parallelizzando codici legacy che sono stati scritti in modalità seriale. O ottimizzando i codici per l'esecuzione più veloce. Alcuni ragazzi convertiranno i codici per l'esecuzione in GPU / CUDA ecc. Per renderli più veloci.
  • Un bel po 'di calcolo scientifico implica la risoluzione dei problemi. Spesso codici scritti da altre persone. Per capire perché si bloccano su un determinato hardware ecc.
  • Spesso sei l'intermediario che intrattiene rapporti tra specialisti. ad es. ho dovuto lavorare in team con programmatori hardcore, biologi che hanno bisogno di calcoli ma non possono programmare molto da soli, amministratori di sistema, guru di reti, tecnici che gestiscono data center ecc.
  • Ai ragazzi di Informatica scientifica può essere chiesto di fornire input significativi quando viene acquistato nuovo hardware o viene decisa l'architettura di un sistema di elaborazione. Su tali incarichi finisci per lavorare a stretto contatto con tecnici e tecnici di vendita di Dell / Cray / IBM / Infiniband / Cisco ecc.

Spero che questo ti dia qualche idea sui campi!

Un ultimo consiglio (prendilo con un pizzico enorme di sale!): Se sei bravo con la matematica, come precisione e dettagli e leggi documenti e scopri i dettagli dopo uno sforzo significativo e mirato in cui l'intelligenza individuale conta e coinvolge lunghi periodi di lo sforzo quindi va per l'analisi numerica.

D'altra parte, se ti piace essere un generalista, cambiare area, compensare la genialità con il duro lavoro, essere un tuttofare, essere disposto a lavorare con raccomandazioni sfocate e vaghe spesso contrastanti, come lavorare con le squadre e affrontare i conflitti , scadenze strette, occuparsi di MBA ecc., quindi diventare un ragazzo di informatica scientifica.

Prendi di nuovo questo con un enorme pizzico di sale. Le circostanze di ogni persona sono speciali. E la maggior parte di noi è atterrato dove abbiamo fatto per pura coincidenza e non perché l'abbiamo pianificato in quel modo. :)


0

Vuoi essere un matematico applicato. Questo è un importante disponibile in molte università nella loro scuola di ingegneria anche come dottorato di ricerca. Sebbene nella mia esperienza, la matematica sia l'abilità più importante, un po 'di background tecnico nell'informatica formale può essere utile e potresti non ottenerlo altrove. Fai solo attenzione a non andare molto lontano nella tana del coniglio CS o potresti finire facendo ricerche CS che tendono ad allontanarti da applicazioni pratiche.

Per rispondere alla tua domanda specifica, un matematico applicato effettuerà ricerche in metodi numerici e analisi e un possibile partner con ricercatori scientifici per fare calcolo scientifico in diverse aree. Se si desidera perseguire specificatamente il calcolo scientifico, è possibile che si desideri entrare in una disciplina di ricerca scientifica come chimica computazionale, biofisica, clima, bioinformatica, ecc.


Se leggi la mia domanda vedrai che sono un doppio maggiore. In realtà dedico più tempo alla mia laurea in matematica che alla mia cs maggiore. Non sono affatto preoccupato di andare in profondità in cs
blade il

Ho letto la tua domanda, ecco perché ho detto "e come dottorato di ricerca". La risposta intende essere utile anche agli altri che potrebbero non aver scelto un maggiore. Buona fortuna nella tua ricerca. I dottori di ricerca tendono ad essere molto flessibili, quindi trova un gruppo che fa qualcosa che ti piace e non preoccuparti troppo di rimanere bloccato in un'area.
user21387,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.