Eu tenho um problema que pode ser visualizado de duas maneiras diferentes:
Calcule um contexto numérico integral dimensional. O domínio de integração é um hiper-cubo -dimensional de lado .
Conte (apenas conte) as raízes de uma função dimensional (não um polinômio).
Resolver apenas um deles é suficiente para resolver o problema original. Eu sei que algoritmos simples para integração numérica levariam , levando tempo linear por dimensão. Mas não tenho certeza se existe algum algoritmo assintoticamente mais rápido para (1).
Para (2), estou ciente de algoritmos que podem encontrar raízes (Newton e bissecção), mas não tenho certeza dos melhores algoritmos apenas para contar quantas raízes existem em uma função dimensional não polinomial .
Quais são os melhores algoritmos para (2)? Eles são melhores que os mais rápidos de (1)?
fonte
Respostas:
Considere usar o método Monte Carlo para calcular quadratura. É uma boa escolha quando você não precisa de uma aproximação e a dimensão tão precisas do domínio sejam grandes.
Você definitivamente deve fornecer mais detalhes.
fonte
Se você visualizar a avaliação de sua função nos pontos de quadratura do produto tensorial no cubo, a caixa de números resultante formará um tensor. Se houver alguma estrutura subjacente de baixo escalão para esse tensor, você poderá usar algumas das novas técnicas de aproximação de trem de tensores para aproximar o tensor enquanto avalia o tensor em muito menos pontos de quadratura. Veja o trabalho de Ivan Osledets em trens tensores, em particular o TT-cross, que é baseado na decomposição da matriz esquelética para as diferentes matrizes do tensor.
http://www.mat.uniroma2.it/~tvmsscho/papers/Tyrtyshnikov5.pdf
fonte