# Práctica 1: Sucesiones y Series

## Sucesiones

### Sucesiones explícitas.

Ejemplo 1. Definición de una sucesión:

a[k]:= 1/(k^2);

Los primeros 10 valores:

makelist(a[k],k,1,10);

Primeros 10 valores en notación decimal:

makelist(a[k],k,1,10), numer;

El límite de esta sucesión existe. En este caso, vemos que Maxima puede calcular el límite, como el límite de una función definida en R.

limit(a[k],k,inf);

Ejemplo 2. El origen del numero e: Una sucesion con el límite e:

b[k]:= (1+1/k)^k;

El límite de esta sucesión es el número e. Maxima reconoce el valor, que se especifica mediante "%e":

L : limit(b[k], k, inf);

Maxima también piede representar el número %e en coma flotante:

float(L);

-------------------------------------------------------------------------------------------
NOTA: Si en un cálculo aritmético aparece un número decimal en coma flotante, se producirá un efecto de contagio que hará que el resultado se devuelva también como decimal. Esto también es cierto para el caso de decimales grandes de precisión arbitraria: 
-------------------------------------------------------------------------------------------

L*4;

float(L)*4;

Dibujamos el límite. Para ello, consideramos de manera arbitraria los 50 primeros términos de la sucesión.

b_x_values:makelist(x, x, 1, 50);

b_y_values:makelist(b[k], k, 1, 50)$

wxplot2d([[discrete,b_x_values,b_y_values], %e], [x,0,50], [style, points]);

### Sucesiones implícitas

Ejemplo 3. Definición de una sucesión implícita: 

c[1]:1;

c[k]:=c[k-1]/(1+c[k-1]);

Los primeros 100 valores, tomando los números naturales desde 1, de 10 en 10:

makelist(c[k],k,1,100,10),numer;

El límite de esta sucesión existe. Sin embargo Maxima no es capaz encontrarlo porque es una sucesión implícita.
Hay que encontrarlo analíticamente.
El comando limit(c[k], k, inf) no funcionará (vemos debajo de este párrafo que arroja un error).
El limite es L = 0. Eso se puede probar por inducción, asumiendo su validez para todo k perteneciente a N, y verificando la validez de la expresión para k+1.

limit(c[k],k,inf);

### Sucesión de Fibonacci:

Otro ejemplo de sucesión implícita: La sucesión de Fibonacci. Definimos sus dos primeros términos 1,1,.... y después la definimos de forma implícita:

fibonacci[1]:1;

fibonacci[2]:1;

fibonacci[k]:=fibonacci[k-2]+fibonacci[k-1];

fibonacci[7];

Estos son los 50 primeros términos de la serie de Fibonacci:

makelist(fibonacci[k],k,1,50);

## Series:

Definición de la sucesión a[k]:

a[k]:= 1/(k^2);

Definición de la suma parcial de la sucesión (hasta n):

S[n]:=sum(a[k],k,1,n);

S[n];

Primeros terminos de la sucesión de sumas parciales:

makelist(S[n],n,1,5);

makelist(S[n],n,1,5),numer;

Terminos cualesquiera de la sucesión de sumas parciales: 

'S[20] = S[20],numer;
'S[50] = S[50],numer;
'S[100]= S[100],numer;

Observese el poco incremento que tiene la respuesta entre los terminos 50 y 100 de la serie (~0.011). 
Se intuye que es convergente hacia un valor no muy lejano de 1.635

Para que sea convergente una serie, su límite en el infinito debe ser cero. Esta condición es necesaria pero no suficiente, de acuerdo con la condición necesaria de convergencia (ver Teoría). Comprobamos este criterio:

limit(a[k],k,inf), simplim=true;

Se cumple la condición necesaria de limite finito. Pero todavía no puede asegurarse que la serie sea convergente.

El limite/la suma infinita de esta serie existe y es conocido. Además la serie está formulado explicitamente: Máxima puede encontrar este valor
:
La definimos como una suma de la sucesión asociada a la serie:

S : sum(a[k],k,1,inf);

S;

S, simpsum = true;

S, simpsum = true, numer;

### Ejemplo: La serie geométrica. 

g[k,x]:= x^k;

makelist(g[k,x],k, 0,10);

Sg[n,x]:=sum(g[k,x],k,0,n)$

Sg[n,x];

makelist(Sg[n,x],n,0,5);

Para |x|<1 la serie geometrica es convergente. Para x≥1 la serie es divergente.
El limite L de la serie geometrica es conocido y es igual a L = 1/(1-x). 
En lo siguente vemos el caso para x = 1/2. 

makelist(Sg[n,1/2],n,0,10);

makelist(Sg[n,1/2],n,0,10),numer;

Definimos el limite L en función de x:

L[x] := 1/(1-(x));

En el caso de x = 1/2, el limite de la serie geometrica es:

L[1/2];

Maxima es capaz a calcular el límite de la serie geometrica. El limite debería ser igual a L[1/2]:

sum(g[n,1/2],n,0,inf),simpsum= true;

Dibujamos la serie. 

nval:makelist(n,n,0,10);

yval:makelist(Sg[n,1/2],n,0,10);

wxplot2d([[discrete,nval,yval],L[1/2]],[n,0,10], [style, points]);