Siguiente: , Anterior: , Subir: Números   [Índice general][Índice]

5.1.1 Introducción a los números

Números enteros y racionales

Los cálculos aritméticos con números enteros y racionales son exactos. En principio, los números enteros y racionales admiten una cantidad arbitraria de cifras, con la única limitación que impongan las capacidades de memoria del sistema.

(%i1) 1/3+5/4+3;
                               55
(%o1)                          --
                               12
(%i2) 100!;
(%o2) 9332621544394415268169923885626670049071596826438162146859\
2963895217599993229915608941463976156518286253697920827223758251\
185210916864000000000000000000000000
(%i3) 100!/101!;
                                1
(%o3)                          ---
                               101

Funciones disponibles para los números enteros y racionales:

   integerp       numberp       nonnegintegerp     
   oddp           evenp
   ratnump        rationalize

Números decimales en coma flotante

Maxima hace los cálculos con números decimales en coma flotante en doble precisión. Además, Maxima puede hacer cĺculos con números decimales grandes en coma flotante (bigfloats, en inglés), que, en principio, admiten precisión arbitraria.

La coma de los números decimales en coma flotante se escribe con un punto y el exponente se puede indicar con "f", "e" o "d". Por defecto, Maxima hace los cálculos en doble precisión y muestra el exponente como "e" en el resultado, mientras que representa el exponente con la letra "b" en el caso de decimales grandes de precisión arbitraria. Maxima no distingue si la letra del exponente se escribe en minúscula o mayúscula.

(%i1) [2.0,1f10,1,e10,1d10,1d300];
(%o1)        [2.0, 1.e+10, 1, e10, 1.e+10, 1.e+300]
(%i2) [2.0b0,1b10,1b300];
(%o2)               [2.0b0, 1.0b10, 1.0b300]

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.

(%i1) 2.0+1/2+3;
(%o1)                                 5.5
(%i2) 2.0b0+1/2+3;
(%o2)                                5.5b0

Con las funciones float y bfloat se puede convertir un número en decimal de doble precisión, o de precisión arbitraria, respectivamente:

(%i1) float([2,1/2,1/3,2.0b0]);
(%o1)          [2.0, 0.5, .3333333333333333, 2.0]
(%i2) bfloat([2,1/2,1/3,2.0b0]);
(%o2)     [2.0b0, 5.0b-1, 3.333333333333333b-1, 2.0b0]

Funciones y variables disponibles para números decimales:

   float        floatnump     
   bfloat       bfloatp       fpprec
   float2bf     bftorat       ratepsilon

   number_pbranch 
   m1pbranch

Números complejos

Maxima no tiene un tipo de dato especíco para números complejos; éstos se representan internamente como la suma de la parte real y la imaginaria multiplicada por el símbolo %i, que hace las veces de unidad imaginaria. Por ejemplo, las raíces de la ecuación x^2 - 4*x + 13 = 0 se representan como 2 + 3*%i y 2 - 3*%i.

Maxima no simplifica automáticamente productos, cocientes, raíces y otras expresiones con números complejos. Por ejemplo, para hacer la multiplicación de números complejos se puede utilizar la función expand.

Funciones disponibles para los números complejos:

   realpart     imagpart      rectform     polarform
   cabs         carg          conjugate    csign

Siguiente: , Anterior: , Subir: Números   [Índice general][Índice]