Eu tenho uma integral incorreta (bidimensional)
onde o domínio de integração é menor que , mas ainda mais restrito por . Como e são suaves ex = [ - 1 , 1 ] y = [ - 1 , 1 ] F ( x , y ) > 0 F W W ≠ 0 F ( x , y ) y x I W ( x , y )nas fronteiras, a relação posterior implica que o integrando pode ser singular nas fronteiras. O integrando é finito embora. Até agora, computo essa integral com integração numérica aninhada. Isso é bem sucedido, mas lento. Eu procuro um método mais apropriado (mais rápido) para abordar a integral, talvez um método de Monte-Carlo. Mas preciso de um que não coloque pontos no limite do domínio não cúbico A e aceite corretamente o limite da integral incorreta. Uma transformação Integral pode ajudar nessa expressão geral? Observe que eu posso resolver para como uma função de e até calcular para algumas funções especiais de peso .
fonte
Respostas:
Isenção de responsabilidade: escrevi minha tese de doutorado em quadratura adaptativa, de modo que essa resposta será severamente tendenciosa em relação ao meu próprio trabalho.
O QAGS da GSL é o antigo integrador QUADPACK e não é totalmente robusto, especialmente na presença de singularidades. Isso geralmente leva os usuários a solicitarem muito mais dígitos do que o necessário, tornando a integração muito cara.
Se você estiver usando GSL, poderá tentar meu próprio código, CQUAD , descrito neste documento . Ele foi projetado para lidar com singularidades, nas bordas do intervalo e dentro do domínio. Observe que a estimativa de erro é bastante robusta; portanto, peça apenas quantos dígitos você realmente precisar.
No que diz respeito à integração Monte-Carlo, isso depende do tipo de precisão que você está procurando. Também não tenho certeza de quão bem ele funcionará perto de singularidades.
fonte
Em geral, os métodos de Monte Carlo não podem competir com a quadratura adaptativa, a menos que você tenha uma integral dimensional alta, onde você não pode permitir a explosão combinatória de pontos de quadratura com a dimensão.
O motivo é relativamente fácil de entender. Tomemos, por exemplo, apenas onde é a dimensão do problema. Digamos, por simplicidade, que você subdivide todas as dimensões em subintervalos , ou seja, obtém células hipercubo no total. Vamos supor ainda que você use uma fórmula de Gauss com pontos de Gauss, apenas como exemplo. Então você tem pontos em quadratura no total e, como os pontos Gauss fornecem a precisão da ordem , , sua precisão geral em função dos pontos de avaliação será∫[0,1]nf(x)dnx n M Mn k N=(kM)n k (2k−1) e=O(h5)=O(M−(2k−1))
Agora, existem problemas práticos (de estabilidade) com integração com mais de, digamos, 8 ou 10 pontos por intervalo. Então, se você quer , não pode ir além de . Por outro lado, nesse caso, mesmo escolher um único intervalo por direção ( ) produz pontos de integração, muito mais do que você jamais poderia avaliar na vida. Em outras palavras, desde que você possa avaliar pontos de integração suficientes, a quadratura nas subdivisões do seu domínio de integração é sempre a abordagem mais eficiente. É nos casos em que você tem uma integral dimensional alta para a qual não é mais possível avaliar os pontos de integração em uma única subdivisão que as pessoas usam os métodos de Monte Carlo, apesar de sua pior ordem de convergência.n = 30 M = 1 N = 8 30k≤8 n=30 M=1 N=830
fonte
Tente uma quadratura dupla exponencial aninhada (consulte as implementações de Ooura ). Essa técnica usa uma transformação variável que faz com que o integrando transformado se comporte de maneira muito suave nos limites e é muito eficiente para lidar com singularidades nos limites. Há também uma lista muito boa de referências na quadratura da DE no site dele.
fonte