Pitochu
Práctica 1a. Inducción
En algunos ejercicios a veces tenemos que calcular el término general de una suma,
como por ejemplo:
1 + 2 + 3 + ··· + n
12 + 22 + 32 + · · · + n2
13 + 23 + 33 + · · · + n3
En Maxima tenemos disponible el comando
valores de la expresión
valor
b.
expr
sum(expr,k,a,b) que devuelve la suma de
k varía desde el valor a hasta el
cuando lavariable indicada
Ejecute los siguientes comandos:
(%ixx)
(%ixx)
(%ixx)
(%ixx)
(%ixx)
sum(k,k,1,7);
sum(3*k+2,k,1,10);
sum(7,k,1,10);
sum(2*k,k,7,2);
sum(k,k,1,n);
Si intentamos calcular la suma con el valor
b
sin concretarlo, tal y como ocurre en
el último ejemplo, vemos que Maxima devuelve una expresión sin simplicar. Podemos
obligar que Maxima intente simplicar laexpresión, escribiendo lo siguiente:
(%ixx) sum(i,i,1,n), simpsum;
Ahora escriba sendos comandos de Maxima para calcular los valores simplicados de
las sumas siguientes:
12 + 22 + 32 + · · · + n2
13 + 23 + 33 + · · · + n3
1 + a + a2 + · · · + an ,
siendo
a
un número real distinto de
1.
Puede ocurrir que Maxima devuelva una expresión simplicada para una suma, pero
no todo losimplicada que debiera. Ejecute el siguiente comando.
(%ixx) sum(i,i,n,2*n), simpsum;
¾Cómo se explica lo que ha sucedido? Es fácil. Maxima ha ejecutado por separado
cada uno de los comandos siguientes, y ha restado los resultados.
1
(%ixx) sum(i,i,1,2*n), simpsum;
(%ixx) sum(i,i,1,n-1), simpsum;
Recuerde que si en un comando de Maxima escribimos el símbolo
%,
nos estamosreriendo al resultado del último comando ejecutado. Más generalmente, cada salida viene
( %om), siendo m el número de esa salida. Ejecute
Ojo, donde aparece u y v ahora ha de escribir los
precedida por una etiqueta de la forma
lo siguiente, pero no literalmente.
números de las salidas respectivas para los dos comandos anteriores.
(%ixx) expand(%ou - %ov);
Como puede ver, ahora síse ha simplicado totalmente la expresión resultante.
El problema de simplicar expresiones es un problema difícil y no siempre se tiene
éxito. Pruebe con el siguiente comando.
(%ixx) sum(1/((2*i-1)*(2*i+1)),i,1,n),simpsum;
Podemos utilizar el paquete
simplify_sum,
que invocamos de la forma siguiente:
(%ixx) load (simplify_sum);
Maxima lo carga y además devuelve un aviso al cual eneste momento no le hacemos
caso. Si escribe el comando siguiente
(%ixx) %;
verá que la salida es precisamente la última salida que habíamos obtenido, es decir,
el mensaje de advertencia que mostró Maxima al cargar el paquete. Ahora ejecutamos lo
siguiente. Ojo,
u
es el número de la salida del último comando
sum
que hemos ejecutado:
(%ixx) simplify_sum(%ou);
Como vemos Maximaahora sí devuelve su forma simplicada. Podríamos haber
escrito directamente lo siguiente:
(%ixx) simplify_sum(sum(1/((2*i-1)*(2*i+1)),i,1,n));
Pruebe ahora con el siguiente ejemplo:
(%ixx) sum((k^2-1)/(k+1),k,1,n);
(%ixx) simplify_sum(%);
Podríamos haberlo obtenido sin utilizar el comando
simplify_sum
si nos hubiésemos
dado cuenta de que
k2 − 1
= k − 1.
k+1
Para elloejecutamos:
(%ixx) sum(k-1,k,1,n),simpsum;
Análogamente a lo que hemos visto para la suma, Maxima también incluye el comando
product(expr,k,a,b)
que calcula el producto de los valores devueltos por la expresión
cuando la variable
k
en vez de
Ejecute los siguientes comandos:
product.
varía desde
a
hasta
b.
Maxima también acepta que escribamos
(%ixx)prod(k,k,1,5);
(%ixx) prod(2,k,1,5);
2
expr
prod
(%ixx) prod(7,k,5,3);
El primero devuelve el factorial de 5, el segundo
25 = 32
y el tercero devuelve
1
por
deseo de los programadores.
(%ixx) prod(2^k,k,0,5);
En este último comando estamos multiplicando los números
20 = 1, 21 , 22 , 23 , 24 , 25 .
Pero sabemos que las potencias con la misma base se multiplican...
Regístrate para leer el documento completo.