miércoles, 29 de septiembre de 2021

Una relación entre el error relativo de un número aproximado y el número de dígitos significativos exactos

Leyendo el clásico libro de Demidovich y Maron sobre introducción al cálculo numérico, he recordado este interesante teorema —una demostración del cual se puede leer en la página 32 de dicho libro— que relaciona el número de dígitos significativos exactos de una número aproximado con una cota de error relativo, y que resumo a continuación.

  El error relativo en una aproximación $\bar{x}$ de un número $x$, con $n$ dígitos signifativos exactos ($\bar{x}=.d_{1}d_{2}\ldots d_{n}\times 10^{e}$) es menor o igual que $\dfrac{1}{d_n}\cdot 10^{1-n}$, donde $d_n$ es el dígito más significativo de la aproximación.

Ejemplo: Podemos aproximar $\sqrt{2}$ por $1,41=0.141\times 10^1$, con $3$ dígitos significativos exactos. Entonces, como el dígito más signicativo es $1$ y $n=3$, tenemos que el error relativo en la aproximación de $\sqrt{2}$ cumple que $e_{r}(\sqrt{2})\le \dfrac{1}{1}\cdot 10^{1-3}=10^{-2}=0.01=1\,\%$

COMENTARIO. Recordemos que una aproximación $\bar{x}=.d_{1}d_{2}\ldots d_{n}\times 10^{e} \approx x$ tiene todos sus dígitos exactos si el error absoluto es menor o igual que media unidad del orden del dígito menos significativo, esto es, $|x-\bar{x}|\le \dfrac{1}{2}\cdot 10^{-n}$
$\square$
-oOo-

Referencias:
  Demidovich, B.P,; Maron, I.A., Cálculo Numérico Fundamental, Paraninfo, Madrid, 1988

martes, 28 de septiembre de 2021

Acerca de algunas funciones discretas básicas

Entenderemos por funciones discretas las definidas en $\mathbb{R}$ sobre $\mathbb{Z}$, esto es, las funciones que envían números reales a números enteros. Como su nombre sugiere, son importantes en cálculo numérico, programación y matemática discreta. Básicamente, se construyen mediante las funciones suelo y techo. Así, siendo $x \in \mathbb{R}$, se definen de la siguiente manera:

$\text{suelo}(x) \equiv \lfloor x \rfloor \overset{\text{def}}{=}\text{máximo}\{k\in \mathbb{Z}: k\le x\}$, o lo que es lo mismo, $y=\lfloor x \rfloor : y=\{y\in \mathbb{Z} \wedge x\in \mathbb{R} \wedge y \le x \prec y+1\}$
Ejemplos: a) $\lfloor 4,7 \rfloor = 4$, b) $\lfloor -2.6 \rfloor = -3$
y
$\text{techo}(x) \equiv \lceil x \rceil \overset{\text{def}}{=}\text{máximo}\{k\in \mathbb{Z}: k\ge x\}$ , o lo que es lo mismo, $y=\lceil x \rceil : y=\{y\in \mathbb{Z} \wedge x\in \mathbb{R} \wedge y-1 \prec x \le y\}$
Ejemplos: c) $\lceil 4,7 \rceil = 5$, b) $\lceil -2.6 \rceil = -2$


Mediante estas dos funciones podemos hablar de la parte entera de un número real, entendiéndola como la función suelo. En muchos libros de texto suele notarse de la forma $E(x)\equiv\lfloor x \rfloor$ - y se suele notar de la forma $[x]$, esto es, definiéndola de la forma $[x]=E(x):=n \Leftrightarrow n \le x \lt n+1$ -, esto es, endiendo ésta como la función suelo. Así, en muchos lenguajes de programación (como, por ejemplo, Python), $E(x)$ se invoca mediante la instrucción $\text{int}(x)\equiv\lfloor x \rfloor$

Ejemplos: e) $[ 4,7 ] = 4$, f) $[ -2.6 ] = -3$


Observación. No obstante, en el lenguaje de programación C, se sigue otra definición que es la siguiente $\text{int}_{C}(x)=\left\{\begin{matrix}\lceil x \rceil & \text{si} & x \prec 0 \\ \lfloor x \rfloor & \text{si} & x \ge 0 \end{matrix}\right.$
Ejemplos: g) $\text{int}_{C}( 4,7) = 4$, b) $\text{int}_{C}( -2.6) = -2$


