Primeros pasos con Maxima en Fedora linux

Máxima es un sistema de álgebra computacional (CAS) de código abierto con poderosas capacidades simbólicas, numéricas y gráficas. Puede realizar operaciones matriciales, diferenciación, integración, resolver ecuaciones diferenciales ordinarias, así como representar funciones y datos en dos y tres dimensiones. Como tal, es útil para cualquier persona interesada en ciencias y matemáticas. Este artículo trata sobre la instalación y el uso de Maxima en Fedora linux

Instalación de Máxima

Maxima es un sistema de línea de comandos. Puedes instalar Maxima desde el sitio oficial Fedora repositorio usando el siguiente comando:

                      sudo dnf install maxima
                    

Luego puede usar Maxima desde la terminal invocando el comando maxima.

Maxima session en gnome terminal en Fedora Linux 34

Instalación de wxMaxima

wxMaxima es una interfaz basada en documentos para Maxima. Para instalarlo en Fedora Linux, use el siguiente comando:

                      sudo dnf install wxmaxima
                    

Puede iniciar wxMaxima invocando el comando wxmaxima en la terminal o haciendo clic en el ícono de la aplicación desde la cuadrícula o el menú de la aplicación.

sesión de wxMaxima en Fedora Linux 34

Comandos básicos

Después de llamar a maxima, debería ver la salida del terminal como en el figura arriba .

El (%i1) es la etiqueta de entrada donde ingresa los comandos. Comando en Maxima es una expresión que puede abarcar muchas líneas y se cierra con un punto y coma (;). Las etiquetas o denotan las salidas. Los comentarios se encierran entre /* y */. Puede usar el símbolo especial de porcentaje (%) para referirse al resultado inmediatamente anterior calculado por Maxima. Si no desea imprimir un resultado, puede finalizar su comando con $ en lugar de ;. Aquí hay comandos aritméticos básicos en Maxima:

                       (%i1) (19 + 7)/(52 - 2 * 13);
 (%o1)                                  1
 (%i2) 127 / 5;
                                       127
 (%o2)                                 ---
                                        5
 (%i3) float (127 / 5); 
 (%o3)                                25.4
 (%i4) 127.0 / 5;     
 (%o4)                                25.4
 (%i5) sqrt(2.0);
 (%o5)                          1.414213562373095
 (%i6) sin(%pi/2);
 (%o6)                                 1
 (%i7) abs(-12);
 (%o7)                                12
 (%i8) 2+3*%i + 5 - 4*%i;             /*complex arithmetic*/
 (%o8)                              7 - %i
                    

Para finalizar la sesión de Maxima, escriba el comando:

                      quit();
                    

Álgebra

Maxima puede expandir y factorizar polinomios:

                      (%i1) (x+y)^3 + (x+y)^2 + (x+y);
                                3          2
(%o1)                    (y + x)  + (y + x)  + y + x
(%i2) expand(%);
          3        2    2      2                  3    2
(%o2)    y  + 3 x y  + y  + 3 x  y + 2 x y + y + x  + x  + x
(%i3) factor(%);
                          2                2
(%o3)           (y + x) (y  + 2 x y + y + x  + x + 1)
                    

Para sustituir y con z y x con 5, consulte la etiqueta de salida anterior y use el siguiente comando:

                      (%i4) %o3, y=z, x=5;
                                    2
(%o4)                     (z + 5) (z  + 11 z + 31)
                    

Puede manipular fácilmente las identidades trigonométricas:

                      (%i1) sin(x) * cos(x+y)^2;
                                       2
(%o1)                        sin(x) cos (y + x)
(%i2) trigexpand(%);
                                                         2
(%o2)              sin(x) (cos(x) cos(y) - sin(x) sin(y))
(%i3) trigreduce(%o1);
                   sin(2 y + 3 x) - sin(2 y + x)   sin(x)
(%o3)              ----------------------------- + ------
                                 4                   2
                    

También puedes resolver ecuaciones algebraicas en una o más variables:

                      (%i1) solve(x^2+5*x+6);
 (%o1)                         [x = - 3, x = - 2]
(%i2) solve(x^3 + 1);
                  sqrt(3) %i - 1      sqrt(3) %i + 1
 (%o2)     [x = - --------------, x = --------------, x = - 1]
                        2                   2
(%i3) eqns: [x^2 + y^2 = 9, x + y = 3];
                              2    2
 (%o3)                      [y  + x  = 9, y + x = 3]
 (%i4) solve(eqns, [x,y]);
 (%o4)                 [[x = 3, y = 0], [x = 0, y = 3]]
                    

Cálculo

