Sumas y productos
Sumas
Maxima puede calcular sumas numéricas finitas sin ningún tipo de dificultad; pero, como es fácil comprender, el cálculo de sumas simbólicas o de series es mucho más difícil y únicamente es posible en algunos casos particulares, que Maxima es capaz de identificar aplicando una colección de reglas particulares que tiene implementadas. Algunas de estas reglas forman parte del corazón del sistema, mientras que otras están implementadas, de forma modular, en paquetes especiales. Nuestro consejo, si va a realizar sumas simbólicas y series es que haga uso de
para disponer esas reglas adicionales implementadas en dicho paquete.
A continuación describimos comandos que realizan sumas, sin distinguir entre los que forman parte del núcleo y los que dependen del paquete.
- sum(Expresión,Variable,ValorInferior,ValorSuperior);
Realiza la suma entre el ValorInferior y el ValorSuperior cuando estos son numéricos, cuando no lo son, lo deja indicado en forma de sumatorio.
- nusum(Expresión,Variable,ValorInferior,ValorSuperior);
Es un comando análogo al anterior pero con mayor potencia de cálculo. Calcula la suma hipergeométrica indefinida de Expresión respecto de la Variable
usando un procedimiento de decisión debido a R.W. Gosper. Tanto Expresión como la
respuesta potencial debe ser expresable como producto de potencias, factoriales, binomiales y
funciones racionales.
- simpsum
Es una variable booleana (valor por defecto es false) que en caso de ser utilizada con una estructura sintáctica del tipo
sum(...),simpsum
hace que Maxima trate de aplicar reglas adicionales para realizar la suma simbólica. Es decir, con carácter
local para ese comando, actúa como si se hubiera declarado con carácter general simpsum:true;
- simplify_sum(Expresión)
Es un comando con el mismo propósito.
- lsum(Expresión,Variable,Lista);
Realiza la suma para los valores pertenecientes a una Lista.
- sum(1/n, n, 1, 100);
- sum(1/n, n, 1, 100),numer;
- sum(k^2, k, 1, n);
- nusum(k^2, k, 1,n);
- sum(k^2, k, 1, n),simpsum;
- pares : makelist(2*k,k,1,50)$
lsum(1/n^2, n, pares);
- sum(1/2^n +n, n, 1, m);
- sum(1/2^n +n, n, 1, m),simpsum;
- simplify_sum(sum(1/2^n +n, n, 1, m));
- sum(1/n^2, n, 1, inf);
- sum(1/n^2, n, 1, inf),simpsum;
- sum(x^n/n!, n, 0, inf),simpsum;
- simplify_sum(sum(x^n/n!, n, 0, inf));
El paquete simplify_sum
, como ocurre con cualquier paquete, puede ser cargado al inicio de la sesión con Maxima y no es necesario volver a cargarlo hasta que se reinicie Maxima. No obstante, si el paquete se usa con regularidad, es preferible automatizar ese proceso para que Maxima lo carge cada vez que se inicie. Para ello basta incluir en el archivo de configuración maxima-init.mac
una línea con la instrucción load(simplify_sum)
. Dicho archivo de configuración (en GNU/Linux) está situado en la carpeta correspondiente al usuario /home/usuario/.maxima/maxima-init.mac
Productos
Otro comando de naturaleza y sintaxis análoga a sum que permite calcular productos es:
- product(Expresión,Variable,ValorInferior,ValorSuperior);
Realiza el producto indicado entre el ValorInferior y el ValorSuperior cuando estos son numéricos, cuando no lo son, lo deja indicado en forma de producto
- simpproduct
Es un comando booleano con intencionalidad y funcionamiento similar al de simpsum. Su valor por defecto es false.
- product(i^2, i, 1, 5);
- product (a[i], i, 1, 7);
- product (a(i), i, 1, 7);
- product (k, k, 1, n);
- product (k, k, 1, n),simpproduct;
-
Ap_SumasProductos.wxmx
-
Ap_ProgresionGeometrica.wxmx Fórmula de la progresión geométrica