-oOo-


Funciones de redondeo y truncamiento Para enviar un número real, $x$, a un número entero por truncamiento utilizamos la siguiente función: $$\mathcal{T}(x)=\left\{\begin{matrix}\lceil x\rceil & \text{si} & x \prec 0 \\ \lfloor x\rfloor & \text{si} & x \ge 0\end{matrix}\right.$$ y para hacerlo por redondeo empleamos $$\mathcal{R}(x)=\left\{\begin{matrix}\lceil x-0.5\rceil & \text{si} & x \prec 0 \\ \lfloor x+0.5\rfloor & \text{si} & x \ge 0\end{matrix}\right.$$
Ejemplos:
i) $\mathcal{T}(1,9)=1$, h) $\mathcal{T}(-1.2)=-2$
j) $\mathcal{R}(1,9)=2$, k) $\mathcal{R}(-1.2)=-2$

Por otra parte, para truncar y redondear ( respectivamente ) un número real a otro número real con un cierto número de dígitos, $n$, en la parte decimal lo hacemos de la siguiente manera: $$\mathcal{T}(x;n)=\left\{\begin{matrix}\dfrac{\lceil 10^{n}\cdot x \rceil}{10^n} & \text{si} & x \prec 0 \\ \\ \dfrac{\lfloor 10^{n}\cdot x \rfloor}{10^n} & \text{si} & x \ge 0 \end{matrix}\right.$$ y para redondear $$\mathcal{R}(x;n)=\left\{\begin{matrix}\dfrac{\lceil 10^{n}\cdot x -0.5 \rceil}{10^n} & \text{si} & x \prec 0 \\ \\ \dfrac{\lfloor 10^{n}\cdot x +0.5 \rfloor}{10^n} & \text{si} & x \ge 0 \end{matrix}\right.$$ Ejemplos:
l) $\mathcal{T}(\pi,3)=3.141$, m) $\mathcal{T}(-2.6785,3)=-2.678$
n) $\mathcal{R}(\pi,3)=3.142$, p) $\mathcal{R}(-2.6785,3)=-2.679$
$\square$
-oOo-

Referencias:
  [1] Funciones discretas, https://es.wikipedia.org/wiki/Funci%C3%B3n_discreta, Wikipedia
  [2] Moreno, C., Introducción al Cálculo Numérico, UNED, Madrid, 2011

Representación en punto flotante en base 10 y en base 2

  En el siguiente ejemplo se muestra la manera de representar en el formato de punto flotante varios números reales (expresados en base 10) en la misma base o en base 2, y con un cierto número de dígitos significativos

NOTA PRELIMINAR. En la representación de un númro real $x$ en el formato de coma flotante, se considera el conjunto de dígitos $\mathcal{M}$, de tal manera que $$\text{float}(x):=\pm\,0.d_{1}\,d_{2}\,\ldots\times b^e\approx \pm\,0.d_{1}\,d_{2}\,\overset{\underbrace{n}}{\ldots},d_{n}\times b^e$$ que es la representación finita de dicha cantidad, donde $0\le d_i \prec b$ para $i=1,2,\ldots ,n$, siendo $b$ un número entero positivo que corresponde a la base de la representación, y el número entero $e$ es el exponente, que puede variar en un determinado rango; y, finalmente, el número entero positivo $n$ da cuenta de la precisión de la representación. La parte fraccionaria se denomina mantisa ( $0.d_{1}d_{2}\ldots d_{n}$ ). Para pasar a la represntación finita, utilizaremos la siguiente notación para notar las necesarias operaciones de truncamiento o bien de redondeo — recordemos que lo usual será hacerlas por redondeo &madash;: $$\mathbb{R}\ni \text{float}(x)=\pm\,0.d_{1}d_{1}\ldots \times b^e \approx \left\{\begin{matrix}\mathcal{T}(x;n)=\text{Ent}(b^n \times 0.m)\times b^{e-n} \\ \mathcal{R}(x;n)=\text{Ent}(b^n \times 0.m+\mu)\times b^{e-n}\end{matrix}\right.$$ donde $\mu$ denota media unidad en el sistema de numeracíon de base $b$ que se emplee; así, si $b=10$ es claro que $\mu=0.5$, y, si, por ejemplo, $b=2$, entonces $\mu=0.1_{2}$ ya que $0.1_{2}=2^{-1}=0.5_{10}$


***

ENUNCIADO. Hállese la representación en punto flotante ( sin dígito principal implícito ) de: a) $2/7$ en un sistema con $b=10$ y $n=6$
b) $327$ en un sistema con $b=2$ y $n=6$
c) $-4/3$ en un sistema con $b=2$ y $n=6$

