Ordine delle operazioni
Salve , in Calcolo Numerico che significa che un metodo richiede un costo dell'ordine di n operazioni ? ( oppure di n^2 ecc )
Risposte
è il costo computazionale dell'operazione, cioè il numero di operazioni che il programma deve svolgere per calcolare la soluzione. Più è elevato più tempo impiegherà a darti la soluzione. Ogni computer può eseguire un certo numero di operazioni al secondo, se il numero è troppo elevato potrebbe richiedere molto tempo... finchè l'andamento è polinomiale non ci dovrebbero essere problemi perchè il tempo di esecuzione è quasi sempre accettabile, se invece l'ordine è esponenziale il tempo di esecuzione potrebbe essere davvero molto lungo. In alcuni casi è possibile diminuire il costo computazionale tramite tecniche di ottimizzazione
"mr mojo":
finchè l'andamento è polinomiale non ci dovrebbero essere problemi perchè il tempo di esecuzione è quasi sempre accettabile
Emh... Non esattamente! Già in algebra lineare numerica un metodo di ordine \(N^3\) è considerato costoso (e.g. la fattorizzazione LU) e non viene utilizzato per problemi grossi.
L'ordine di un metodo è, come è stato detto, l'ordine di grandezza del numero di operazioni in virgola mobile coinvolte (per algoritmi di calcolo numerico; per algoritmi di ordinamento potrebbe essere il numero di confronti, ma non ci interessa).
Ad esempio, un prodotto scalare tra due vettori di dimensione \(N\) richiede \(N\) prodotti e \(N-1\) somme, quindi è un'operazione di ordine \(2N-1\), cioè di ordine \(N\); un prodotto matrice-vettore richiede \(N\) prodotti scalari, quindi costa \(N^2\) e così via.