Existem várias famílias de métodos para quadratura numérica. Se eu tiver uma classe específica de integrandos, como seleciono o método ideal?
Quais são as perguntas relevantes a serem feitas sobre o integrando (por exemplo, é suave? Possui singularidades?) E o problema computacional (por exemplo, tolerância a erros, orçamento computacional)?
Como as respostas a essas perguntas descartam ou promovem as várias famílias de métodos? Para simplificar, vamos considerar apenas integrais simples ou de baixa dimensão.
Por exemplo, o artigo da Wikipedia no QUADPACK afirma que a QAGS
rotina bastante geral " usa quadratura adaptativa global com base na quadratura de Gauss-Kronrod de 21 pontos dentro de cada subintervalo, com aceleração pelo algoritmo epsilon de Peter Wynn "
Como foi tomada essa decisão? Como se pode tomar decisões semelhantes quando se sabe mais?
fonte
Respostas:
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:
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:
fonte