Primeiro de tudo, você deve se perguntar se você precisa de uma rotina de quadratura completa que deve ter um integrando como uma caixa preta. Nesse caso, você não pode deixar de optar pela quadratura adaptativa, na qual espera que a adaptabilidade encontre pontos "difíceis" no integrando. E essa é uma das razões pelas quais Piessens et al. escolheu para uma regra de Gauss-Kronrod (esse tipo de regra permite calcular uma aproximação da integral e uma estimativa do erro de aproximação usando as mesmas avaliações de função) de ordem modesta aplicada em um esquema adaptativo (com subdivisão do intervalo com a variável erro mais alto) até que as tolerâncias necessárias sejam atingidas. O algoritmo Wynn-epsilon permite fornecer aceleração de convergência e geralmente ajuda nos casos em que existem singularidades de ponto final.
Mas se você conhece o "formulário" ou o "tipo" do seu integrando, pode adaptar seu método ao necessário, para que o custo computacional seja limitado pela precisão necessária. Então, o que você precisa olhar:
Integrand:
- Suavidade: pode ser aproximada (bem) por um polinômio de uma família polinomial ortogonal (se sim, a quadratura gaussiana se dará bem)
- Singularidades: a integral pode ser dividida em integrais apenas com singularidades de ponto final (se sim, a regra IMT ou a quadratura exponencial dupla serão boas em cada sub-intervalo)
- Custo computacional para avaliação?
- O integrando pode ser calculado? Ou apenas dados limitados estão disponíveis?
- Integrando altamente oscilatório: procure métodos do tipo Levin.
| x-c |- αcα
Intervalo de integração: finito, semi-infinito ou infinito. No caso de intervalos semi-infinitos ou infinitos, eles podem ser reduzidos a um intervalo finito por uma transformação variável? Caso contrário, os polinômios de Laguerre ou Hermite podem ser usados na abordagem da quadratura gaussiana.
Não tenho uma referência para um fluxograma real para quadratura em geral, mas o livro QUADPACK (não as páginas de manual do Netlib, mas o livro real) possui um fluxograma para selecionar a rotina apropriada com base na integral que você deseja avaliar. O livro também descreve as escolhas em algoritmos feitos por Piessens et al. para as diferentes rotinas.
Para integrais de baixa dimensão, normalmente se aplica à quadratura unidimensional aninhada. No caso especial de integrais bidimensionais (cubatura), existem regras de integração para diferentes casos de domínios de integração. R. Cools coletou um grande número de regras em sua Enciclopédia de fórmulas de cubatura e é o principal autor do pacote Cubpack . Para integrais de alta dimensão, normalmente se recorre a métodos do tipo Monte Carlo. No entanto, normalmente é necessário um número muito grande de avaliações de integrandos para obter uma precisão razoável. Para integrais de baixa dimensão, métodos de aproximação como quadratura / cubatura / quadratura aninhada geralmente superam esses métodos estocásticos.
Referências interessantes gerais:
- Quadpack, Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David (1983). QUADPACK: Um pacote de sub-rotinas para integração automática. Springer-Verlag. ISBN 978-3-540-12553-2
- Métodos de Integração Numérica: Segunda Edição, Ph. Davis e Ph. Rabinowitz, 2007, Dover Books on Mathematics, ISBN 978-0486453392