इस लंबे प्रश्न के केवल पहले दो खंड आवश्यक हैं। दूसरे सिर्फ दृष्टांत के लिए हैं।
पृष्ठभूमि
उच्च-श्रेणी के समग्र न्यूटन-कोट्स, गौ-लीजेंड, और रोमबर्ग जैसे उन्नत क्वाडरेज़ उन मामलों के लिए मुख्य रूप से अभिप्रेत प्रतीत होते हैं जहां कोई कार्य को नमूना बना सकता है लेकिन विश्लेषणात्मक रूप से एकीकृत नहीं करता है। हालाँकि, नमूने अंतराल के साथ संरचनाओं के साथ काम करने के लिए (उदाहरण के लिए परिशिष्ट ए देखें) या माप शोर, वे मिडपॉइंट या ट्रेपेज़ॉइड नियम (प्रदर्शन के लिए परिशिष्ट बी देखें) जैसे सरल दृष्टिकोणों के साथ प्रतिस्पर्धा नहीं कर सकते।
यह कुछ हद तक सहज है, उदाहरण के लिए, कम्पोजिट सिम्पसन अनिवार्य रूप से सूचना का एक चौथाई हिस्सा "कम वजन" बताकर उसे कम करता है। पर्याप्त रूप से उबाऊ कार्यों के लिए इस तरह के चतुर्भुज बेहतर होने का एकमात्र कारण यह है कि सीमा प्रभाव को सही ढंग से संभालना, खारिज सूचना के प्रभाव को प्रभावित करता है। एक अन्य दृष्टिकोण से, यह मेरे लिए सहज रूप से स्पष्ट है कि एक ठीक संरचना या शोर के साथ कार्यों के लिए, नमूने जो एकीकरण डोमेन की सीमाओं से दूरस्थ हैं, लगभग समान होना चाहिए और लगभग समान वजन (उच्च संख्या में नमूने के लिए) )। दूसरी ओर, इस तरह के कार्यों का चतुर्थांश सीमा प्रभावों (मिडपॉइंट विधि की तुलना में) के बेहतर संचालन से लाभान्वित हो सकता है।
सवाल
मान लें कि मैं संख्यात्मक रूप से शोर या ठीक-संरचित एक-आयामी डेटा को एकीकृत करना चाहता हूं।
नमूना बिंदुओं की संख्या निर्धारित है (फ़ंक्शन मूल्यांकन महंगा होने के कारण), लेकिन मैं उन्हें स्वतंत्र रूप से रख सकता हूं। हालाँकि, मैं (या विधि) अन्य बिंदुओं के नमूने के परिणामों के आधार पर, नमूने बिंदुओं को अंतःक्रियात्मक रूप से नहीं रख सकता। मैं संभावित समस्या क्षेत्रों को पहले से नहीं जानता। तो, गौ-लीजेंड (गैर-समतुल्य नमूनाकरण अंक) जैसा कुछ ठीक है; अनुकूली चतुष्कोणीय नहीं है क्योंकि इसमें अंतःक्रियात्मक रूप से नमूने के अंक की आवश्यकता होती है।
क्या इस तरह के मामले के लिए किसी भी तरीके को मिडपॉइंट विधि से आगे बढ़ाने का सुझाव दिया गया है?
या: क्या कोई प्रमाण है कि ऐसी स्थितियों में मिडपॉइंट विधि सबसे अच्छी है?
आम तौर पर: क्या इस समस्या पर कोई मौजूदा काम है?
परिशिष्ट A: एक ठीक संरचित फ़ंक्शन का विशिष्ट उदाहरण
मैं for: साथ और । एक विशिष्ट कार्य इस तरह दिखता है:φमैं∈[0,2π]लोग इनωमैं∈[1,1000]
मैंने निम्न गुणों के लिए इस फ़ंक्शन को चुना:
- यह नियंत्रण परिणाम के लिए विश्लेषणात्मक रूप से एकीकृत किया जा सकता है।
- इसकी एक स्तर पर ठीक संरचना है जो उन सभी नमूनों को कैप्चर करना असंभव बना देता है जो मैं उपयोग कर रहा हूं ( )।
- इसकी ठीक संरचना पर इसका प्रभुत्व नहीं है।
परिशिष्ट B: बेंचमार्क
पूर्णता के लिए, यहाँ पायथन में एक बेंचमार्क है:
import numpy as np
from numpy.random import uniform
from scipy.integrate import simps, trapz, romb, fixed_quad
begin = 0
end = 1
def generate_f(k,low_freq,high_freq):
ω = 2**uniform(np.log2(low_freq),np.log2(high_freq),k)
φ = uniform(0,2*np.pi,k)
g = lambda t,ω,φ: np.sin(ω*t-φ)/ω
G = lambda t,ω,φ: np.cos(ω*t-φ)/ω**2
f = lambda t: sum( g(t,ω[i],φ[i]) for i in range(k) )
control = sum( G(begin,ω[i],φ[i])-G(end,ω[i],φ[i]) for i in range(k) )
return control,f
def midpoint(f,n):
midpoints = np.linspace(begin,end,2*n+1)[1::2]
assert len(midpoints)==n
return np.mean(f(midpoints))*(n-1)
def evaluate(n,control,f):
"""
returns the relative errors when integrating f with n evaluations
for several numerical integration methods.
"""
times = np.linspace(begin,end,n)
values = f(times)
results = [
midpoint(f,n),
trapz(values),
simps(values),
romb (values),
fixed_quad(f,begin,end,n=n)[0]*(n-1),
]
return [
abs((result/(n-1)-control)/control)
for result in results
]
method_names = ["midpoint","trapezoid","Simpson","Romberg","Gauß–Legendre"]
def med(data):
medians = np.median(np.vstack(data),axis=0)
for median,name in zip(medians,method_names):
print(f"{median:.3e} {name}")
print("superimposed sines")
med(evaluate(33,*generate_f(10,1,1000)) for _ in range(100000))
print("superimposed low-frequency sines (control)")
med(evaluate(33,*generate_f(10,0.5,1.5)) for _ in range(100000))
(मैं यहां केवल उच्च आवृत्ति सामग्री वाले कार्यों के कारण आउटलेर्स के प्रभाव को कम करने के लिए माध्यिका का उपयोग करता हूं। इस परिणाम के लिए, परिणाम समान हैं।)
रिश्तेदार एकीकरण त्रुटियों के मध्यस्थ हैं:
superimposed sines
6.301e-04 midpoint
8.984e-04 trapezoid
1.158e-03 Simpson
1.537e-03 Romberg
1.862e-03 Gauß–Legendre
superimposed low-frequency sines (control)
2.790e-05 midpoint
5.933e-05 trapezoid
5.107e-09 Simpson
3.573e-16 Romberg
3.659e-16 Gauß–Legendre
नोट: दो महीने और परिणाम के बिना एक इनाम के बाद, मैंने इसे MathOverflow पर पोस्ट किया ।