Lo scaling variabile è essenziale per risolvere numericamente alcuni problemi di PDE?


15

Nella simulazione a semiconduttore, è comune che le equazioni siano ridimensionate in modo da avere valori normalizzati. Ad esempio, in casi estremi la densità dell'elettrone nei semiconduttori può variare di oltre 18 ordini di grandezza e il campo elettrico può cambiare formalmente, oltre 6 (o più) ordini di grandezza.

Tuttavia, i giornali non danno mai un motivo per farlo. Personalmente sono contento di avere a che fare con equazioni in unità reali, c'è qualche vantaggio numerico nel fare questo, altrimenti è impossibile? Ho pensato con doppia precisione che ci sarebbero state cifre sufficienti per far fronte a queste fluttuazioni.


Entrambe le risposte sono molto utili, grazie mille!


1
"può variare oltre 18 ordini di grandezza" - e se consideri quante cifre vengono conservate in doppia precisione, vedrai se "con doppia precisione ci sarebbero abbastanza cifre per far fronte a queste fluttuazioni" è davvero vero ...
JM,

1
E il vero problema inizia quando inserisci questi numeri in un algoritmo numerico: prendi il quadrato e improvvisamente hai 36 ordini di differenza di grandezza ...
Christian Clason,

Risposte:


9

Risolvere un PDE (lineare) consiste nel discretizzare l'equazione per produrre un sistema lineare, che viene quindi risolto da un risolutore lineare la cui convergenza (frequenza) dipende dal numero di condizione della matrice. Il ridimensionamento delle variabili spesso riduce questo numero di condizione, migliorando così la convergenza. (Ciò equivale sostanzialmente all'applicazione di un precondizionatore diagonale, vedere Precisione e stabilità degli algoritmi numerici di Nicholas Higham .)

La risoluzione di PDE non lineari inoltre richiede un metodo per risolvere equazioni non lineari come il metodo di Newton, in cui il ridimensionamento può anche influenzare la convergenza.

Poiché la normalizzazione di tutto richiede di solito uno sforzo minimo, è quasi sempre una buona idea.


Sono sicuro che @ArnoldNeumaier ha altro da dire su questo argomento.
Christian Clason,

Il numero di condizione delle matrici che sto usando (variabili non scalate) è ~ 1,25 . Sembra ragionevole? Questo viene calcolato usando il metodo a 2 norme ( docs.scipy.org/doc/numpy/reference/generated/… ).
boyfarrell,

κ2=1

1
@boyfarrell: lavoro abitualmente con numeri di condizione fino a 10 ^ 7, con risultati accettabili. Non accetterei numeri di condizione molto più alti di 10 ^ 9, comunque.
jvriesem,

9

-εΔu+u=0 su Ω,u=1 su Ω.

Detto questo, non esiste un ridimensionamento di variabili o domini che rimuova questa difficoltà.

uα

-α2Δu=fα su αΩ
αu1
-Δu=f su Ω.
uα(X): =u1(X/α) per ogni α. Questo dimostra che ridimensionare il parametroαnon influenza affatto il comportamento della soluzione - un fatto abbastanza ovvio qui, ma può essere abbastanza difficile da vedere in altri casi. Puoi costruire esempi abbastanza complessi con più parametri allo stesso modo, ad esempio Navier-Stokes e la sua non dimensionalizzazione nella formulazione del numero di Reynolds.

4
E i restanti parametri devono quindi essere essenziali per determinare il comportamento qualitativo della soluzione - ecco perché il numero di Reynolds è così importante nella fluidodinamica. Questo processo si chiama non dimensionalizzazione .
Christian Clason,

naturalmente, trovare tali parametri equivalenti è essenzialmente il problema di trovare gruppi di simmetria del PDE, un problema che è difficile in generale
lurscher,

2

Trattare con numeri in virgola mobile può essere un trucco per quanto riguarda la sottrazione di numeri piccoli da numeri più grandi, nonché con molti altri aspetti. Consiglierei di leggere i post sul blog di John D. Cooks, come ad esempio

Anatomia di un numero in virgola mobile

così come Oracle

Ciò che ogni scienziato informatico dovrebbe sapere sull'arithematica a virgola mobile

Inoltre, alcuni algoritmi numerici per la minimizzazione o la massimizzazione richiedono la normalizzazione per la stabilità numerica.

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.