Vedi esercizio 1 (e soluzione)
In un linguaggio di programmazione Σn=0 10 n2 può essere realizzato con un cliclo che (ad es. in un Basic strutturato) può avere l'espressione seguente:
S = 0 FOR N=0 TO 10 : S = S+N^2 : NEXT PRINT S |
In Poligon avrebbe una forma simile:
#S = 0 _ FOR #N=0 TO 10 : #S = val(#S+#N^2) |
[vedi QUI e QUI
per i cicli FOR e QUI per l'uso di "_";
occorre mettere VAL(...) in quanto (VEDI)
Poligon nelle variabili #V memorizza termini, non valori numerici: se usassi #S = #S+#N^2, in #S verrebbe memorizzata l'espressione #S+#N^2 e di fronte al calcolo di #S il computer entrerebbe in loop]
Se poi aziono #S= ottengo il valore della somma.
In Poligon c'è un modo più semplice per realizzare le somme
(VEDI). Ad esempio nel caso precedente posso fare:
F(x) = x^2 [0,10] F SUM |
Poligon calcola la somma F(0)+F(1)+...F(10), ossia la somma degli F(x) estesa a tutti gli interi x che stanno nell'intervallo [0,10].
Vedi esercizio 4 (e soluzione)
Vediamo come
studiare la serie 1-1/2+1/3-1/4+... che prosegue sommando i numeri "a segni alterni" (ossia ciascuno di segno opposto rispetto al precedente) aventi come valore assoluto i reciproci degli altri numeri naturali. Devo cercare di esprimere il termine generico della somma come funzione dell'indice. Se voglio che F(1)=1, F(2)=-1/2, F(3)=1/3, ... posso fare:
F(x) = (-1)^(x+1)/x |
Poi sperimentalmente studio Σn=1 ∞ F(n)
[1,1] F SUM = 1 [1,2] F SUM = 1/2 [1,3] F SUM = 5/6 [1,4] F SUM = 7/12 [1,5] F SUM = 47/60 [1,10] F SUM = 1627/2520 [1,100] F SUM = 0.6881721793 [1,1000] F SUM = 0.6926474306 [1,10000] F SUM = 0.6930971831 [1,100000] F SUM = 0.6931421806 |
Mi fermo in quanto il programma impiega troppo tempo, ma sembra di poter congetturare che la serie converga a un numero compreso tra 0.69 e 0.7.
[ in QBasic avrei potuto usare il programma:
DEFDBL A-Z
s = 0
FOR N = 1 TO 100000: s = s + (-1) ^ (N + 1) / N
IF N \ 10000 = N / 10000 THEN PRINT N, s
NEXT
(la prima riga serve per far operare su numeri rappresentati con una doppia quantità di bit; la quarta per stampare le uscite quando N è un multiplo di 10000)
ottenendo:
10000 .6930971830599594
20000 .6931221811849594
30000 .6931305141710715
40000 .6931346807162136
50000 .6931371806599679
60000 .693138847296085
70000 .6931400377538591
80000 .6931409305990451
90000 .6931416250352912
100000 .693142180584982 ]
Per capire meglio l'andamento posso rappresentare graficamente la successione (cioè la somma parziale di ordine n in funzione di n). In Poligon posso procedere così (se voglio far variare n da 1 a 20):
N _ FOR #N = 1 TO 20: #S = [1,#N] F SUM; PLOT x:#N y:#S |
Ottengo:
per vedere tutto il grafico faccio un doppio clic su [o] e poi eventualmente opero uno zoom con [-y] e uno spostamento con [<];
con [:] posso evidenziare i punti; potrei scalare il grafico anche con
Con Maple posso avere l'espressione simbolica della somma: |
sum((-1)^(x+1)/x, x=1..infinity); ln(2) evalf(sum((-1)^(x+1)/x, x=1..infinity), 30); .693147180559945309417232121458 |
Analogamente posso studiare Σn = 1 ∞ (-1)n+1(n+10)/(5n):
F(x) = (-1)^(x+1)*(x+10)/(5x) [1,1] F SUM = 11/5 [1,2] F SUM = 1 [1,5] F SUM = 53/30 [1,10] F SUM = 1627/1260 [1,100] F SUM = 1.376344359 [1,1000] F SUM = 1.385294861 [1,10000] F SUM = 1.386194366 |
Sembra che la somma converga, ma facciamo il grafico: |
Avendo scelto un intervallo abbastanza ampio si intuisce che le somme di ordine pari e quelle di ordine dispari tendono a stabilizzarsi su due valori diversi. Siamo stati ingannati dall'aver, da un certo punto in poi, calcolato solo somme di ordine pari. Rimediamo:
[1,99] F SUM = 1.596344359 [1,999] F SUM = 1.587294861 [1,9999] F SUM = 1.586394366 |
Si può congetturare che la sottosuccessione delle somme di ordine pari e quella delle somme di ordine dispari convergano a due valori diversi (circa 1.39 e 1.59).
La sperimentazione al calcolatore è di aiuto a capire che cosa accade, ma va effettuata non alla cieca, e occorre cercare di accompagnata da conferme teoriche.
Nel nostro caso quanto accade nel primo esempio possiamo interpretarlo col fatto che le due sottosuccessioni delle somme di ordine pari e di ordine dispari sono una crescente e l'altra decrescente
(nel primo caso, passando dal posto 2N al posto 2N+2 aggiungo 1/(2N+1)-1/(2N+2) che è positivo in quanto 2N+2>2N+1;
nel secondo caso, passando dal posto 2N+1 al posto 2N+3 aggiungo -1/(2N+2)+1/(2N+3) che è negativo in quanto 2N+3>2N+2)
e limitate, per cui convergono una al suo estremo superiore e l'altra al suo estremo inferiore,
e che questi due estremi devono coincidere in quanto tra una somma di posto pari N e quella di posto dispari successivo N+1 la differenza è 1/(N+1) che tende a 0.
Questa argomentazione, in pratica, è la stessa che dimostra il teorema (noto come criterio di Leibniz):
una serie a segni alterni i valori assoluti dei cui termini formino una successione decrescente e tendente a 0 converge.
Nel secondo esempio, invece, le due sottosuccessioni
(quella dei posti pari e quella dei posti dispari)
sono sì una crescente e l'altra decrescente, ma la distanza tra l'una e l'altra non tende ad azzerarsi:
tra una somma di posto pari N e quella di posto dispari successivo la differenza è il valore assoluto del termine N+1-esimo, ossia
(N+1+5)/(5N+5), che tende decrescendo a 1/5 = 0.2, come avevamo visto anche con la sperimentazione
numerica, non a 0.
In pratica la serie è una successione che oscilla tra due valori che distano più
di 1/2 e non può convergere: posto ε = 1/2, comunque prenda L e comunque prenda N
posso trovare N > N tale che la somma di ordine N disti da L più di ε.
Potevo concludere la divergenza della seconda serie anche osservando che se la serie
Con Maple: |
sum( (-1)^(x+1)*(x+10)/(5*x), x=1..infinity);
11/5*ln(2)-1/10*hypergeom([2, 2],[3],-1) o undefined evalf("); o evalf(%); Error, (in evalf/hypergeom/converg) series is divergent |
Σn = 0 ∞ (3n+4n)/5n è una serie a termini positivi, quindi è una successione crescente.
F(X) = (3^x+4^x)/5^x [0,10] F SUM = 7.061433344 [0,100] F SUM = 7.499999999 [0,200] F SUM = 15/2 |
Si è stabilizzata;
[0,500] F SUM non dà valori (5^x per x così grande da luogo a un overflow).
Cerchiamo una giustificazione teorica. Idea:
Σn = 0
k (3n+4n)/5n =
Σn = 0
k 3n/5n +
Σn = 0
k 4n/5n [distribuendo "/5", riordinando la somma,raccogliendo "/5"]
Σn = 0
k 3n/5n =
Σn = 0
k (3/5)n =
(1-(3/5)n)/(1-3/5) → 1/(1-3/5) = 5/(5-3) = 5/2
Σn = 0
k 4n/4n =
Σn = 0
k (4/5)n =
(1-(4/5)n)/(1-3/5) → 1/(1-4/5) = 5
Quindi Σn = 0
k (3n+4n)/5n → 5/2+5 = 15/2
Potevamo arrivare a questa conclusione anche usando:
se Σn = h
∞ a(n) = A e
Σn = h
∞ b(n) = B, allora
Σn = h
∞ (a(n)+b(n)) = A+B
Σn = 0
∞ pn = 1/(1-p) se |p|<1, diverge a ∞ se p≥1, diverge se p≤-1 [serie geometrica].
Con Maple: |
sum( (3^n+4^n)/5^n, n=0..infinity); 15/2 |
6/√3 - 6/3/(√3)3 + 6/5/(√3)5 + e così via alternando i segni e aumentando di 2 denominatore ed esponente.
F(X) = (-1)^(x+1)*6/(2*x-1)/(SQR(3)^(2*x-1)) [1,10] F SUM = 3.14159051093808 [1,30] F SUM = 3.14159265358979 [1,31] F SUM = 3.14159265358979 |
[nota: è facile ma
non è banale passare dall'elencazione di un po' di termini ad un'espressione che li sintetizzi come
|
Che la serie converga è confermato dal fatto che si tratta di una serie a segni alterni con termine n-esimo,
Al momento non abbiamo gli strumenti per dimostrare che la somma è effettivamente π. La determinazione dello sviluppo decimale di π e di altri numeri irrazionali è stata una delle molle che hanno spinto allo studio delle serie.
Con Maple: |
sum( (-1)^(n+1)*6/(2*n-1)/(sqrt(3)^(2*n-1)), n=1..infinity); 2*3^(1/2)*hypergeom([1/2, 1],[3/2],-1/3) o ... evalf("); evalf(%); 3.141592654 |
o otteniamo qualcosa in cui compare l'untità immaginaria (I in Maple) con peso "trascurabile": |
evalf(", 15); evalf(%, 15); 3.14159265358980 - .915000000000000*10^-15*I evalf(", 20); evalf(%, 20); 3.1415926535897932383 + .16634605591076231057*10^-19*I |
Esercizi (provare a farli; poi vedremo le soluzioni)
Studia la serie Σn = 1
∞ 1 / (n(n+1)) sperimentalmente, congettura il valore della somma, e prova a dimostrare che converge a questo valore (idea: in base alle uscite congettura l'espressione del valore della somma di ordine n
in funzione di n, dimostra che la somma ha effettivamente questa espressione, e poi studiane il limite per n →∞).
Studia la convergenza delle seguenti serie, prendendo, caso per caso, come h il numero naturale più piccolo per cui tutti i termini della serie sono definiti:
Σn = h
∞ (1 / log(n))
Σn = h
∞ (1 / (1+√n))
Σn = h
∞ ((2n)! / (n!)2)
Σn = h
∞ (2n+1 / nn)
Σn = h
∞ (cos(nπ) / log(n))
Σn = h
∞ ((n)! / nn)
Σn = h
∞ ((1+sin(n)) / n2)
Σn = h
∞ ((5n+1) / (n3+5))