SOLUCIÓN.
a)
$2/4=0.\overline{285714}_{10}\times 10^0$, luego $e=0$. Así, $4/7 \approx \mathcal{R}(4/7;6) =\text{Ent}(10^6 \times 0.\overline{285714}_{10} +0.5 )\times 10^{0-6}=$
  $=\text{Ent}(10^6 \times 0.285714285714\ldots_{10} +0.5 )\times 10^{-6}$
    $=\text{Ent}(285714.5) \times 10^{-6}$
      $=285714 \times 10^{-6}$
        $=0.285714 \times 10^{0}$

b)
$327_{10}=101000111_{2}=0.101000111_{2}\times 2^9$, luego $e=9$
Entonces, $0.101000111_{2}\times 2^9 \approx \mathcal{R}(0.101000111_{2}\times 2^9;6)=$
  $=\text{Ent}(2^6\times 0.101000111_{2}+\mu)\times 2^{9-6}$
    $=\text{Ent}(101000.111_{2}+\mu)\times 2^{3}$, donde $\mu$ ( media unidad en el sistema binario ) es $0.1_{2}$ ya que esto a su vez es igual a $0.5_{10}$
    $=\text{Ent}(101000.111_{2}+.1_{2})\times 2^{3}$
    $=\text{Ent}(101001.011_{2})\times 2^{3}$
      $=101001_{2}\times 2^{3}$
        $=0.101001_{2}\times 2^6 \times 2^{3}$
          $=0.101001_{2}\times 2^{9}$
Observación. Veamos esa cantidad en base $10$:
            $=(1\times 2^{-1}+1\times 2^{-3}+1\times 2^{-6})\times 2^{9}$
              $=1\times 2^{8}+1\times 2^{6}+1\times 2^{3}$
                $=256+64+8$
                  $=328$

c)
$4/3=1.\overline{3}_{10}=1.01010101\ldots_{2}=0.10101010\ldots_{2}\times 2^1$, luego $e=1$
Entonces $0.10101010\ldots_{2}\times 2^1 \approx $
  $\approx \mathcal{R}(0.10101010\ldots_{2};6)=$
    $=\text{Ent}(2^6\times 0.10101010\ldots_{2}+\mu)\times 2^{1-6}$, donde $\mu$ ( media unidad en el sistema $b=2$) es $\mu=.1_{2}=2^{-1}=0.5_{10}$; y, siendo $e=1$ y $n=6$, el exponente $e-n=1-6=-5$
      $=\text{Ent}(101010.1010\ldots_{2}+.1_{2})\times 2^{-5}$
        $=\text{Ent}(101011.0010\ldots_{2})\times 2^{-5}$
          $=101011\ldots_{2}\times 2^{-5}$
            $=1.01011_{2}$
              $=0.101011_{2}\times 2^1$
Finalmente, tendremos en cuenta que $\mathcal{R}(-x)=-\mathcal{R}(x)$, con lo cual podemos escribir que
                $-4/3 \approx \mathcal{R}(-4/3;6)=-\mathcal{R}(4/3;6)=-0.101011_{2}\times 2^1$
$\square$
-oOo-
Referencias:
  [1] Moreno, C., Introducción al Cálculo Numérico, UNED, Madrid, 2011
  [2] Aubanell, A. et al., Útiles básicos de Cálculo Numérico, Labor, Barcelona, 1993
  [3] Demindovich, B.O.;Maron, I.A., C., Cálculo Numérico Fundamental, Paraninfo, Madrid, 1988

