Selezione del metodo per la quadratura numerica


12

Esistono diverse famiglie di metodi per la quadratura numerica. Se ho una classe specifica di integrandi come posso selezionare il metodo ideale?

Quali sono le domande pertinenti da porre sia sull'integrando (ad es. È regolare? Ha delle singolarità?) Sia sul problema computazionale (ad es. Tolleranza d'errore, budget computazionale)?

In che modo le risposte a queste domande escludono o promuovono le varie famiglie di metodi? Per semplicità, prendiamo in considerazione solo integrali singoli o di dimensioni ridotte.

Ad esempio l' articolo di Wikipedia su QUADPACK afferma che la QAGSroutine abbastanza generale " usa la quadratura adattativa globale basata sulla quadratura di Gauss – Kronrod a 21 punti all'interno di ciascun sottointervallo, con l'accelerazione dell'algoritmo epsilon di Peter Wynn "

Come è stata presa questa decisione? Come si possono prendere decisioni simili quando ne si sa di più?


1
Probabilmente sono necessarie informazioni più specifiche per rispondere correttamente. Non esiste un criterio uguale per tutti, la quadratura gaussiana spesso funziona bene per problemi molto lisci mentre altre quadrature possono essere utilizzate in presenza di lievi singolarità. Ma se sei periodico, allora il semplice trapezio potrebbe tagliarlo.
Reid.Atcheson,

2
@ Reid.Atcheson, penso che tu stia rispondendo alla domanda in questo momento. Non sto chiedendo quale sia il metodo migliore, sto chiedendo che tipo di domande faresti e cosa ti direbbero quelle risposte? Come si affrontano questi tipi di problemi in generale?
MRocklin,

Risposte:


11

Prima di tutto, devi porsi la domanda se hai bisogno di una routine di quadratura a tutto tondo che dovrebbe prendere un integrando come una scatola nera. In tal caso, non si può fare a meno di optare per una quadratura adattiva in cui si spera che l'adattabilità colga punti "difficili" nell'integrando. E questo è uno dei motivi per cui Piessens et al. scelto per una regola di Gauss-Kronrod (questo tipo di regola consente di calcolare un'approssimazione dell'integrale e una stima dell'errore di approssimazione utilizzando le stesse valutazioni di funzione) di ordine modesto applicato in uno schema adattivo (con suddivisione dell'intervallo con il errore più elevato) fino al raggiungimento delle tolleranze richieste. L'algoritmo Wynn-epsilon consente di fornire l'accelerazione di convergenza e in genere aiuta nei casi in cui vi sono singolarità end-point.

Ma se conosci la "forma" o il "tipo" del tuo integrando, puoi adattare il tuo metodo a ciò di cui hai bisogno, quindi il costo computazionale è limitato per l'accuratezza di cui hai bisogno. Quindi cosa devi guardare:

integrando:

  • Levigatezza: può essere approssimato (bene) da un polinomio proveniente da una famiglia polinomiale ortogonale (in tal caso, la quadratura gaussiana andrà bene)
  • Singolarità: l'integrale può essere diviso in integrali con solo singolarità del punto finale (in tal caso, la regola IMT o la doppia quadratura esponenziale andranno bene su ogni sottointervallo)
  • Costo computazionale per la valutazione?
  • L'integrando può essere calcolato? O sono disponibili solo dati puntuali limitati?
  • Integrando altamente oscillatorio: cerca metodi di tipo Levin.

|xc|αcα .

Intervallo di integrazione: finito, semi-infinito o infinito. In caso di intervalli semi-infiniti o infiniti, possono essere ridotti a un intervallo finito da una trasformazione variabile? Altrimenti, i polinomi di Laguerre o Hermite possono essere usati nell'approccio di quadratura gaussiana.

Non ho un riferimento per un foglio di flusso reale per la quadratura in generale, ma il libro QUADPACK (non le pagine man di Netlib, ma il libro reale) ha un foglio di flusso per selezionare la routine appropriata in base all'integrale che si desidera valutare. Il libro descrive anche le scelte negli algoritmi fatte da Piessens et al. per le diverse routine.

Per gli integrali a bassa dimensione, si usa in genere la quadratura unidimensionale nidificata. Nel caso speciale di integrali bidimensionali (cubatura), esistono regole di integrazione per diversi casi di domini di integrazione. R. Cools ha raccolto un gran numero di regole nella sua Enciclopedia delle formule cubature ed è l'autore principale del pacchetto Cubpack . Per integrali ad alta dimensione, si ricorre in genere ai metodi di tipo Monte Carlo. Tuttavia, è necessario in genere un numero molto elevato di valutazioni integrand per ottenere una precisione ragionevole. Per integrali a bassa dimensione, i metodi di approssimazione come quadratura / cubatura / quadratura nidificata spesso superano questi metodi stocastici.

Riferimenti interessanti generali:

  1. Quadpack, Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David (1983). QUADPACK: un pacchetto di subroutine per l'integrazione automatica. Springer-Verlag. ISBN 978-3-540-12553-2
  2. Metodi di integrazione numerica: Seconda edizione, Ph. Davis e Ph. Rabinowitz, 2007, Dover Books on Mathematics, ISBN 978-0486453392

1
Bella risposta. Perché QUADPACK avrebbe scelto in particolare il metodo Gauss-Kronrod a 21 punti? Perché il numero magico?
MRocklin,

@MRocklin: Immagino sia stato un bel compromesso tra precisione ed efficienza: non vuoi sovraccaricare la tua regola di quadratura (costosa) ma non vuoi che sia troppo debole né (troppe suddivisioni nella parte adattiva ). Per essere completo: nella routine QAG, l'utente deve specificare la regola di quadratura; nel QAGS (con estrapolazione), il valore predefinito è la regola dei 21 punti ma questo può essere annullato usando la routine di chiamata estesa QAGSE.
GertVdE,

1
@GertVdE Risposta davvero molto bella. Puoi approfondire l'uso di Clenshaw-Curtis per catturare singolarità a medio intervallo o fornire riferimenti? Non l'ho mai sentito usato in questo modo prima, e non sono riuscito a trovare alcun dettaglio da una rapida ricerca su Google. Grazie!
OscarB,

3
@OscarB: scusa per il lungo ritardo, era fuori senza accesso alla rete (ah la bella vita). Vedere il libro Quadpack §2.2.3.3 e successivi; Branders, Piessens, "Un'estensione della quadratura di Clenshaw-Curtis", 1975, J.Comp.Appl.Math., 1, 55-65; Piessens, Branders, "La valutazione e l'applicazione di alcuni momenti modificati", 1973, BIT, 13, 443-450; Piessens, Branders, "Calcolo di integrali oscillanti", 1975, J.Comp.Appl.Math., 1, 153-164. Se fai una ricerca letteraria per "Robert Piessens" da qualche parte tra il 1972 e il 1980, troverai molti articoli interessanti.
GertVdE,
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.