numeri complessi in programmazione?

6

I numeri complessi sono usati nella programmazione? Se sono qual è il loro significato? Quali IDE e lingue li usano? E sarebbe consigliato imparare come implementarli per un lavoro di programmazione (se così si prega di specificare quale lavoro)?

Ho lavorato in Eclipse e ho appena studiato l'importanza dei numeri complessi in matematica e mi chiedevo se fosse correlato.

    
posta Bored915 09.11.2011 - 04:57
fonte

2 risposte

15

Sì, ma solo in alcune di quelle lingue popolari tra fisici, ingegneri elettronici e chiunque avesse una birra con loro. I numeri complessi sono particolarmente utili nell'elettronica, nell'ottica e nella teoria quantistica per descrivere le onde e qualsiasi fenomeno periodico. Le trasformate di Fourier utilizzano numeri complessi e sono la chiave per lavorare con le funzioni d'onda, la progettazione di filtri, l'integrità del segnale nell'elettronica digitale, la radioastronomia e così via ...

Le lingue "D" (da Digital Mars), Python, IDL, Matlab (e Octave) e Fortran hanno numeri complessi incorporati. Probabilmente ce ne sono di più. Con "incorporato" intendiamo che si possono scrivere espressioni matematiche con la stessa facilità con cui si usano valori in virgola mobile, dichiarare matrici di quel tipo e non dover lavorare attraverso alcune API o set di classi e metodi anche se nasconde lo zucchero sintattico esso. Il compilatore può ottimizzare in modi non possibili con una libreria.

Python è particolarmente utile per gli EE usando "j" come unità immaginaria invece della solita "i" usata in matematica e fisica.

La maggior parte delle altre lingue consente di utilizzare numeri complessi sotto forma di librerie. Questi includono C, C ++, Java, Ruby, perl, almeno, tra le lingue gli scienziati e gli ingegneri hanno alcune probabilità di utilizzo.

Non conosco i linguaggi funzionali come Haskell, in che modo supportano numeri complessi.

La programmazione per aziende, applicazioni web, smartphone e giochi raramente ha bisogno di numeri complessi. Quando lo fanno, è probabilmente per una sorta di analisi audio o di immagine - scienza e ingegneria - come parte di alcune app. Le lingue che si rivolgono solo a questi settori potrebbero avere librerie complesse, ma più probabilmente non le supportano affatto. OTOH, non mi sorprenderebbe se qualcuno in passato avesse creato una libreria di numeri complessi per COBOL.

    
risposta data 09.11.2011 - 05:31
fonte
11

I numeri complessi si presentano ovunque in Computer Science and Engineering e in Scientific Computing. Gli esempi includono le trasformazioni di Fourier veloci per l'elaborazione dei segnali, la simulazione dei circuiti (i numeri complessi sono molto comuni nell'ingegneria elettrica) e i frattali che vengono utilizzati nella grafica e in altri campi. Essi si mostrano anche molto nella programmazione della Fisica poiché i Numeri complessi hanno alcune relazioni molto interessanti con i vettori e la trigonometria. Questo collegamento è fondamentale per l'identità di Eulero:

Coprirai numeri complessi in una grande varietà di corsi che vanno dall'ingegneria elettrica all'analisi numerica. La maggior parte delle lingue moderne o persino più vecchie può gestire numeri complessi, solitamente mediante l'uso di una libreria. Ad esempio, C99 ha complex.h. Haskell dall'altra parte dello spettro fa anche con il modulo complesso.

Per quanto riguarda l'importanza, li apprenderei e bene se si fa qualcosa con hardware, sistemi embedded, fisica, grafica, visione artificiale, elaborazione del segnale, matematica computazionale, compressione dei dati o simulazione. Qualsiasi cosa appaia davvero hardware o scientifico.

    
risposta data 09.11.2011 - 05:17
fonte

Leggi altre domande sui tag