Mostrando entradas con la etiqueta representación finita. Mostrar todas las entradas
Mostrando entradas con la etiqueta representación finita. Mostrar todas las entradas

miércoles, 2 de agosto de 2023

Redondeo en una representación máquina

Recordemos que la operación de redondeo de un número real $x$ se define así: $\mathcal{R}(x;n)=\text{Ent}(b^n \times 0.m+\mu)\times b^{e-n}$, donde $b$ es la base de numeración y $e$ es el valor del exponente en la notación científica en coma flotante $0.m\times b^e$ (siendo $m$ los dígitos de la mantisa), y $\mu$ representa media unidad en la base de trabajo. Veamos un ejemplo de redondeo, conservando $n:=4$ cifras/dígitos significativos para el caso $\sqrt{5}=2.236067977\ldots=0.2236067977\ldots\times 10^1$. Luego, $e:=1$ (exponente de la potencia), y,como $b:=10$, la media unidad es $\mu:=0.5$.

SOLUCIÓN.
Entonces, $\mathcal{R}(\sqrt{5};4)=\text{Ent}(10^4\times 0.2236067977\ldots+0.5)\times 10^{1-4}=$
  $=\text{Ent}(2236.067977\ldots+0.5)\times 10^{-3}$
    $=\text{Ent}(2236.567977\ldots)\times 10^{-3}$
      $=2236\times 10^{-3}$
        $=2.236$
          $=0.2236\times 10^1$

El máximo error de redondeo, también llamado presición de la máquina, o unidad de redondeo, viene dado por $\dfrac{1}{2}\,b^{e-n}$, que, en nuestro caso es $\dfrac{1}{2}\cdot 10^{1-4}=\dfrac{1}{2}\cdot 10^{1-4}=0.0005$
$\diamond$

Ejemplo de determinación del error en una representación (máquina) finita

ENUNCIADO.
Si se usa una aritmética con redondeo, en un sistema de representación decimal y de $3$ dígitos de precisión, para realizar la siguiente operación $$\dfrac{a\cdot b-c}{b+2\cdot c}$$ donde $a=1.34$, $b=0.712$, $c=-0.355$, determínese el error cometido en relación a la aritmética real (exacta).

SOLUCIÓN.
Como se usan tres dígitos de precisión ( el número de cifras significativas es $3$ ) tenemos $n:=3$. Por otra parte, como $1 \prec a \prec 2$, el exponente de la potencia en base $10$ (al escribirlo en notación de punto flotante) es $e_a:=1$ ( $1.34=0.13|4\times 10^1$ ); y en cuento a los otros dos: como $0 \prec b \prec 1$, $e_b:=0$ ( $0.712=0.712\times 10^0$ ), y como como $0 \prec |c| \prec 1$, $e_c:=0$ ( $-0.355=-0.355\times 10^0$ ); esto es:
        $a=0.134\times 10^1$, $b=0.712\times 10^0$ y $c=-0.355\times 10^0$

Entonces, los resultados aproximados ( en la aritmética finita o de la máquina ) de las operaciones que componen la operación combinada son:
  $a\cdot b\approx \mathcal{R}(1.34\cdot 0.712)=\mathcal{R}(0.95408)=0.954\times 10^0$
    $a\cdot b-c\approx \mathcal{R}(0.954-(-0.355))=\mathcal{R}(0.1309\times 10^1)=0.131\times 10^1$
      $b+2c\approx \mathcal{R}(0.712+2\cdot (-0.355))=\mathcal{R}(0.002)=0.2\times 10^{-2}$

Por consiguiente,
        $\bar{x}\overset{.}{=}\dfrac{a\cdot b-c}{b+2\cdot c}\approx \mathcal{R}\left(\dfrac{0.131\times 10^1}{0.2\times 10^{-2}}\right)=655=0.655\times 10^3$

Teniendo en cuenta que el resultado exacto e igual $x=654.54=.65454\times 10^3$, el error relativo es $E_{R}\overset{\text{def}}{=}\dfrac{|x-\bar{x}|}{|x|}=\dfrac{|.65454\times 10^3-0.655\times 10^3|}{|.65454\times 10^3|}=0.0007027836 \prec 0.000703 =$ $=0.703\times 10^{-3}=0.703\times 10^{-1}\,\%\sim 0.07\,\%$

jueves, 20 de julio de 2023

Cálculo de la representación finita de un número real en un computador, empleando la operación de redondeo

Se considera el número real $\dfrac{2}{3}$, y se desea representarlo en un sistema de representación finita, $\mathcal{M}$, por redendeo, con cinco dígitos ($n=5$) y en base igual de representación igual a diez ($b=10$). También se desea calcular el valor de la unidad de redondeo (o precisión de la máquina) en dicha representación.

Observemos que, en un sistema de representación en punto flotante de precisión infinita, $\mathbb{R} \ni x=0.d_1\,d_2\,d_3\,\ldots \times b^e$; por lo que, en nuestro caso, $x=:\dfrac{2}{3}=0.6666\ldots \times 10^0$, con lo cual, $e=0$

Por otra parte, sabemos que en un sistema de representación de precisión finita, y, por redondeo, un número real $x$ se escribe de la forma $\mathcal{R}(x):=\left[b^n \times 0.m +0.5 \right] \times b^{e-n}$, donde $m$ designa el grupo de infinitos dígitos $d_1\,d_2\,d_3\,\ldots$

Pues bien, como $n=5$ y $b=10$, se tiene que $$\mathcal{R}(2/3)=\left[10^5 \times 0.6666666\ldots +0.5 \right]\times 10^{0-5}=\left[66667.1666\ldots \right]\times 10^{-5}=66667\times 10^{-5}=0.66667$$

Es sabido que $|x-\mathcal{R}(x)|\le \dfrac{1}{2}\,b^{e-n}$, donde el segundo miembro de la desigualdad, que es el máximo error absoluto que se puede cometer en la representación finita descrita (empleando la operación de redondeo), es lo que denominamos precisión de la máquina. Por tanto, el caso que nos ocupa, dicho valor es igual a $\dfrac{1}{2}\,10^{0-5}=5 \times 10^{-6}=0.000001$. $\diamond$