questo post era partito come una domanda, poi però scrivendola credo di essermi risposto da solo. Mi farebbe piacere sapere se questa mia "riflessione" sia corretta.
Considerando l'equazione di Poisson $-u''=f$ con condizioni al bordo essenziali, sappiamo che la formulazione debole,una volta ristretti ad un sottospazio $V_h$ finito dimensionale di $H_0^1$ con base data dalle hat-functions $\phi$
trovare $u \in V_h$ t.c. $- \sum_{i=1}^{M-1} u_i \langle \partial_x \phi_i, \partial_x \phi_j \rangle =\langle f, \phi_j \rangle$ valga per ogni $j$
Venendo al mio problema, ossia la quadratura del termine di destra. Prendendo una griglia non equispaziata e come termine di destra $f(x)=cos(2*pi*x)$, ritrovo esattamente la soluzione analitica usando una formula di quadratura gaussiana e praticamente l'errore puntuale rispetto alla soluzione analitica è nullo in aritmetica di macchina, come è lecito aspettarsi, visto che questa è noto per l'equazione di Poisson. Ovviamente, nel caso equispaziato il risultato in termini di accuratezza è identico.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Considerando ora $f(x)=e^{-10^4 (x-0.5)^2}$, come si può vedere questa ha un comportamente molto simile ad una delta di Dirac centrata a $x=\frac{1}{2}$.
Utilizzando una griglia equispaziata e formula di quadratura gaussiana, ottengo ancora la soluzione analitica. Lo stesso accade per una griglia non equispaziata. Tutto questo senza prendere "tanti" punti.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Supponiamo ora però di utilizzare la formula del trapezio per calcolare ogni $\langle f, \phi_i \rangle$.In questo caso da quello che ho intuito a lezione, una griglia equispaziata o meno fa la differenza
Nel nodo i-esimo si ha che $f_i= \langle f, \phi_i \rangle = \int_{x_{i-1}}^{x_{i+1}} f(x) \phi \approx f(x_i) \frac{h_{i-1}+h_i}{2}$.
Ora, se la griglia fosse equispaziata, e diciamo non troppo fine, allora chiaramente non mi consentirà di catturare il salto che fa la funzione e perciò la valutazione di $f$ nei nodi sarà praticamente nulla.
Con 41 punti, questo è il risultato.
Incrementando il numero di punti riesco ad avvicinarmi sempre di più alla soluzione analitica. Il seguente grafico di convergenza (loglog), (in $x$ il numero di punti, in $y$ la norma infinito dell'errore), mostra che prendendo punti a sufficienza l'ordine è $2$.
Se invece infittisco la griglia intorno a dove ho il picco, ossia a $x= \frac{1}{2}$, ottengo già un risultato apprezzabile. Infatti, sempre prendendo 41 punti come nella prima delle due figure qui sopra, si ottiene
Quindi, in sostanza, quando uso la routine quad dalla libreria scipy questa fa già il lavoro di suddivisione e pertanto nonostante la griglia non sia troppo fine, calcola comunque molto bene l'integrale.
C'è altro che mi sfugge?