Defina f como una función de x. A continuación, puede encontrar el límite, la derivada y la integral de la función:

                      (%i1) f: x^2;
                                       2
 (%o1)                                x
 (%i2) limit(f,x,0);
 (%o2)                                  0
 (%i3) limit(1/f,x,0);
 (%o3)                                 inf
 (%i4) diff(f, x);
 (%o4)                                2 x
 (%i5) integrate(f, x);
                                       3
                                      x
 (%o5)                                --
                                      3
                    

Para encontrar integrales definidas, modifique ligeramente la sintaxis anterior.

                       (%i6) integrate(f, x, 1, inf);
 defint: integral is divergent.
  -- an error. To debug this try: debugmode(true);
 (%i7) integrate(1/f, x, 1, inf);
 (%o7)                                 1
                    

Maxima puede realizar la expansión de Taylor. Aquí está la expansión de Taylor de sin(x) hasta ordenar 5 términos.

                      (%i1) taylor(sin(x), x, 0, 5);
                                   3    5
                                  x    x
 (%o1)/T/                     x - -- + --- + . . .
                                  6    120
                    

Para representar derivadas en forma no evaluada, use la siguiente sintaxis.

                      (%i2) 'diff(y,x);
                                       dy
 (%o2)                                 --
                                       dx
                    

La función ode2 puede resolver ecuaciones diferenciales ordinarias (EDO) de primer y segundo orden.

                      (%i1) 'diff(y,x,2) + y = 0;
                                    2
                                   d y
 (%o1)                             --- + y = 0
                                     2
                                   dx
 (%i2) ode2(%o1,y,x);
 (%o2)                     y = %k1 sin(x) + %k2 cos(x)
                    

Operaciones Matriciales

Para ingresar una matriz, use la función entermatrix. Aquí hay un example de una matriz general de 2×2.

                      (%i1) A: entermatrix(2,2);
 Is the matrix  1. Diagonal  2. Symmetric  3. Antisymmetric  4. General
 Answer 1, 2, 3 or 4 : 
 4;
 Row 1 Column 1: 
 1;
 Row 1 Column 2: 
 2;
 Row 2 Column 1: 
 3;
 Row 2 Column 2: 
 4;
 Matrix entered.
                                    [ 1  2 ]
 (%o1)                              [      ]
                                    [ 3  4 ]
                    

A continuación, puede encontrar el determinante, la transposición, la inversa, los valores propios y los vectores propios de la matriz.

                      (%i2) determinant(A);
 (%o2)                                 - 2
 (%i3) transpose(A);
                                    [ 1  3 ]
 (%o3)                              [      ]
                                    [ 2  4 ]
(%i4) invert(A);
                                  [ - 2   1  ]
                                  [          ]
 (%o4)                            [  3     1 ]
                                  [  -   - - ]
                                  [  2     2 ]
(%i5) eigenvectors(A);
            sqrt(33) - 5  sqrt(33) + 5
 (%o5) [[[- ------------, ------------], [1, 1]], 
                 2             2
               sqrt(33) - 3         sqrt(33) + 3
       [[[1, - ------------]], [[1, ------------]]]]
                    4                    4
                    

En la etiqueta de salida (%o5), la primera matriz proporciona los valores propios, la segunda matriz proporciona la multiplicidad de los valores propios respectivos y las dos matrices siguientes proporcionan los vectores propios correspondientes de la matriz A.

Graficado

Máxima puede usar cualquiera Gnuplot , Xmaxima o Geomview como programa de gráficos. Paquete Maxima en Fedora Linux viene con gnuplot como dependencia, por lo que Maxima usa gnuplot_pipes como formato de trazado. Para verificar el formato de trazado, use el siguiente comando dentro de Maxima.

                      get_plot_option(plot_format);
                    

A continuación se muestran algunos ejemplos de trazado.

                      (%i1) plot2d([sin(x), cos(x)], [x, -2*%pi, 2*%pi]);
                    
Gráfico bidimensional de las funciones seno y coseno. Gráfico 2d usando Maxima
                      (%i2) plot3d(sin(sqrt(x^2+y^2)), [x, -7, 7], [y, -7, 7]);
                    
Gráfica tridimensional usando máximos. Gráfico 3d usando Maxima
                      (%i3) mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
             [grid,400,400]);
                    
Trama del conjunto de Mandelbrot. El conjunto de Mandelbrot

Puede leer más sobre Maxima y sus capacidades en su página web oficial y documentación .

Fedora Linux tiene una plétora de herramientas para uso científico. Puede encontrar los más utilizados en el Fedora Guía científica .

Related Posts