lunes, 27 de septiembre de 2021

¿Qué es un grupo simple finito?¿Cómo se clasifican?

Un grupo algebraico es un conjunto de elementos en el que se define una operación interna que cumple las siguiens propiedades: i) asociativa, ii) existencia de elemento neutro, iii) cada elemento del grupo tiene asociado un elemento opuesto con respecto de la operación definida (en el sentido de que dicho elemento operado con su opuesto es igual al elemento neutro); además, si se cumple la propiada conmutativa, diremos que el grupo en cuestión es abeliano (o conmutativo). Cuando el número de elementos de que consta el grupo es finito decimos que el número de elementos de que consta es finito. Pero, ¿a qué nos referimos cuando hablamos de grupos simples (además de finitos)?¿Cómo se clasifican?.

    Sabido es que todo número natural puede descomponerse de manera única en un conjunto de números naturales, más pequeños, llamados primos por no poder a su vez descomponerse en otros más sencillos; así que podemos ver a los números primos como los materiales primigenios de construcción de los números naturales. Tomando esta idea (véase [4]), ¿podrían ciertos grupos finitos, con determinadas características (véase [1]), llamados simples, descomponerse también en un conjunto de grupos más « sencillos »? Pues bien, la respuesta es sí. Los grupos simples, por tanto, son suceptibles de una clasificación (teorema de clasificación, véase [2]): ¿cuántos tipos de grupos simples finitos hay?.

Desde 1955 los algebristas se lanzaron a estudiar las posibles estructuras de dichos grupos finitos simples, y esa tarea monumental fue completada, arduamente, en 2004. Gracias a este gran esfuerzo colectivo se sabe que todo grupo finito simple es: o bien cíclico, o bien alternante, o de una cierta clase de grupos de Lie (los grupos de Lie son de gran importancia en Física) — hay $18$ familias de infinitos de tales grupos (véase [1]) —; o bien es considerado « anómalo », por tratarse de alguno de los $27$ grupos que no encajan en dichas familias, razón por la cual reciben el nombre de grupos (simples finitos) esporádicos. Por cierto, se sabe que el grupo finito simple esporádico más grande tiene casi $10^{54}$ elementos, y por ello, se le llama el Monstruo (véase [3]).

-oOo-
Referencias:
  [1] Wikipedia, https://es.wikipedia.org/wiki/Grupo_simple
  [2] Wikipedia, https://es.wikipedia.org/wiki/Teorema_de_clasificación_de_grupos_simples
  [3] Wikipedia, https://es.wikipedia.org/wiki/Grupo_monstruo
  [4] Freiberger, M.; Thomas, R., Matemáticas. Cien conceptos, Librero, Madrid, 2020

$\square$

viernes, 24 de septiembre de 2021

La técnica de marcaje y recaptura para estimar el número total de individuos de una población

    La técnica de marcaje y recaptura se suele emplear en ecología para estimar el número total de individuos, $N$, de una cierta especie que habitan en un área delimitada, y consiste en extraer una primera muestra de tamañó $n$, marcando con algún tipo de señal todos los individuos de la misma, liberando después a dichos individuos. Pasado un tiempo razonable, al objeto de que la población se redistribuya de manera homogénea, se extrae una segunda muestra de $m$ individuos, de los cuales, se espera que encontaremos entre ellos $m'$ individuos marcados (que ya formaban parte de la primera muestra). Entonces, teniendo en cuenta que la razón aritmética entre el número de individuos marcados y el número total de individuos en cada muestra debería ser aproximadamente constante, tandrá que cumplirse de manera aproximada la siguiente proporción:
$\dfrac{m'}{m} \sim \dfrac{n}{N}$, y por tanto, el número total de individuos de dicha especie que se estima que hay en el área en la que realizamos el estudio es $N \sim \dfrac{n\,m}{m'}$

