Ich habe ein Problem, das auf zwei verschiedene Arten betrachtet werden kann:
Berechnen Sie eine -dimensionales Integral, numerischer Kontext. Die Domäne der Integration ist eine-dimensionaler Hyperwürfel der Seite .
Zähle (zähle einfach) die Wurzeln eines -dimensionale Funktion (kein Polynom).
Die Lösung nur eines davon reicht aus, um das ursprüngliche Problem zu lösen. Ich weiß, dass einfache Algorithmen für die numerische Integration erforderlich wären, lineare Zeit pro Dimension nehmen. Ich bin mir aber nicht sicher, ob es für (1) asymptotisch schnellere Algorithmen gibt.
Für (2) sind mir Algorithmen bekannt, die Wurzeln finden können (Newton und Bisection), aber ich bin mir nicht sicher, welche Algorithmen am besten geeignet sind, um zu zählen, wie viele Wurzeln sich in einem Nicht-Polynom befinden -dimensionale Funktion.
Was sind die besten Algorithmen für (2)? Sind sie besser als die schnellsten von (1)?
quelle
Antworten:
Erwägen Sie die Verwendung der Monte-Carlo-Methode zur Berechnung der Quadratur. Es ist eine gute Wahl, wenn Sie keine so genaue Annäherung benötigen und die Dimension der Domäne groß ist.
Sie sollten auf jeden Fall mehr Details angeben.
quelle
Wenn Sie die Bewertung Ihrer Funktion an Quadraturpunkten des Tensorprodukts im Würfel anzeigen, bildet das resultierende Zahlenfeld einen Tensor. Wenn diesem Tensor eine Struktur mit niedrigem Rang zugrunde liegt, können Sie einige der neuen Tensor-Zug-Approximationstechniken verwenden, um den Tensor zu approximieren, während Sie den Tensor an viel weniger Quadraturpunkten bewerten. Siehe die Arbeit von Ivan Osledets an Tensorzügen, insbesondere TT-Kreuz, das auf der Skelettmatrixzerlegung für die verschiedenen Matrizisierungen des Tensors basiert.
http://www.mat.uniroma2.it/~tvmsscho/papers/Tyrtyshnikov5.pdf
quelle