Manual de Maxima 5.46.0: Funciones y variables para los números

Previous: Introducción a los números, Subir: Números [Índice general][Índice]

#### 5.1.2 Funciones y variables para los números

Función: bfloat (expr)

  Convierte todos los números y funciones numéricas a números decimales de punto flotante grandes ("bigfloats"). El número de dígitos significativos de los "bigfloats" resultantes se especifica mediante la variable global `fpprec`.

  Si `float2bf` vale `false` se mostrará un mensaje de aviso cuando un número en punto flotante se convierte a decimal de tipo "bigfloats", puesto que tal transformación puede conllevar pérdida de precisión.

Función: bfloatp (expr)

  Devuelve `true` si expr es un número decimal en punto flotante grande ("bigfloats"), en caso contrario devuelve `false`.

Variable optativa: bftorat

  Valor por defecto: `false`

  La variable `bftorat` controla la conversión de números decimales de punto flotante grandes ("bigfloats") a números racionales. Si `bftorat` vale `false`, se utilizará `ratepsilon` para controlar la conversión (lo cual resulta en números racionales relativamente pequeños). Si `bftorat` vale `true`, el número racional generado representará exactamente al número decimal de punto flotante grande ("bigfloat").

Variable optativa: bftrunc

  Valor por defecto: `true`

  La variable `bftrunc` provoca la eliminación de ceros en números decimales grandes no nulos para que no se muestren. Así, si `bftrunc` vale `false`, `bfloat (1)` se muestra como `1.000000000000000B0`. En otro caso, se mostrará como `1.0B0`.

Función: evenp (expr)

  Devuelve `true` si expr es un entero par y `false` en cualquier otro caso.

Función: float (expr)

  Convierte los enteros, números racionales y los decimales de punto flotante grandes ("bigfloats") que están presentes en expr a números de punto flotante. También actúa como símbolo `evflag`.

Variable optativa: float2bf

  Valor por defecto: `true`

  Si `float2bf` vale `false` se mostrará un mensaje de aviso cuando un número en punto flotante se convierte a decimal de tipo "bigfloats", puesto que tal transformación puede conllevar pérdida de precisión.

Función: floatnump (expr)

  Devuelve `true` si expr es un número de punto flotante, en caso contario retorna `false`.

Variable optativa: fpprec

  Valor por defecto: 16

  La variable `fpprec` guarda el número de dígitos significativos en la aritmética con números decimales de punto flotante grandes ("bigfloats"). La variable `fpprec` no afecta a los cálculos con números decimales de punto flotante ordinarios.

  Véanse también `bfloat` y `fpprintprec`.

Variable optativa: fpprintprec

  Valor por defecto: 0

  La variable `fpprintprec` guarda el número de dígitos a imprimir de los números decimales en coma flotante, tanto los ordinarios como los de precisión ilimitada (bigfloats).

  En el caso de los decimales ordinarios, si `fpprintprec` toma un valor entre 2 y 16 (inclusive), el número de dígitos que se imprimen es igual a `fpprintprec`. En caso contrario, `fpprintprec` es 0 o mayor que 16, siendo el número de dígitos a imprimir en todos loa casos igual a 16.

  En el caso de los decimales de precisión ilimitada (bigfloats), si `fpprintprec` toma un valor entre 2 y 16 (inclusive), el número de dígitos que se imprimen es igual a `fpprintprec`. En caso contrario, `fpprintprec` es 0 o mayor que `fpprec`, siendo el número de dígitos a imprimir igual a `fpprec`.

  La variable `fpprintprec` no admite el valor 1.

Función: integerp (expr)

  Devuelve `true` si expr es un número entero y `false` en cualquier otro caso.

  La función `integerp` devuelve `false` si su argumento es un símbolo, incluso cuando éste ha sido declarado como entero.

  Ejemplos:

      (%i1) integerp (0);
      (%o1)                         true
      (%i2) integerp (1);
      (%o2)                         true
      (%i3) integerp (-17);
      (%o3)                         true
      (%i4) integerp (0.0);
      (%o4)                         false
      (%i5) integerp (1.0);
      (%o5)                         false
      (%i6) integerp (%pi);
      (%o6)                         false
      (%i7) integerp (n);
      (%o7)                         false
      (%i8) declare (n, integer);
      (%o8)                         done
      (%i9) integerp (n);
      (%o9)                         false

Variable opcional: m1pbranch

  Valor por defecto: `false`

  La variable `m1pbranch` es la rama principal de `-1` elevado a una potencia. Cantidades como `(-1)^(1/3)` (esto es, un exponente racional impar) y `(-1)^(1/4)` (esto es, un exponente racional par) son tratados como sigue:

                    dominio real

      (-1)^(1/3):      -1
      (-1)^(1/4):   (-1)^(1/4)

                   dominio complejo
      m1pbranch:false          m1pbranch:true
      (-1)^(1/3)               1/2+%i*sqrt(3)/2
      (-1)^(1/4)              sqrt(2)/2+%i*sqrt(2)/2