Ejemplo del tipo que puede encontrarse en (Yates, 2020):   Queremos estimar el número de caracoles que hay en un jardín. Para ello, capturamos ( en una primera muestra ) 23 individuos ( $n=:23$ ) y los marcamos pegándoles una discreta etiqueta adhesiva en la concha antes de soltarlos. Unos días después, realizamos capturamos otro grupo de caracoles, esta vez fueron ($m=:18$), de los cuales $m'=:3$ tenían la marca que pusimos a los individuos de la primera muestra. Estimemos el número de caracoles, $N$, que hay en el jardín: como
$\dfrac{3}{18} \sim \dfrac{23}{N}$, de donde se obtiene que el número estimado de caracoles que hay en el jardín es $N \sim \dfrac{23\cdot 18}{3} = 138$ individuos en total.
-oOo-

Referencias:
  [1] Yates, K., Los números de la vida, Blackie Books, 2020
  [2] Piñol, J.; Martínez-Vilalta, J., Ecología con números, Lynx, Barcelona, 2006

$\square$

Distribución de bolas (iguales) en urnas sabiendo que algunas de las urnas tienen que quedar vacías

Continuando con los problemas de « bolas y urnas », ligados al patrón de combinaciones con repetición. El caso que se presenta ahora es similar al anterior, sin embargo, ahora fijaremos el número de urnas que deben quedar vacías al distribuir entre ellas un cierto número de bolas.

ENUNCIADO.
  a) ¿De cuántas maneras es posible distribuir $n$ bolas iguales en $k$ urnas (identificables), de manera que $s$ cualesquiera de las urnas queden vacías ($s\le k$)?
  b) ¿De cuántas maneras es posible distribuir $n$ bolas iguales en $k$ urnas (identificables), de manera que $s$ determinadas urnas queden vacías ?


SOLUCIÓN. En un artículo anterior se ha resuelto el problema básico de repartir $n$ bolas iguales en $k$ urnas, en el que se había justificado que la solución consiste en calcular el número de combinaciones con repetición de $n$ bolas elegidas en una gama de $k$ clases: $$\displaystyle \left(\binom{k}{n}\right):=\dfrac{(n+(k-1))!}{n!\,(n-k)!}=\binom{n+(k-1)}{n}=\binom{n+(k-1)}{k-1}$$
a) Como $s$ urnas tienen que quedar vacías, ahora $k:=k-s$ en la solución del problema genérico, con lo cual tendremos $$\displaystyle \left(\binom{k-s}{n}\right)=\binom{n+((k-s)-1)}{(k-s)-1}=\binom{n+k-s-1}{k-s-1}\,\text{posibilidades}$$

b) Si $s$ determinadas urnas del total de $k$ urnas ($s\ge k$) tienen que quedar vacías, el problema difiere el algo del del apartado anterior. Debemos contabilizar primero de cuántas manera podemos elegir esas $s$ urnas que deberán quedar vacías, y ello se puede hacer de $\displaystyle \binom{k}{s}=k$ maneras distintas. A continuación, razonaremos de la siguiente manera: como de las $k-s$ urnas restantes no deberá quedar ninguna vacía, procedamos a ubicar exactamente $1$ bola en cada una de ellas para poder garantizar tal cosa, y, a continuación, veamos de cuántas manera podemos distribuir las $n-(k-s)$ bolas que nos quedan entre las $k-s$ urnas que deberán contener al menos una bola: estableciendo pues $n:=n-(k-s)$ y $k:=k-s$ en la solución genérica de distribución de bolas iguales en urnas distintas, la solución a este problema de reparto entre las urnas no vacías es $$\displaystyle \left(\binom{k-s}{n-(k-s)}\right)=\binom{(n-(k-s))+(k-s)-1}{(k-s)-1}=\binom{n-1}{k-s}$$
Por consiguiente, teniendo en cuenta además (como ya hemos dicho) las posibilidades que tenemos de elegir las $s$ urnas que han de quedar vacías, tendremos un total de $$\displaystyle \binom{k}{s}\cdot\binom{n-1}{k-s}\,\text{posibilidades}$$

-oOo-

Veamos un caso concreto: EJEMPLO. Supongamos que tenemos $n:=8$ bolas a distribuir en $k:=4$ urnas, de entre las cuales:
  (1) $s:=3$ urnas cualesquiera han de quedar vacías
  (2) $s:=3$ urnas prefijadas han de quedar vacías
¿De cuántas maneras se podrá hacer eso?


SOLUCIÓN.
Recordemos ahora que $n:=8$, $k:=4$ y $s:=3$, luego de las soluciones genéricas deducidas arriba, obtenemos los siguientes resultados:

  (1)             $\displaystyle \binom{8+4-3-1}{4-3-1}=\binom{8}{0}=1$ posibilidad

  (2)             $\displaystyle \binom{4}{3}\cdot \binom{8}{0}=4 \cdot 1=4$ posibilidades
$\square$

-oOo-

Referencias:
  [1] Hernández, V.; Vélez, R.: Dados, monedas y urnas, UNED, Madrid, 1995

Otro problema de distribución de bolas (iguales) en urnas

Seguimos con los problemas de « bolas y urnas », ligados al patrón de combinaciones con repetición. Y, por supuesto, aprovecharemos lo que se ha estudiado ya con anterioridad.

ENUNCIADO.
  a) ¿De cuántas maneras es posible distribuir $n$ bolas iguales en $k$ urnas (identificables), de manera que una de las urnas contenga exactamente $r$ bolas ($r\le n$)?
  b) ¿De cuántas maneras es posible distribuir $n$ bolas iguales en $k$ urnas (identificables), de manera que, elegida una determinada urna, ésta contenga exactamente $r$ bolas ($r\le n$)?


SOLUCIÓN. En un artículo anterior se ha resuelto el problema básico de repartir $n$ bolas iguales en $k$ urnas, en el que se había justificado que la solución consiste en calcular el número de combinaciones con repetición de $n$ bolas elegidas en una gama de $k$ clases: $$\displaystyle \left(\binom{k}{n}\right):=\dfrac{(n+(k-1))!}{n!\,(n-k)!}=\binom{n+(k-1)}{n}=\binom{n+(k-1)}{k-1}$$
a) Si una de las $k$ urnas (cualquiera de ellas) tiene que contener exactamente $r\le n$ bolas, debemos resolver el problema de repartir $n-r$ urnas en $k-1$ urnas, así que, en la solución básica tendremos que $n:=n-r$ y $k:=k-1$, con lo cual el número de posibilidades es $$\displaystyle \left(\binom{k-1}{n-r}\right)=\binom{(n-r)+((k-1)-1)}{(k-1)-1}=\binom{n-r+k-2}{k-2}$$

b) Si una urna determinada de las $k$ urnas tiene que contener exactamente $r\le n$ bolas, el problema difiere el algo del del apartado anterior. Debemos contabilizar primero de cuántas manera podemos elegir la urna que contiene exactamente $r$ bolas, y ello se puede hacer de $\displaystyle \binom{k}{1}=k$ maneras. A continuación, razonaremos de la siguiente manera: por cada una de esas $k$ posibilidades, sabemos que existen (por la solución encontrada en el apartado anterior) otras tantas $\displaystyle \binom{n-r+k-2}{k-2}$ maneras de distribuir las $n-r$ bolas en las restantes $k-1$ urnas. Finalmente, por tanto, tendremos un total de $$\displaystyle \binom{k}{1}\displaystyle \binom{n-r+k-2}{k-2}=k\,\binom{n-r+k-2}{k-2}\,\text{posibilidades}$$

-oOo-

Veamos un caso concreto: EJEMPLO. Supongamos que tenemos $n:=8$ bolas a distribuir en $k:=4$ urnas, de entre las cuales:
  (1) en una de ellas (una cualquiera) deberá haber $r:=3$ bolas
  (2) en una determinada urna (prefijada) deberá haber $r$ bolas
¿De cuántas maneras se podrá hacer eso?


SOLUCIÓN.
Recordemos ahora que $n:=8$, $k:=4$ y $r:=3$, luego de las soluciones genéricas deducidas arriba, obtenemos los siguientes resultados:

  (1)             $\displaystyle \binom{8-3+4-2}{4-2}=\binom{7}{2}=6$ posibilidades

  (2)             $\displaystyle \binom{4}{1}\cdot \binom{8-3+4-2}{4-2}=4 \cdot 6=24$ posibilidades
$\square$

-oOo-

Referencias:
  [1] Hernández, V.; Vélez, R.: Dados, monedas y urnas, UNED, Madrid, 1995