Función: nonnegintegerp (n)

  Devuelve `true` si y solo si `n >= 0`, siendo n un entero.

Función: numberp (expr)

  Devuelve `true` si expr es un enúmero entero, racional, de coma flotante o "bigfloat", en caso contrario devuelve `false`.

  La función `numberp` devuelve `false` si su argumento es un símbolo, incluso cuando el argumento es un número simbólico como `%pi` o `%i`, o aunque haya sido declarado como `even` (par), `odd` (impar), `integer` (entero), `rational` (racional), `irrational` (irracional), `real` (real), `imaginary` (imaginario) o `complex` (complejo).

  Ejemplos:

      (%i1) numberp (42);
      (%o1)                         true
      (%i2) numberp (-13/19);
      (%o2)                         true
      (%i3) numberp (3.14159);
      (%o3)                         true
      (%i4) numberp (-1729b-4);
      (%o4)                         true
      (%i5) map (numberp, [%e, %pi, %i, %phi, inf, minf]);
      (%o5)      [false, false, false, false, false, false]
      (%i6) declare (a, even, b, odd, c, integer, d, rational,
           e, irrational, f, real, g, imaginary, h, complex);
      (%o6)                         done
      (%i7) map (numberp, [a, b, c, d, e, f, g, h]);
      (%o7) [false, false, false, false, false, false, false, false]

Variable opcional: numer

  La variable `numer` hace algunas funciones matemáticas con argumentos numéricos se evalúen como decimales de punto flotante. También hace que las variables de una expresión a las cuales se les ha asignado un número sean sustituidas por sus valores. Además, activa la variable `float`.

  Véase también `%enumer`.

  Ejemplos:

      (%i1) [sqrt(2), sin(1), 1/(1+sqrt(3))];
                                                     1
      (%o1)                   [sqrt(2), sin(1), -----------]
                                                sqrt(3) + 1
      (%i2) [sqrt(2), sin(1), 1/(1+sqrt(3))],numer;
      (%o2) [1.414213562373095, .8414709848078965, .3660254037844387]

Variable opcional: numer_pbranch

  Valor por defecto: `false`

  La variable opcional `numer_pbranch` controla la evaluación numérica de las potencias de números enteros, racionales y decimales negativos. Si `numer_pbranch` vale `true` y el exponente es decimal o la variable opcional `numer` vale `true`, Maxima evalúa el resultado numérico utilizando la rama principal. En caso contrario, se devuleve un resultado simplificado pero no evaluado.

  Ejemplos:

      (%i1) (-2)^0.75;
      (%o1) (-2)^0.75

      (%i2) (-2)^0.75,numer_pbranch:true;
      (%o2) 1.189207115002721*%i-1.189207115002721

      (%i3) (-2)^(3/4);
      (%o3) (-1)^(3/4)*2^(3/4)

      (%i4) (-2)^(3/4),numer;
      (%o4) 1.681792830507429*(-1)^0.75

      (%i5) (-2)^(3/4),numer,numer_pbranch:true;
      (%o5) 1.189207115002721*%i-1.189207115002721

Función: numerval (x_1, expr_1, ..., var_n, expr_n)

  Declara las variables `x_1`, ..., x_n asignándoles los valores numéricos `expr_1`, ..., `expr_n`. El valor numérico se evalúa y sustituye a la variable en cualquier expresión en la que ésta aparezca si `numer` toma el valor `true`. Véase también `ev`.

  Las expresiones `expr_1`, ..., `expr_n` pueden ser expresiones no necesariamente numéricas.

Función: oddp (expr)

  Devuelve `true` si expr es un entero impar y `false` en caso contrario.

Variable opcional: ratepsilon

  Valor por defecto: 2.0e-8

  La variable `ratepsilon` guarda la tolerancia utilizada en la conversión de números decimales en coma flotante a números racionales.

Función: rationalize (expr)

  Convierte todos los números en coma flotante de doble precisión y grandes (big float) presentes en una expresión expr de Maxima a sus formas racionales exactas equivalentes. Si el usuario no está familiarizado con la representación binaria de números en coma flotante, le puede extrañar que `rationalize (0.1)` no sea igual que 1/10. Este comportamiento no es único de Maxima, ya que el número 1/10 en su forma binaria es periódico y no exacto.

      (%i1) rationalize (0.5);
                                      1
      (%o1)                           -
                                      2
      (%i2) rationalize (0.1);
                                     1
      (%o2)                          --
                                     10
      (%i3) fpprec : 5$
      (%i4) rationalize (0.1b0);
                                   209715
      (%o4)                        -------
                                   2097152
      (%i5) fpprec : 20$
      (%i6) rationalize (0.1b0);
                           236118324143482260685
      (%o6)                ----------------------
                           2361183241434822606848
      (%i7) rationalize (sin (0.1*x + 5.6));
                                    x    28
      (%o7)                     sin(-- + --)
                                    10   5

Función: ratnump (expr)

  Devuelve `true` si expr es un entero literal o una fracción de enteros literales, en caso contrario devuelve `false`.

Previous: Introducción a los números, Subir: Números [Índice general][Índice]