martes, 22 de agosto de 2023

Ecuaciones con congruencias

Sabemos que una ecuación del tipo $a\equiv b\,(\text{mod}\,m)$ tiene solución si y solo si $d:=\text{mcd}(a,m)|b$. En el caso de admitir solución, resolver dicha ecuación en congruencias es equivalente a resolver la ecuación diofántica lineal $ax+my=b$, cuya solución general, como ya sabemos, tiene la estructura $\{x,y\}=\{ x_0+\dfrac{m}{d}\,\lambda\,\,,\,\,y_0-\dfrac{a}{d}\,\lambda\,\forall\,\lambda \in \mathbb{Z}\}$, siendo $(x_0,y_0)$ una solución particular. Por supuesto, de dicha solución general, nos interesan en especial los valores de $x$ que la satisfacen, si bien los de $y$, pueden ser también de interés "físico" en el caso de que la variable $y$ pueda tener algún significado en el contexto de un problema concreto.

Ejemplo 1

La ecuación $2x\equiv 3\,(\text{mod}\,10)$ no admite solución, pues $d=\text{mcd}(2,10)=2\not |\; 3$

Ejemplo 2

Nos proponemos ahora resolver la ecuación $2x\equiv 3\,(\text{mod}\,5)$, que sí admite solución, ya que $d=\text{mcd}(2,5)=1\not |\; 3$.

La ecuación diofántica equivalente es $2x+5y=3$. Una solución particular de la misma es $(x_0=9,y_0=-3)$, ya que $2\cdot 9+5\cdot (-3)=18-15=3$, luego la estructura de la solución general es $\{(x,y)\}=\{(9+\dfrac{5}{1}\,\lambda\,\,,\,\,-3-\dfrac{2}{1}\,\lambda)\;\forall\,\lambda \in \mathbb{Z}\}$, esto es $\{x,y\}=\{ (9+5\,\lambda\,\,,\,\,-3-2\,\lambda)\;\forall\,\lambda \in \mathbb{Z}\}$   $\diamond$.

jueves, 17 de agosto de 2023

Operando en base diez, el dígito menos significativo de $a$ y el de $a^5$ son los mismos

Sea un número natural $a$, entonces para que el último dígito de $a^5$ coincida con el último dígito de $a$, debe cumplirse que $a^5 \equiv a\,(\text{mod}\,10)$.

Haciendo unas cuántas pruebas es fácil darse cuenta de que para cualquier otro exponente distinto de $5$, en general, no coinciden las últimas cifras de ambas cantidades.

Vamos a justificar esta popiedad. Sabemos que todo número natural $1\le a \le 10^n$ (siendo $n$ un número natural), puede expresar como desarrollo en serie de potencias de base $10$ de la forma $\displaystyle a=\left(\sum_{i=1}^{n-1}\,\alpha_i\,10^i\right)+u$, donde $u$ es el dígito menos significativo por el que estamos interesados (el de las unidades), y los $\{\alpha_i\}_{i=1}^{n-1}$ representa el conjunto del resto de dígitos del desarrollo. Factorizando la base de las potencias, $10=2\cdot 5$, el desarrollo anterior se escribe de la forma $\displaystyle a=\left( \sum_{i=1}^{n-1}\,\alpha_i\,(2\cdot 5)^i \right)+u=\left(\sum_{i=1}^{n-1}\,\alpha_{i}^{'} \,5^i\right)+u$, donde $\alpha_{i}^{'}=2\,\alpha_i$ para cada $i=1,\ldots,n-1$; por consiguiente, $u \equiv a\,(\text{mod}\,5) \overset{\text{(por el pequeño teorema de Fermat)}}{=}a^5 \,(\text{mod}\,5)$   $\diamond$.

Un ejemplo de suma y multiplicación de congruencias

Sabemos que (propiedades de la suma y producto de congruencias) que, siendo $a,a',b,b',c$ números naturales, si $a \equiv a' \,(\text{mod}\,c)$ y $b \equiv b' \,(\text{mod}\,c)$, entonces $a+b \equiv a'+b' \,(\text{mod}\,c)$, y $a\cdot b \equiv a'\cdot b' \,(\text{mod}\,c)$.

Un ejemplo de aplicación de dichas propiedades:

Consideremos $a=:24$ y $b=:44$. Como $24 \equiv 10\,(\text{mod}\,14)$ y $44 \equiv 2\,(\text{mod}\,14)$, se tiene que $24+44 \equiv 10+2\,(\text{mod}\,14)=12 \,(\text{mod}\,14)$; en efecto (comprobación) al realizar la división euclídea de $24+44=68$ entre $14$, se obtiene resto igual a $12$, como debe ser. Por lo que respecta al producto, $24\cdot 44 \equiv 10\cdot 2\,(\text{mod}\,14)=20 \,(\text{mod}\,14) \equiv 6 \,(\text{mod}\,14) \,\because\, 20=10\cdot 1+6$; que es el resultado que cabria esperar, pues al realizar la división euclídea de $24\cdot 44=1056$ entre $14$, se obtiene resto igual a $6\, \because\,1056=75\cdot 14+6$   $\diamond$.

Un ejemplo sencillo de aplicación del pequeño teorema de Fermat para calcular una potencia de base $a$ (número natural) y de exponente $p$ (número primo) como clase de resto (congruencia) módulo $p$

Queremos calcular el resto de la división euclídea de $8^7$ entre $7$. Sabemos, por el pequeño teorema de Fermat, que $a^p \equiv a \,(\text{mod}(p)$ si $p$ es primo; entonces, como $7$ es un número primo ($p=:7$), y $a=:8$, se tiene que $8^7 \equiv 8 \, (\text{mod}\,7)=1 \, (\text{mod}\,7)\, \because\, 8 \equiv 1 \, (\text{mod}\,7)$   $\diamond$.

Propiedades relevantes de la función indicatriz de Euler

Recordemos que la función indicatriz de Euler de un número entero positivo $m$, distinto de cero, proporciona el número de números naturales menores o iguales que $m$ que son coprimos con $m$   (*), y se de demuestra que $\displaystyle \varphi(m):=m\,\prod_{p_i|m}\,\left(1-\dfrac{1}{p_i}\right)$; siendo $\{p_i\}$, el conjunto de números primos que dividen a $m$   (**). Entonces, a partir de ahí, es fácil demostrar las siguientes propiedades:

  1. $\varphi(p)\overset{\text{(*)}}{=}p-1$ si $p$ es primo, habida cuenta de la definición de la función   $\diamond$.
  2. $\varphi(m\,n)\overset{\text{(*)}}{=}\varphi(m)\,\varphi(n)$ si $(m,n)=1$, habida cuenta de la definición de la función; en particular, si $m$ y $n$ son números primos, se tiene que $\varphi(m\,n)\overset{\text{P1}}{=}(m-1)\,(n-1)$   $\diamond$.
  3. $\varphi(p^k)=(p-1)\,p^{k-1}$ si $p$ es primo y $k\in \mathbb{N}$; en efecto, $\varphi(p^k)\overset{\text{(**)}}{=}p^k\,\left(1-\dfrac{1}{p}\right)=p^k\,\dfrac{(p-1)}{p}=(p-1)\,p^{k-1}$   $\diamond$.

miércoles, 16 de agosto de 2023

El teorema de Euler-Fermat tiene un papel relevante en matemática discreta (teoría de números)

Preliminar:

Recordemos, para empezar, que dos números enteros positivos $a,b$ son coprimos si el máximo común divisor de dichos números es $1$, y lo notamos de la froma $\text{mcd}(a,b)=1$ (de manera más compacta: $(a,b)=1$); así, por ejemplo, $12$ y $35$ son coprimos, pues $(12,35)=1$. Por otra parte, la función $\varphi$ de Euler (o función indicatriz de Euler) de un número natural, $n$, que escribimos de la forma $\varphi(n)$ proporciona el número de números naturales menores o iguales que $n$ que son coprimos con $n$, esto es, $\varphi(n)=|\{m \in \mathbb{N}: m\le n\,\wedge\,(m,n)=1\}|$, donde $|.|$ designa el cardinal del conjunto (entre llaves). Así, por ejemplo, $\varphi(24)=8$ ya que $|\{1,5,7,11,13,17,19,23\}|=8$.

A efectos prácticos, y para evitar tener que escribir la lista de todos los divisores del número en cuestión que son coprimos con dicho número para contarlos uno a uno, es muy útil la siguiente fórmula para calcular el valor de la función indicatriz de Euler para dicho número: $\displaystyle \varphi(n):=n\,\prod_{p_i|n}\,\left(1-\dfrac{1}{p_i}\right)$; siendo $\{p_i\}$, el conjunto de números primos que dividen a $n$.

Otro ejemplo de cálculo de la función indicatriz de Euler: $\varphi(75)$

Teniendo en cuenta que los divisores primos de $75$ son $3$ y $5$, puesto que $75=3\cdot 5^2\cdot 3$, se tiene que, de acuerdo con la definición, $\varphi(75)=75\cdot \left(1-\dfrac{1}{3}\right)\,\left( 1- \dfrac{1}{5}\right)=75\cdot \dfrac{2}{3}\cdot \dfrac{4}{5}=40$

Teorema (de Euler-Fermat):

Vamos a recordar ahora lo que se afirma en dicho teorema, si bien no reproduciré aquí la demostración: $a^{\varphi(n)}$ es congruente con $1$ módulo $n\in \mathbb{N}$, para todo número $a \in \mathbb{Z} \setminus \{0\}$ tal que éste y $n$ sean coprimos, esto es, en esas condiciones, el resto de la división euclídea de $a^{\varphi(n)}$ entre $n$ es igual a $1$; y, exprasado de una manera más compacta, $a^{\varphi(n)} \equiv 1 \,(\text{mod}\; n)\,\forall a \in \mathbb{Z} \setminus \{0\}: (a,n)=1$.

Ejemplo:

Consideremos, por ejemplo, $a=:6$ y $n=:5$, entonces, como se cumple que $(6,5)=1$, por el teorema se tiene que $6^{\varphi(5)}=6^4=1296 \equiv 1 (\text{mod}\,5)$, lo cual es fácilmente comprobable: al dividir $1296$ entre $5$ se obtiene cociente igual a $259$ y, como debe ser, resto igual a $1$.

-oOo-

Comentario:

Otro resultado muy importante en el cálculo con congruencias (clases de resto) es el pequeño teorema de Fermat, que dice así: dado un número entero positivo $a$ y un número primo $p$, tales que $(a,p)=1$ ($a$ y $p$ son coprimos), entonces $a^{p-1} \equiv 1 \,(\text{mod}\;p)$   (1). Dicho sea de paso que, sin necesidad de que $a$ y $p$ sean coprimos, se llega también a la siguiente afirmación $a^p \equiv a\,(\text{mod}\,p)$; en efecto, $a^{p-1} \equiv 1 \,(\text{mod}\;p) \therefore a\cdot a^{p-1}=a^p \equiv a\cdot 1 \,(\text{mod}\;p) = a\,(\text{mod}\;p)$   (2).

Ejemplos

  1. Veamos un ejemplo para el resultado (1): consideremos $a=:5$ y $p=:3$ ($5,3)=1$), entonces $5^{3-1}=5^2=25 \equiv \,(\text{mod}\; 3)$
  2. Veamos un ejemplo para el resultado (2): sea $a=:7$ y $p=:3$ (ahora, $(6,3) = 1$), entonces $7^{3}=343 = 1 \equiv \,(\text{mod}\; 3)$; en efecto, el resto de la división euclídea de $343$ entre $3$ es igual a $1$. Formulado el resultado del pequeño teorema de Fermat como (2), y aunque $(a,p)\, \not| 1$, se puede comprobar que se verifica (tal como se demuestra arriba): consideremos, por ejemplo, $a=:6$ y $p=:3$ — observemos que, en este caso, $(6,3) \neq 1$ —, entonces $6^{3}=216 = 0 \equiv \,(\text{mod}\; 3) = 6 \equiv \,(\text{mod}\; 3)$; en efecto, el resto de la división euclídea de $216$ entre $3$ es $0$, como también es $0$ el resto de la división de $6$ entre $3$.

$\diamond$

lunes, 14 de agosto de 2023

$n\,(n+1)\,(2\,n+1)$ es múltiplo de $6$

Sea $p:=n\,(n+1)\,(2n+1)$, donde $\mathbb{N} \ni n \ge 1$. ¿Es $6$ divisor de $p$?

Sabemos que $6|p$ ($6$ es divisor de $p$) si y sólo si $2|p$ y $3|p$:

Es claro que paara $n=:1$, $p=1\cdot 2 \cdot 3 = 6$, y, evidentemente, en este caso, $6|p$; lo mismo sucede para $n=:2$, pues $p=2\cdot 3\cdot 5=30$, con lo que $6|p$ también en este otro caso. Examinemos, a continuación, qué sucede para cualquier número natural $n\gt 2$

Tanto si $n$ es par como si es impar, $n\,(n+1)$ es par, en consecuencia, al multiplicar el producto de estos factores por un número natural cualquiera (en este caso por $2n+1$) se deduce que $2|n\,(n+1)\,(2n+1)$; esto es, $2|p$

Analicemos ahora que sucede si realizamos la división euclídea de $n$ entre $3$, obtendremos $n=3\,\ell+r$, donde $\mathbb{N} \ni \ell \lt n$ y $r \in \{0,1,2\}$. Entonces:

(i) En el caso de que $r=0$, se tiene que $n=3\,\ell+0=3\,\ell$ y por tanto $3|n$, luego al multiplicar $n$ por otros dos números naturales cualesquiera, como son en este caso en concreto, $n+1=3\,\ell+1$ y $2n+1=6\,\ell+2$, es claro que el producto de los tres factores también es múltiplo de $3$, con consecuencia $3|p$, y al haber demostrado ya que $2|p$, concluimos que $6|p \;\;\diamond$.

(ii) En el caso de que $r=1$, se tiene que $n=3\,\ell+1$, con lo cual $n+1=3\,\ell+2$ y $2\,n+1=2\cdot (3\,\ell+1)+1=3\cdot 2\,\ell+2+1=3\cdot 2\,\ell+3=3\,(2\,\ell+1) \therefore 3|2\,n+1$, luego al ser uno de los tres factores de $p$ un múltiplo de $3$, se tiene que $3|p$, y, como en el caso anterior, al haber demostrado ya al principio que $2|p$, concluimos $6|p \;\;\diamond$.

(iii) En el caso de que $r=2$, se tiene que $n=3\,\ell+2$, con lo cual $n+1=3\,\ell+3=3\,(\ell+1)$, por lo que al ser uno de los tres factores de $p$ un múltiplo de $3$, se tiene que $3|p$, y, como en los casos anteriores, habiendo demostrado ya (al principio) que $2|p$, concluimos que $6|p \;\;\diamond$.

-oOo-

Comentario:

La expresión $n\,(n+1)\,(2n+1)$ aparece en la fórmula de la suma de los $n$ primeros términos de la sucesión de los cuadrados $1^2+2^2+3^2+\ldots+n^2$. Dicha suma es igual a $\dfrac{n\,(n+1)\,(2n+1)}{6}$ y puede demostrarse fácilmente por el método de inducción.

jueves, 3 de agosto de 2023

Matriz adjunta de una matriz cuadrada

Dada una matriz cuadrada $A$ de orden $n$ ( $A \in \mathcal{M}_{n \times n}$ ) se define su matriz adjunta de la siguiente forma
    $\text{adj}(A)=(\alpha_{ij})^t$
donde $\alpha_{ij}$, que se denomina cofactor de $a_{ij}$, se calcula de la forma
$\alpha_{ij}=(-1)^{i+j}\,M_{ij}$   siendo $M_{ij}=\det(A_{ij})$ el menor complementario que se obtiene suprimiendo de $A$ la fila i-ésima y la columna j-ésima.

Propiedades: Si $A$ es una matriz cuadrada de orden $n$, entonces
$\text{adj}(AB)=\text{adj}(A)\,\text{adj}(B)$
$\text{adj}(A \pm B)\neq \text{adj}(A)\pm \text{adj}(B)$
$\text{adj}(A^m)=\big(\text{adj}(A)\big)^m$
$\text{adj}(I)=I$
$\text{adj}(A^t)=(\text{adj}(A))^t$
$A\,\text{adj}(A)=\text{adj}(A)\,A=\det(A)\cdot I$
$\text{adj}\big(\text{adj}(A)\big)=\big(\det(A)\big)^{n-2}\, A$
$\text{adj}(\lambda\,A)=\lambda^{n-1}\,\text{adj}(A)$
$\det(A)=\dfrac{1}{n}\,\text{tr}(A\,\text{adj}(A)$
$\det\big(\text{adj}(A)\big)=\det\big(A^{n-1}\big)$

Propiedad: Cálculo del determinante desarrollando por los adjuntos de una fila
$\det(A)=\displaystyle \sum_{j=1}^{n}\,a_{kj}\,\alpha_{kj}\quad \forall k=1,2,\ldots, n$

Propiedad: Cálculo del determinante desarrollando por los adjuntos de una columna
$\det(A)=\displaystyle \sum_{i=1}^{n}\,a_{ik}\,\alpha_{ik}\quad \forall k=1,2,\ldots, n$

Propiedad: Cálculo de la matriz inversa de una matriz no singular a partir de la la matriz adjunta
$A^{-1}=\dfrac{\text{adj}(A)}{\det(A)}$

Propiedad:
$\text{adj}(A^{-1})=\big(\text{adj}(A)\big)^{-1}$

    [matrices con MAXIMA]


Axioma del supremo

Este importante axioma dice lo siguiente:

Sea $E \subseteq \mathbb{R}$, siendo $E \neq \emptyset$ y acotado superiormente. Entonces, $E$ tiene supremo (la menor de las cotas superiores).

De forma análoga se puede decir que si $E \subseteq \mathbb{R}$, siendo $E \neq \emptyset$ y acotado inferiormente. Entonces, $E$ tiene ínifimo (la mayor de las cotas inferiores).

El axioma del supremo, junto con los axiomas 1-12 del cuerpo de los números reales, da completitud y continuidad al conjunto de los números reales ya que garantiza que llenen la recta numérica, sin dejar "agujeros", a diferencia del cuerpo de los números racionales, que no es completo, puesto que éstos no llenan toda la recta numérica.

Observación:   Un cuerpo que posea el axioma del supremo es también arquimediano; lo recíproco no es siempre cierto, por ejemplo, el cuerpo de los números racionales $\mathbb{Q}$ es arquimediano pero no se verifica en él el axioma del supremo puesto que no es un cuerpo completo.


Espacio vectorial cociente inducido por una relación de equivalencia

Relación de equivalencia:
Dado un conjunto $E$, se define en él una relación binaria de equivalencia $\mathcal{E}$, cumpliendo por tanto las propiedades: reflexiva, simétrica y transitiva ). Pues bien, dicha relación de equivalencia determina una partición de $E$, cuyas partes se llaman clases de equivalencia y, recíprocamente, cualquier partición de $E$ establece una relación de equivalencia en $E$.

Dada $\mathcal{E}$ ( una r. de e. en $E$ ), se llaman clase de equivalencia de un elemento $w \in E$, y se designa por $[w]$, al cojunto de elementos que se relacionan con $w$ mediante $\mathcal{E}$, és decir
    $[w]=\{x \in E \, | \, x \,\mathcal{E}\, w \}$

Las clases de equivalencia cumplen las siguientes propiedades:
  a) Dados $x,y \in E$, $x \, \mathcal{E} \, \text{y} \, \Leftrightarrow [x]=[y]$
  b) Dados $x,y \in E$, $x \; \text{no es equivalente a}\; y \Leftrightarrow [x]\cap [y] = \emptyset$
  c) $\displaystyle \cup_{x \in E} [x]=E$

Relación de equivalencia asociada a una aplicación entre dos conjuntos:
Dada una aplicación   $f: A\rightarrow B$, se define la relación binaria tener la misma imagen por la aplicación ( que es de equivalencia ). Esta relación de equivalencia $\mathcal{E}$ se denomina equivalencia asociada a la aplicación y, por tanto, podemos afirmar que dados $x,y \in A$, $x \, \mathcal{E}\, y \Leftrightarrow f(x)=f(y)$.

    Teorema:   Dada una aplicación   $f: E\rightarrow E^{'}$ y la relación de equivalencia asociada, se demuestra que la aplicación $f$ puede descomponerse en tres aplicaciones:
        $f=i \circ b \circ e$
de tal forma que
          $e:E \rightarrow E/\mathcal{E}$   ($e$ es exhaustiva)
          $b: E/\mathcal{E} \rightarrow Im(E)$   ( tal que $b([x])=f(x)$ es biyectiva )
          $i: Im(E) \rightarrow E^{'}$   ( tal que $i\big(f(x)\big)=f(x)$ es inyectiva )
[esquema]


Espacio vectorial cociente:

Sea $(E,+,\cdot)$ un e.v. sobre un cuerpo conmutativo $K$, y sea $\mathcal{E}$ una relación de equivalencia definida en $E$ que sea compatible con la estructura de e.v. sobre $k$.

Por ser $(E,+)$ grupo abeliano, dicha relación de equivalencia debe ser del tipo
$x \, \mathcal{E} \, y \Leftrightarrow x-y \in F$, para todo par $x,y \in E$, donde $F$ es un subgrupo del grupo abeliano $(E,+)$. Siendo, además, $\mathcal{E}$ también compatible con la operación externa producto por escalares, se tiene que $x \, \mathcal{E} \, y \Leftrightarrow \lambda \cdot x \,\, \mathcal{E} \,\, \lambda \cdot y \; \;\forall \lambda \in K$. Entonces, como $\lambda \cdot x - \lambda \cdot y \in F \Leftrightarrow \lambda \cdot (x-y) \in F$, $F$ es un e.v. de $E$.
[Nota: cualquier $z \in F$ puede considerarse como la diferencia de dos vectores $x$ e $y$ equivalentes, ya que elegido un $x \in E$ arbitrario, basta tomar $y=x-z$ ]

Se comprueba que, dado $(E,+,\cdot)$ y dado $F \subset E$, un subespacio vectorial de $E$, la estructura $(E/\mathcal{E},+,\cdot)$ es un e.v. que se denomina espacio vectorial cociente y ser representa por $(E/F,+,\cdot)$ debido a que la relación de equivalencia $\mathcal{E}$ distingue al subespacio vectorial $F$.


Acotaciones, supremo e ínfimo

Encunciado:
Sea
  $A=\{ x \in \mathbb{R}: \dfrac{(x-1)(x-2)}{(x-3)(x-4)} \lt 0 \}$
Demostrar que $A$ está acotado y calcular su supremo y su ínfimo

Solución:
Sea
Multiplicando ambos miembros de
  $\dfrac{(x-1)(x-2)}{(x-3)(x-4)} \lt 0$
por $(x-3)^2\,(x-4)^2$
y, simplificando, se llega a
    $(x-1)(x-2)(x-3)(x-4)\lt 0$
que és un polinomio de cuarto grado cuatro $P_{4}(x)$, cuyas raíces son ( $1,2,3,4$ )
Luego, es evidente que para $x\lt 1$, $P_{4}(x)\succ 0$, con lo cual se deduce
que los intervalos dónde el polinomio toma valores positivos son $(1,2)$ y $(3,4)$, luego
$A=(1,2) \cup (3,4)$
con lo cual, $\forall x \in $ se cumple que $1 \lt x \lt 4$
luego $A$ está acotado. Y su supremo (la menor de las cotas superiores) e ínfimo (la mayor de las cotas inferiores) son
  $\text{sup}(A)=4$ i $\text{inf}(A)=1$
$\square$


Aritmética modular

Sean $x,y,n \in \mathbb{Z}$, tales que $|x| \le |n|$ e $|y| \le |n|$, consideremos, en $\mathbb{Z}$, la siguiente relación de equivalencia:
    $x \,\mathcal{E}\, y \Leftrightarrow \text{resto}(x \div n)=\text{resto}(y \div n)$
que también se puede expresar de otras formas equivalentes
    $x \,\mathcal{E}\, y \Leftrightarrow n | (x-y)$     ( n es divisor de $x-y$ )
    $x \,\mathcal{E}\, y \Leftrightarrow (x-y)=\dot{n}$     ( $x-y$ es un múltiplo de $n$ )
Es sabido que una relación de equivalencia induce en un conjunto ( en $\mathbb{Z}$, en nuestro caso ) una partición en clases de equivalencia. El conjunto de estas clases se denomina conjunto cociente $\mathbb{Z}/\mathcal{E}$. En el caso que nos ocupa, podemos decir que, para un determinado $n \in \mathbb{Z}$, todos los números enteros mayores en valors absoluto que $\left|n\right|$, tales que al dividirlos por $n$, se obtenga resto con valor $r_i$, pertenecen a una misma clase de equivalencia $\left[r_i\right]$ ( donde $i=0,1,2, \ldots, n-1$ y $0 \le r_i \le n-1 $ ).

Designaremos por $\mathbb{Z}/n$ al conjunto cociente ( conjunto de las clases ) inducido por la relación de equivalencia descrita; también se conoce dicho conjunto cociente como conjunto de las clases de resto módulo $n$. Dichas clases, pues, corresponden a cada uno de los posibles restos, es decir:

    $\mathbb{Z}/n=\{\left[0\right]_{n},\left[1\right]_{n},\left[2\right]_{n},\ldots,\left[n-1\right]_{n}\}$

Por lo tanto, dado un determinado número entero $n$ ( módulo ), diremos que un número entero $x$ pertence a la clase de resto   $\left[r_i\right]_{n}$   si y sólo si $\text{resto}(x \div n)=r_i$ ( y recordemos que $0 \le r_i \le n-1 $ con $i=0,1,2,\ldots,n-1$ ).

Así, podemos decir que dos números enteros $x$ e $y$ son congruentes módulo $n$, y se escribe $x \equiv y (n)$, si y sólo si ambos números pertenecen a la misma clase de resto ( se obtiene el mismo resto en las divisiones $x \div n$ e $y \div n$ ).

Hay un par de propiedades bàsicas muy interesantes que dan origen al cálculo con clases de resto ( o cálculo de congruencias ). Son las siguientes.
Dados $a,b,n \in \mathbb{Z}$ tales que $\left|a\right|\le n$ y $\left|b\right|\le n$, y dadas las congruencias ( equivalencias por clases de resto) $a \equiv a^{'} (n)$ y $b \equiv b^{'} (n)$, entonces:
    i) $a + b \equiv a^{'}+b^{'} (n)$
    ii) $a \cdot b \equiv a^{'}\cdot b^{'} (n)$

Una famosa aplicación del cálculo con congruencias es la llamada prueba del nueve, con la que se puede verificar el resultado de las operaciones más costosas realizadas a mano, una multiplicación o de una división, por ejemplo. Se elige el nueve como módulo del cálculo por razones de eficiencia en las propios cálculos de comprobación. Tengamos en cuenta que, antes de la aparición de las máquinas calculadoras, este tipo de pruebas facilitaban la comprobación de largos cálculos. Veamos algún ejemplo, aunque con números no muy grandes, para no cansar al lector.
Nota: En realidad, un resultado satisfactorio en la comprobación de un cálculo no garantiza, de hecho, la absoluta certeza del resultado de éste, puesto que podrían haberse dado errores que se compensaran mutuamente.

1) Caso de una multiplicación:
    $46 \cdot 68 = 3128 \quad \quad (1)$
Comprobación:
$46\equiv 1 (9)$
$68\equiv 5 (9)$
y, de acuerdo con las propiedades,
$46 \cdot 68 \equiv 1 \cdot 5 (9)$
            $\equiv 5 (9)$
y, por otro lado,
    $3128 \equiv 5 (9)$
luego la operación (1) queda comprobada

1) Caso de una división:
    $3468 \div 124 \rightarrow q=27 \quad \quad r=120 \quad \quad (2)$
Comprobación:
$3468\equiv 3 (9)$
$124\equiv 7 (9)$
$27\equiv 0 (9)$
$120\equiv 3 (9)$
Para efectuar la comprobación de los cálculos, vamos a ver si se cumple el teorema de la división euclidiana, operando con las congruencias:
Si
$3468 = 124 \cdot 27 +120$
entonces, con las congruencias, debe cumplirse que
$3 = 7 \cdot 0 + 3$
lo cual es cierto y, por consiguiente, damos por comprobada la operación (2).
$\square$

Topología en $\mathbb{R}$ (un ejercicio)

Dados los conjuntos $A\subset \mathbb{R}$ y $B\subset \mathbb{R}$ definidos de la forma
$A=\{x \in \mathbb{R} \,:\, x=\dfrac{3n-1}{2n}, \; n\in \mathbb{N}$
$B=\{x \in \mathbb{R} \,:\, x=\dfrac{n^2+2}{n^2}, \; n\in \mathbb{N}$
Se pide:
a) ¿ Es $A$ abierto ? ¿ Es cerrado ?
a) ¿ Es $B$ abierto ? ¿ Es cerrado ?
c) Hallar los siguientes conjuntos: $\text{ac}(A)$, $\text{ac}(B)$ y $\text{ac}(A \cup B)$
d) ¿ Es $A \cup B$ cerrado ?
e) Hallar los siguientes conjuntos: $\text{adh}(A)$, $\text{adh}(B)$ y $\text{adh}(A \cup B)$

Solución:
a) ¿ Es $A$ abierto ? ¿ Es cerrado ?
El conjunto dado corresponde a los términos de la sucesión
$\{1\;,\;\frac{5}{4}\;,\;\frac{4}{3},\ldots\}$
Observemos también que la sucesión converge y que el valor del límite del término general (que es igual a $3/2$ ) no corresponde a ningún término de la sucesión; por tanto, al ser el valor de límite un punto de acumulación ( es el único, de hecho, por una de las propiedades estudiadas) y al no pertenecer éste a $A$ deducimos de ésto que $A$ no contiene a todos sus puntos de acumulación (propiedad) y, por consiguiente, $A$ no es un conjunto cerrado.

Veamos si se trata de un conjunto abierto. $A$ será abierto si su complementario $\mathbb{R}-A$ es cerrado. És claro que $\{1\;,\;\frac{5}{4}\;,\;\frac{4}{3},\ldots\}$, que son los elementos de $A$, son puntos de acumulación de $\mathbb{R}-A$, pero no son los únicos puntos de acumulación que tiene dicho conjunto; en consecuencia, $\mathbb{R}-A$ no es cerrado y, por tanto, su complementario $A$ no es un conjunto abierto.

Resumiendo: $A$ no es un conjunto abierto ni es un conjunto cerrado.

b) ¿ Es $B$ abierto ? ¿ Es cerrado ?
El conjunto dado corresponde a los términos de la sucesión
$\{1\;,\;\frac{3}{2}\;,\;\frac{11}{9},\ldots\}$
Observemos, también aquí, que la sucesión converge y que el valor del límite del término general (que es igual a $1$ ) no corresponde a ningún término de la sucesión; por tanto, al ser el valor de límite un punto de acumulación ( es el único, de hecho, por una de las propiedades estudiadas) y al no pertenecer éste a $A$ deducimos de ésto que $B$ no contiene a todos sus puntos de acumulación (propiedad) y, por consiguiente, $B$ no es un conjunto cerrado.

Veamos si se trata de un conjunto abierto. $B$ será abierto si su complementario $\mathbb{R}-B$ es cerrado. És claro que $\{3\;,\;\frac{3}{2}\;,\;\frac{11}{9},\ldots\}$, que son los elementos de $B$, son puntos de acumulación de $\mathbb{R}-B$, pero no son los únicos puntos de acumulación que tiene dicho conjunto, es decir, no contiene a todos sus puntos de acumulación; en consecuencia, $\mathbb{R}-B$ no es cerrado y, por tanto, su complementario $B$ no es un conjunto abierto.

Resumiendo: Como en el caso de $A$, resulta que $B$ no es un conjunto abierto ni es un conjunto cerrado.

c) Hallar los siguientes conjuntos: $\text{ac}(A)$, $\text{ac}(B)$ y $\text{ac}(A \cup B)$
$\text{ac}(A)=\{\frac{3}{2}\} \in B$ ya que corresponde al siguiente término $b_2 \in B$
$\text{ac}(B)=\{1\} \in A$ ya que corresponde al término $a_1 \in A$
por tanto
$\text{ac}(A \cup B)=\{1,\frac{3}{2}$

d) ¿ Es $A \cup B$ cerrado ?
Observemos que $A \cup B$ incluye todos sus puntos de acumulación (que son $1$ y $\frac{3}{2}$), en consecuencia $A \cup B$ es un conjunto cerrado.

e) Hallar los siguientes conjuntos: $\text{adh}(A)$, $\text{adh}(B)$ y $\text{adh}(A \cup B)$
$\text{adh}(A)=A\cup \text{ac}(A)$
    $=\{1\;,\;\frac{5}{4}\;,\;\frac{4}{3},\ldots\} \cup \{\frac{3}{2}\}$
    $=\{1\;,\;\frac{5}{4}\;,\;\frac{4}{3}\ldots;\frac{3}{2}\}$
$\text{adh}(B)=B\cup \text{ac}(B)$
    $=\{3\;,\;\frac{3}{2}\;,\;\frac{11}{9},\ldots\} \cup \{1\}$
    $=\{1;3\;,\;\frac{3}{2}\;,\;\frac{11}{9}\ldots\}$
Por tanto
$\text{adh}(B) \cup \text{adh}(B)$
    $=\{1\;,\;\frac{5}{4}\;,\;\frac{4}{3}\ldots;\frac{3}{2}\} \cup \{1\} \cup \{1;3\;,\;\frac{3}{2}\;,\;\frac{11}{9}\ldots\} $
    $= A \cup B$
$\square$


Subespacios vectoriales (ejemplos)

Enunciat:
Considereu l'espai afí $(\mathbb{R}^3, O, \mathcal{B})$ on:
    $\mathbb{R}^3$ és l'espai vectorial estàndard sobre el cos $\mathbb{R}$
    L'origen de coordenades $O$ és el punt de coordenades $(0,0,0)$
    La base $\mathcal{B}$ escollida de l'espai vectorial $\mathbb{R}^3$ està formada pels vectors
            $\{e_1=1,0,0,e_2=(0,1,0),e_3=(0,0,1)\}$
                ( que es la base estàndard o canònica).
Determineu l'equació implícita (o e. general) del pla que passa pels punts $P(1,0,0)$, $Q(0,1,0)$ i $R(0,0,1)$


  Comentari:   Les projeccions d'aquest pla sobre els plans $Oxy$, $Oxz$ i $Oyz$, són rectes que formen angles de 45º amb els eixos respectius.

Solució:
L'equació implícita del pla
    $A\,x+B\,y+C\,z+D=0$
que passa per tres punts donats
    $P(x_P,y_P,z_P)$, $Q(x_Q,y_Q,z_Q)$ i $R(x_R,y_R,z_R)$
ve donada per
    $\begin{vmatrix} x&y &z &1\\ x_P&y_P &z_P &1 \\ x_Q&y_Q &z_Q &1 \\ x_R&y_R &z_R &1 \end{vmatrix}=0$
que, amb les dades donades, es concreta així
    $\begin{vmatrix} x&y &z &1\\ 1&0 &0 &1 \\ 0&1 &0 &1 \\ 0&0 &1 &1 \end{vmatrix}=0$
Per calcular el determinant d'ordre $4$ desenvoluparem pels adjunts de la primera columna
    $\begin{vmatrix} x&y &z &1\\ 1&0 &0 &1 \\ 0&1 &0 &1 \\ 0&0 &1 &1 \end{vmatrix}=x\,\begin{vmatrix} 0&0 &1 \\ 1&0 &1 \\ 0&1 &1 \end{vmatrix}-\begin{vmatrix} y&z &1 \\ 1&0 &1 \\ 0&1 &1 \end{vmatrix}=x-(1-y-z)$
                                                                              $=x+y+z-1$

Per tant el pla $\pi_{PQZ}$ ve descrit per l'equació (e. general del pla):

    $\pi_{PQZ}:\;\; x+y+z-1=0$

Nota:   Observem que si fem les projeccions del pla sobre els tres plans $Oxy$ ( fent $z=0$ ), $Oyz$ ( fent $x=0$ ) i $Oxz$ ( fent $y=0$ ) obtenim, respectivament, les rectes:
    $x+y=1$, és a dir, la recta $y=-x+1$ ( en el pla $Oxy$ )
    $z+y=1$, és a dir, la recta $z=-y+1$ ( en el pla $Oyz$ )
    $x+z=1$, és a dir, la recta $z=-x+1$ ( en el pla $Oxz$ )
$\square$


Ecuaciones implícitas y ecuaciones paramétricas de un subespacio vectorial

Cosiderar un subespacio vectorial $V=L \left[(1,0,-1),(1,-1,0)\right] \subset \mathbb{R}^3$. Demostrar que el sistema de generadores dado es una base de $V$. Encontrar las ecuaciones implícitas que definen el subespacio $V$. Encontrar tambíen las ecuaciones paramétricas del subespacio.

Solución:
Veamos si los vectores dados son linealmente independientes
    $\alpha \,(1,0,-1) + \beta\,(1,-1,0)=(0,0,0)$
Se comprueba que $\alpha=\beta=0$ y, por tanto, son linealmente independientes. Como, además, los dos vectores dados constituyen un sistema de generadores, forman una base de $V$, que tendrá dimensión $2$.

Para encontrar las ecuaciones implícitas basta tener en cuenta que cualquier otro vector de coordenadas $(x_1,x_2,x_3)$ será por tanto c.l. de los dos vectores de la base dada, con lo cual teniendo en cuenta la matriz $A$ (que tiene por columnas las coordenadas de los vectores)
      $A=\begin{pmatrix}1 & 1 \\ 0 & -1 \\-1 & 0 \\\end{pmatrix}$
      $\text{rg}\begin{pmatrix}1 & 1 & x_1\\ 0 & -1 & x_2 \\-1 & 0 & x_3\\\end{pmatrix}=2$
Por tanto, tomando un menor complementario de orden $2$ no nulo como
      $\begin{vmatrix}1 &1 \\ 0 &-1 \\\end{vmatrix} \neq 0$
y haciendo la única (en este caso) ampliación pertinente, su determinante deberá ser nulo ( recordemos que la dimensión es $2$ ), es decir,
      $\begin{vmatrix}1 &1 & x_1\\ 0 &-1 & x_2\\ -1 &0 & x_3\\ \end{vmatrix}=0$
Calculando este determinante, obtenemos un sistema de ecuaciones implícitas que consta, en este caso, de una sola ecuación ( ver II.Ejemplo 7.17, p.169):
      $V:\;\; x_1+x_2+x_3=0$

Vamos a encontrar ahora las ecuaciones paramétricas de $V$ (II.7.16,p.166). Para ello tan solo tenemos que concretar el sistema de ecuaciones
      $\displaystyle x_i=\sum_{j=1}^{2}\,a_{ji}\,\lambda_j \quad ( i = 1,2,3 )$
es decir
    $\begin{pmatrix}x_1\\ x_2\\x_3\\\end{pmatrix}=\begin{pmatrix}1 & 1 \\ 0 & -1 \\-1 & 0 \\\end{pmatrix}\begin{pmatrix}\lambda_1 \\ \lambda_2\\\end{pmatrix}$
en otras palabras
    $V:\,\left\{\begin{matrix}x_1&=&\lambda_1 &+ &\lambda_2 \\ x_2&=& & &-\lambda_2 \\ x_3&=&-\lambda_1 & & \\ \end{matrix}\right.$
$\square$


Variedades lineales

En un espacio vectorial $V$ sobre un cuerpo $\mathbb{K}$ ( $\mathbb{R}$ ó $\mathbb{C}$ ), considerando un vector $\vec{v} \in V$ y un subespacio $U \subset V$, llamamos variedad afín que pasa por $\vec{v} \neq \vec{0}$, que denotaremos $\vec{v}+U$, al conjunto de vectores $\{\vec{v}+\vec{u} \, | \, \vec{u} \in U\}$



Propiedad:

Dado un espacio vectorial $V$,   dos variedad afines $\vec{v}_1+U_1$ i $\vec{v}_2+U_2$ són iguales si y solo si se verifican las siguientes condiciones:

  1. $\vec{v}_1-\vec{v}_2 \in U_1$

  2. $\vec{v}_1-\vec{v}_2 \in U_2$

Breve nota sobre la interpolación de funciones

Para encontrar el polinomio interpolador de grado $n$, dados $n+1$ puntos, podemos optar por plantear un sistema de $n+1$ ecuaciones con $n+1$ incógnitas. Cuando $n$ es pequeño, este método ( de los coeficientes indeterminados ) es viable, sin embargo es claro que no lo es cuando $n$ ( es grande ). Para encontrar el polinomio interpolador podemos utilizar, entre otros, el método de los polinomios interpoladores de Lagrange.

Aritmética de punto fijo versus aritmética de punto flotante

0. ARITMÉTICA EXACTA
Idealmente, para obtener resultados exactos en las operaciones aritméticas, no debemos prescindir de ninguna cifra decimal al llevar a cabo las sucesivas operaciones; sin embargo, eso no es viable en la mayor parte de los casos, pues la capacidad de representación de las cantidades no es infinita. Por ello, conviene hablar de de dos tipos de aritméticas inexactas ( asumiendo que vamos a redondear los resultados parciales ).

1. ARITMÉTICAS INEXACTAS

1.1 ARITMÉTICA DE PUNTO FIJO
Si en los cálculos fijamos el número de cifras decimales o bien el número de fijas significativas en los cálculos, decimos que operamos en aritmética de punto fijo.

Ejemplo:
Consideremos la operación $9641,45 \cdot 0,012$ -- que en aritmética exacta da $115.6974$ -- que nos proponemos realizar conservando dos cifras decimales en cada factor ( y por tanto, también en el resultado ), entonces debemos hacer: $9641,45 \cdot 0,01$ que es igual a $96.41$ ( con dos cifras decimales ). Como podemos observar, la aritmética de punto fijo puede dar resultados muy imprecisos.

1.2 ARITMÉTICA DE PUNTO FLOTANTE
Esta forma de representar los números viene a rebajar el problema de la imprecisión apuntada en el ejemplo anterior ( al utilizar aritmética de punto fijo ). Si representamos las cantidades de modo que se conserve un número convenido de cifras significativa ( en este caso, son seis, ya es ese el mayor número de c.s. de entre los dos factores ) escribiéndolas en el formato $0,m \times 10^e$, dejando así flotando el punto ( la coma ) decimal:
$9641,45=0,964146 \times 10^4$ y $0,012 = 0,120000 \times 10^{-1}$, al realizar el producto de ambas cantidades tenemos ahora $0,964146 \cdot 0,120000 \cdot 10^{4-1}=0,115697 \cdot 10^2$, es decir, $115,697$, resultado que es mucho más preciso que el obtenido utilizando aritmética de punto fijo.


miércoles, 2 de agosto de 2023

Factorización LU

En el cálculo de la factorización $LU$ de la matriz $A=\begin{pmatrix}0&1\\1&2\end{pmatrix}$ cuyo determinante no es nulo, el prime pivote $a_{11}=0$ es nulo y por consiguiente no puede elminiarse el coeficietne $1$ de la segunda fila primera columna $a_{21}$. Puesto que parece natural cambiar el orden de las filas y esta operación puede realizarse multiplianco la matriz $A$ por una matriz de permutación $P$ (que se obtiene permutando las filas o bien las columnas de la matriz identidad $I$), se obtiene directamente la directamente la factorización $LU$ del producto $PA$.   $\square$

Acerca de la precisión de la máquina (unidad de redondeo)

Se suele utilizar la siguiente notación para realizar las operaciones de truncamiento y redondeo ( si bien, recordemos que lo usual será hacerlas por redondeo ): $$\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}$


Nota: La función parte entera $\text{Ent}(.)$ suele abreviarse de la forma $[.]$

En el caso de que $x$ sea un número negativo, se define $\mathcal{R}(x)\overset{\text{def}}{=}-\mathcal{R}(-x)$ y se cumple que $|x-\mathcal{R}(x)|\le \dfrac{1}{2}\,b^{e-n}$.

La cantidad $\dfrac{1}{2}\,b^{e-n}$ se conoce como unidad de redondeo o también como precisión de la máquina, y representa una cota razonable del error absoluto.

Así, por ejemplo, es evidente que al aproximar por redondeo el número $\pi$ con tres cifras significativas obtenemos $\mathcal{R}(\pi)=3.14$; de acuerdo con lo dicho arriba, convenimos así que $\mathcal{R}(\pi)=0.314\times 10^1$, con lo cual $e=1$ ( exponente de la potencia de base $10$ ) y $n=3$ ( precisisón de la mantisa - número de dígitos en la mantisa ( con el dígito entero igual a cero ) -, que es $n=3$ ), por lo que el máximo error de redondeo en esta aproximación $|x-\mathcal{R}(x)|\prec \dfrac{1}{2}\,b^{e-n}$ ( precisión de la máquina, o unidad de redondeo, que sabemos que es igual a media unidad del orden de la última cifra considerada ), y, en efecto, como $3\prec \pi \prec 4$, $e:=1$ ( exponente de la potencia de base $10$ ) y al aproximar con $3$ cifras significativas, $n:=3$, luego dicha precisión de la máquina ( o cota razonable de error absoluto ) en dicha aproximación es $\dfrac{1}{2}\,b^{1-3}=\dfrac{1}{2}\,10^{-2}=\dfrac{1}{2}\,10^{-2}=0.005$
$\square$

Acerca de la representación IEEE Standard 754 en punto flotante

Actualmente, la representación que usan la mayoría de los computadores es la llamada IEEE Standard 754 en punto flotante. Está basada en los tres elementos que se ha mencionado antes: signo, mantisa y exponente. Si la base es binaria, $b=2$, el primer dígito (dígito principal) es, siempre, $1$, esto es, $d_1=1$, por lo que no haría falta almacenarlo en memoria (en cuyo caso nos referiríamos a él como dígito principal implícito).

En precisión simple, el estándard utiliza $32$ bits ($4$ bytes), de los cuales $8$ bits ($1$ byte) es para el exponente $E$ (representando números enteros no negativos que varían entre $0$ y $255$, esto es, los que se pueden codificar en base $2$ con $8$ bits); $23$ bits son para la parte fraccionaria, $F$, y $1$ bit para el signo, $S$. Cada bit almacena un $0$ o bien un $1$. Así, el valor asignado a una representación es $$(-1)^{S}\times 2^{E-127} \times \mathbb{1}.F$$

Se utiliza un sesgo de $127$ aplicado al valor del exponente almacenado $E$, dando lugar al exponente verdadero $E-127$, lo cual tiene como finalidad el poder representar tanto exponentes positivos como negativos; de este modo, un valor almacenado $E$ representa el valor verdadero $E-127$.

Como ya hemos visto que $E$ varía entre $0$ y $255$, entonces $E-127$ toma valores en el conjunto de $2^8=256$ elementos: $\{-127,-126,\ldots,0,1,2,\ldots,128\}$, y , por tanto, $2^{E-127}$ varía entre $2^{-127}\approx 10^{-38}$ y $2^{128}\approx 10^{38}$.

El ordinal de cada término de la sucesión $-127,-126,\ldots,0,1,2,\ldots,128$ (empezando a contar desde $0$) se denomina característica. El valor de la característica varía pues de $0$ (para el valor del primer término $-127$) a $255$ (para el valor del último término $128$), y representa el valor del exponente almacenado $E$.

Designando por $n$ al número de bits del campo del exponente (en nuestro caso $n:=8$), esta característica es igual, por tanto, al valor del exponente verdadero $E-127$ más lo que viene a denominarse desplazamiento y que es fácil ver que es igual a $2^{n-1}-1$. Así por ejemplo, si el exponente verdadero es $E-127:=100$, entonces el valor de la característica es $100+2^{8-1}-1=100+128-1=227$; y (otro ejemplo), como seria de esperar si $E-127:=-127$, entonces sus característica es igual a $-127+2^{8-1}-1=-127+128-1=0$; y si $E-127:=-128$, entonces su característica es igual a $128+2^{8-1}-1=128+128-1=255$, que es el último término de la sucesión que hemos comentado.



Por otra parte, El bit del signo es $0$ para positivos y $1$ para negativos.

Ejemplo 1.
La representación $$\underset{\overbrace{1\; \text{bit para el signo}}}{1}\quad \underset{\overbrace{8\; \text{bits para el exponente}}}{01010011} \quad\underset{\overbrace{23\; \text{bits para la mantisa}}} {10011110\; 00101000\; 0101000}$$ es tal que:

i) El signo es negativo por ser el valor del bit $S$ igual a $1$, y, por tanto, $(-1)^S=(-1)^1=-1$

ii) la mantisa $1.F$ es

1+$(1\cdot 2^{-1}+0\cdot 2^{-2}+0\cdot 2^{-3}+1\cdot 2^{-4}+\overset{\underbrace{23}}{\ldots}+0\cdot 2^{-22}+0\cdot 2^{-23})$
donde a partir del segundo sumando se expresa la cantidad $F$, siendo el primer sumando a la izquierda, el primer uno, que viene de la notación $1.F$, luego la mantisa corresponde al número $$\dfrac{2097151}{1048576}$$

iii) El exponente verdadero de la potencia $2^{E-127}$ es igual a 0$1010011_{2}$, o lo que es lo mismo 0b$1010011$ — en base $2$ los números suelen empezar por 0 o bien por 0b— corresponde a $83_{10}-127=-44$
Por tanto, la representación estándard indicada da el valor

$$-( \dfrac{2097151}{1048576} ) \times 2^{83-127}$$ es decir $$-( \dfrac{2097151}{1048576} ) \times 2^{-44}\approx -0.1136868\times 10^{-12}$$ pues con $23$ bits de mantisa el número de dígitos/cifras significativas correctas que podemos asegurar es de $7$


-oOo-



Nota: En doble precisión, se reservan $11$ bits es para representar el exponente $E$, donde el sesgo es ahora de $2^{11-1}-1=2^{10}-1=1023$.
-oOo-
Referencias:
  [1] Moreno, C.: Introducción al Cálculo Numérico, UNED, Madrid, 2011
  [2] García Valle, J.L.: Matemáticas especiales para computación, McGraw-Hill, Madrid, 1988

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$

Uso de arrays con NumPy y SciPy ( Python)

Python: lista de reproducción del curso de Python de la Universitat d'Alacant
-oOo-

NumPy
-oOo-

ScyPy ( ScyPy es un conjunto de paquetes específicos que se basan en los de NumPy )
-oOo-

SymPy ( ScyPy es sistema CAS, que viene como un conjunto de paquetes específicos de cálculo simbólico basados en Python )
-oOo-

Más vídeos similares, aquí

Acerca de los errores de truncamiento empleando representaciones máquina: inestabilidades

Si en un entorno que usa el estándar IEEE Double Precision, se realiza el cálculo $e^{-10}$ mediante el truncamiento de la serie de potencias $$e^x=\displaystyle \sum_{i=0}^{30}\,\dfrac{x^i}{i!} \approx 1+\dfrac{x}{1!}+\dfrac{x^2}{3!}+\dfrac{x^3}{3!}+\ldots+\dfrac{x^{30}}{30!}$$, y el resultado aproximado es $9.703415796025505 \times 10^{-4}$. El error de truncamiento viene dado por $\dfrac{e^\xi}{(n+1)!}$ donde $-10 \prec \xi \prec 0$, y $n=30$, por lo que tomamos el error de dicha aproximación como $E(-10):=\dfrac{1}{31!} \overset{n:=30}{\succ} \dfrac{e^{\xi}}{31!}$.

Ahora bien, el resultado exacto de $e^{-10}$ es igual a $4.539992976248485 \times 10^{-5}$, el error relativo de dicho resultado aproximado es enorme (!): $$\dfrac{|4.539992976248485 \times 10^{-5}-9.703415796025505 \times 10^{-4}|}{4.539992976248485 \times 10^{-5}} \approx 20 = 2\,000\,\% $$ Tal inexactitud se debe a la acumulación de los pequeños errores causados al operar en aritmética finita, los cuales se han magnificado a lo largo del cálculo, por lo que podemos decir que el algoritmo de cálculo que hemos utilizado es muy inestable.

Nota: Tengamos en cuenta que si se calcula $e^{-10}$ de la forma $\dfrac{1}{e^{10}}$, desarrollando en serie de potencias el denominador, se obtiene como resultado $4,539993338712231 \times 10^{-5}$ que es muy próximo al valor exacto $4.539992976248485 \times 10^{-5}$, obteniéndose en ese caso un error relativo $\dfrac{|4.539992976248485 \times 10^{-5}-4,539993338712231 \times 10^{-5} \times 10^{-4}|}{4.539992976248485 \times 10^{-5}}\approx$ $\approx 8\times 10^{-8}=8\times 10^{-6}\,\%$

En conclusión, la causa de que un procedimiento de cálculo produzca resultados tan imprecisos es debida a la inestabilidad del algoritmo de cálculo ( un error en alguna etapa del cálculo se propaga de manera creciente a las siguientes etapas ). Así que, para evitar tal efecto - los errores debidos a los cálculos en artimética finita de un sistema de cálculo automático son inevitable - es necesario emplear algoritmos estables. $\square$

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\,\%$

Categorías de los errores en el análisis numérico

CATEGORÍAS DE ERRORES EN LOS CÁLCULOS NUMÉRICOS:

1. Errores humanos (elección del método, mala interpretación del mismo, errores en los algoritmos, etcétera)

2. Errores en los datos -> noción de condicionamiento (si un pequeño error en los datos llevar a errores grandes en los resultados, decimos que el problema está mal condicionado)

3. Errores de truncamiento -> noción de convergencia de los métodos numéricos (se deben al truncamiento de series infinitas, por ejemplo)

4. Errores de redondeo -> noción de estabilidad de los métodos numéricos (se deben a la acumulación de los errores de redondeo) Notas:[1]

La inexactitud y las representaciones máquina finitas

  ¿Qué entendemos por aritmética exacta? Idealmente, para obtener resultados exactos en las operaciones aritméticas, no debemos prescindir de ninguna cifra decimal al llevar a cabo las sucesivas operaciones; sin embargo, eso no es viable en la mayor parte de los casos, pues la capacidad de representación de las cantidades no es infinita. Por ello, conviene hablar de de dos tipos de aritméticas inexactas (asumiendo que vamos a redondear los datos y, por supuesto, los resultados parciales). Ahora bien, la realización de esa aritmética inexacta a la que inexorablemente nos vemos abocamos en la mayor parte de las situaciones de cálculo podemos hacerla de varias manera, según el formato de representación de las cantidades (en punto (decimal) fijo o punto (decimal) flotante). Una y otra presentan ventajas y desventajas, como puede verse en la siguente referencia:
  https://es.wikipedia.org/wiki/Coma_flotante, Wikipedia

Ejemplo de desbordamiento en una representación finita en coma flotante

ENUNCIADO. En un sistema binario ( $b=2$ ), con un número fijo de dígitos, $n=3$, el conjunto de números ( que no son negativos ) que pueden ser representados de este modo, son
Representación: 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 
Valor real:       0 |   1 |   2 |   3 |   4 |   5 |   6 |   7
Un aspecto relevante de este sistema de representación es que puede producirse un desbordamiento en las operaciones aritméticas debido a que el conjunto es acotado. Por ejemplo, la suma de 3 y 5 produce un número que no puede ser representado en este sistema. $\square$

Aclaración:

$0=0\cdot 2^{0}+0\cdot 2^{1}+0\cdot 2^{2}$
$1=1\cdot 2^{0}+0\cdot 2^{1}+0\cdot 2^{2}$
$2=0\cdot 2^{0}+1\cdot 2^{1}+0\cdot 2^{2}$
$3=1\cdot 1^{0}+1\cdot 2^{1}+0\cdot 2^{2}$
$4=0\cdot 2^{0}+0\cdot 2^{1}+1\cdot 2^{2}$
etcétera

Ejemplo de rango de representación en una aritmética finita de coma/punto flotante

En un sistema binario, $b=2$, si el número de dígitos es $n=2$, el conjunto de números (que no son negativos) que pueden ser representados en punto flotante con el rango $-2\le e\le 2$ es el siguiente:


Así, se obtienen las siguientes cantidades representadas:
$$\mathcal{M}=\{0,\dfrac{1}{16},\dfrac{1}{8},\dfrac{3}{16},\dfrac{1}{4},\dfrac{3}{8},\dfrac{1}{2},\dfrac{3}{4},\dfrac{1}{16},1,\dfrac{3}{2},2,3\}$$

En efecto ( aclaración ):
Para $e=-2$ se obtiene $0.00 \times 2^{-2}=0$
Para $e=-1$ se obtiene $0.00 \times 2^{-1}=0$
Para $e=0$ se obtiene $0.00 \times 2^0=0$
Para $e=1$ se obtiene $0.00 \times 2^1=0$
Para $e=-2$se obtiene $0.00 \times 2^2=0$
---
Para $e=-2$ se obtiene $\dfrac{1}{4} \times 2^{-2}=\dfrac{1}{16}$
Para $e=-1$ se obtiene $\dfrac{1}{4} \times 2^{-1}=\dfrac{1}{8}$
Para $e=0$ se obtiene $\dfrac{1}{4} \times 2^0=\dfrac{1}{4}$
Para $e=1$ se obtiene $\dfrac{1}{4} \times 2^1=\dfrac{1}{2}$
Para $e=-2$ se obtiene $\dfrac{1}{4} \times 2^2=1$
---
Para $e=-2$ se obtiene $\dfrac{1}{2} \times 2^{-2}=\dfrac{1}{8}$
Para $e=-1$ se obtiene $\dfrac{1}{2} \times 2^{-1}=\dfrac{1}{4}$
Para $e=0$ se obtiene $\dfrac{1}{2} \times 2^0=\dfrac{1}{2}$
Para $e=1$ se obtiene $\dfrac{1}{2} \times 2^1=1$
Para $e=-2$ se obtiene $\dfrac{1}{2} \times 2^2=2$
---
Para $e=-2$ se obtiene $\dfrac{3}{4} \times 2^{-2}=\dfrac{3}{16}$
Para $e=-1$ se obtiene $\dfrac{3}{4} \times 2^{-1}=\dfrac{3}{8}$
Para $e=0$ se obtiene $\dfrac{3}{4} \times 2^0=\dfrac{3}{4}$
Para $e=1$ se obtiene $\dfrac{3}{4} \times 2^1=\dfrac{3}{2}$
Para $e=-2$ se obtiene $\dfrac{3}{4} \times 2^2=3$

-oOo-
Comentarios:
En esta representación es de hacer notar que:
1. Los números representados no son equidistantes y se observa mayor densidad cerca del $0$
2. Un mismo número representado puede serlo de varias maneras distintas
3. Como el conjunto es acotado, se puede producir un desbordamiento en las operaciones aritméticas; por ejemplo, la suma de $1$ y $3$, esto es $4$, cae fuera del conjunto de valores que pueden representarse; por ejemplo, $1+3=4 \succ \text{máx}(\mathcal{M})=3$
4. El resultado obtenido de algunas operaciones aritméticas da valores que, aunque no se produzca desbordamiento ( por obtener un número mayor que el máximo de dicha representación ), no se obtiene un número del conjunto; por ejemplo $2+\dfrac{1}{8}=\dfrac{17}{8}$, que si bien es mayor que $0=\text{mín}(\mathcal{M})$ y menor que $\text{máx}(\mathcal{M})=3$, no corresponde a ninguno valor del conjunto de representación, $\mathcal{M}$

-oOo-

2'. Para que un mismo número tenga representaciones distitnas en un mismo sistema, establecemos que el primer dígito de la representación, $d_1$, sea distinto de $0$, por lo que diremos que, siendo así, un sistma de prepresentación en punto flotante está normalizada.

Actualmente, la representación que usan la mayoría de los computadores es la llamada IEEE Standard 754 en punto flotante. Está basada en los tres elementos que se ha mencionado antes: signo, mantisa y exponente. Si la base es binaria, $b=2$, el primer dígito ( dígito principal ) es, siempre, $1$, esto es, $d_1=1$, por lo que no haría falta almacenarlo en memoria ( en cuyo caso nos referiríamos a él como dígito principal implícito ).

En precisión simple, el estándard utiliza $32$ bits ( $4$ bytes ), de los cuales $8$ bits ( $1$ byte ) es para el exponente $E$; $23$ bits son para la parte fraccionaria, $F$, y $1$ bit para el signo, $S$. Cada bit almacena un $0$ o bien un $1$. Así, el valor asignado a una representación es $$(-1)^{S}\times 2^{E-127} \times \mathbb{1}.F$$ donde el sesgo de $-127$ añadido al valor positivo almacenado tiene como finalidad el poder representar tanto exponentes positivos como negativos; de este modo, un valor almacenado $E$ representa un valor real $E-127$. El bit del signo es $0$ para positivos y $1$ para negativos.

Por ejemplo:
La representación $\underset{\overbrace{\text{signo}}}{1}$     $\underset{\overbrace{\text{exponente}}}{01010011}$     $\underset{\overbrace{\text{mantisa}}} {10011110\; 00101000\; 0101000}$ es tal que:
i) El signo es $-$ por ser el bit del signo igual a $1$
ii) la mantisa es
$\mathbb{1}+\left(1\cdot 2^{-1}+1\cdot 2^{-2}+0\cdot 2^{-3}+1\cdot 2^{-4}+\ldots+1\cdot 2^{-20}+0\cdot 2^{-21}+0\cdot 2^{-22}+0\cdot 2^{-23}\right)$
—donde entre paréntesis se expresa la cantidad $F$, siendo el primer sumando a la izquierda, el primer uno, es el uno de la notación $1.F$—, que es igual a $\dfrac{2097151}{1048576}$
iii) y el exponente 0$1010011_{2}$, o lo que es lo mismo 0b$1010011$ ( en base $2$ los números suelen empezar por 0 o bien por 0b ), representa al número $83_{10}$
Por tanto, la representación estándard indicada da el valor
$$-( \dfrac{2097151}{1048576} ) \times 2^{83-127}$$ es decir $$-( \dfrac{2097151}{1048576} ) \times 2^{-44}$$

Nota: En doble precisión, se reservan $11$ bits es para el exponente $E$, donde el sesgo es ahora de $1023$.

Ejemplos de comportamientos en representación finita de coma flotante

ENUNCIADO. Sea $x \succ 0$ un número que se representa exacto en una aritmética finita de punto flotante. Analícese el comportamiento del cociente $$\dfrac{\sin\,(x+h)-\sin\,x}{h}$$ cuando se consideran valores de $h$ próximos a $0$ y los cálculos se realizan en una aritmética de punto flotante.

SOLUCIÓN. Para valores de $h$ suficientemente pequeños tenemos que $\mathcal{R}(x+h)=x$, por lo que el numerador de la expresión se anula, habida cuenta de que $\sin(x+h)\approx \sin\,x$ si $h \ll 1$, mientras que el denominador no lo hace. En consecuencia, el valor del cociente se anula. $\square$

Sobre la transformación de Householder

[ artículo de Wikipedia ]

Matrices de Hessemberg

En este breve artículo de Wikipedia se describen las matrices de Hessenberg y se hacen algunos comentarios sobre su utilidad en los algoritmos de cálculo numérico.

Número condición de una matriz

En este artículo de Wikipedia se explica brevemente qué es el número condición de una matriz

Matriz de Fröbenius

En este artículo de Wikipedia se describe la forma de una matriz de Fröbenius ( asociada a la llamada transformación de Gauss ) y se comentan sus propiedades y utilidades en los algoritmos de cálculo numérico

Cuadratura de Gauss

En este artículo de Wikipedia, que es bastante conciso, se explica el concepto de cuadratura de Gauss, método en el que las abscisas no están equiespaciadas

Cálculos matriciales básicos con GNU Octave

Introduciendo los coeficientes de la matriz $A$ en GNU Octave
-->A=[2,1;5,4]

eco
A =
2. 1.
5. 4.

a) Norma matricial subordinada a la norma vectorial $\left\|\;\right\|_1 \rightarrow \left\|A\right\|_1$=máximo de las sumas de los valores absolutos de los elementos de las columnas de la matriz $A$
-->max(sum(abs(A),'r'))
ans =
7.

o también

-->norm(A,1)
ans =
7.

b) Norma matricial subordinada a la norma vectorial $\left\|\;\right\|_2 \rightarrow \left\|A\right\|_2=\rho(A^t\,A)^{1/2}$
-->norm(A,2)
ans =
6.7678289

Observación:
Los autovalores de $A$ son:
-->spec(A)
ans =
0.5505103
5.4494897
y el máximo de éstos ( el radio espectral, $\rho(A)$ ) es $5,4494897 \neq \left\|A\right\|_2=6.7678289 $

c) Norma matricial subordinada a la norma vectorial $\left\|\;\right\|_2 \rightarrow \left\|A\right\|_{\infty}$=máximo de las sumas de los valores absolutos de los elementos de las filas de la matriz $A$
-->max(sum(abs(A),'c'))
ans =
9.
o también
-->norm(A,'inf')
ans =
9.

d) Norma de Fröbenius es la norma asociada al producto escalar matricial $A:B\overset{def}{=}\text{tr}\,(A^t\,B)$ ), esto es, $\left\|A\right\|_{F}=(A:A)^{1/2}=\left(\text{tr}\,(A^t\,A)\right)^{1/2}$
-->trace(A'*A)^(1/2)
ans =
6.78233

Sistemas de ecuaciones lineales con SciLab

Sea un sistema de ecuaciones lineales AX=B tal que ( ejemplo )

Sea la matriz de los coeficientes del sistema:
-->A=[1,2;3,4]
A =

1. 2.
3. 4.

eco:
A =

1. 2.
3. 4.

Y sea el vector columna de los términos independientes:
-->B=[-1;1]

eco:
B =

- 1.
1.

Podemos resolver el sistema mediante las funciones predefinidas de SciLab mediante estos dos procedimientos:
i) Método de la matriz inversa
-->X=inv(A)*B
X =

3.
- 2.

Comprobación: AX?=B
En efecto,
-->A*X
ans =

- 1.
1.

ii) Método eficiente propuesto por SciLab
-->X=A\B
X =

3.
- 2.

Polinomios con SciLab

-->help poly
// (1) Especificando un polinomio

// el primer argumento es un vector con las raíces del polinomio
// el segundo argumento es la etiqueta que desgna el nombre de la variable independiente
// el tercer argument especifica que se definie el polinomio dando sus raíces
-->poly([1,2],'x',"r")
ans =

2
2 - 3x + x




// el primer argumento es un vector con los coeficientes del polinomio
// el segundo argumento es la etiqueta que desgna el nombre de la variable independiente
// el tercer argument especifica que se definie el polinomio dando el valor de sus coeficientes

-->poly([4,5,6],'x',"c")
ans =

2
4 + 5x + 6x


// ( 2) Evaluación del valor de un polinomio para un valor determinado de la variable
// mediante la regla de HORNER
-->P=poly([4,5,6],'x',"c")
P =

2
4 + 5x + 6x

// ¿ P(1) ?
-->horner(P,1)
ans =

15.

Obtener ayuda al trabajar con SciLab

Funciones para obtener ayuda de los comandos y funciones predefinidas
Ejemplos
--> apropos triu
--> help triu
--> help lu

Visualización de variables activas y borrado de las mismas en SciLab

Visualizar las variables activas
--> who

Borrar una cierta variable x
--> clear x

Factorización LU con SciLab

Quereremos resolver el sistema de ecuaciones
$$\left\{\begin{matrix}x+y+z=3\\2x-y+z=2\\x+2y-2z=1\end{matrix}\right.$$

por lo que podemos expresarlo en forma matricial: $AX=b$ siendo $A$ la matriz de los coeficientes del sistema y $b$ la matriz columna de los términos independientes

Vamos a utilizar el método de factorizació de la matriz $A$ como $LU$, de forma que $AX=b \Leftrightarrow LUX=b$, con lo cual ( una vez obtenida la f. LU ) procederemos en dos etapas:
i) $LY=b \Rightarrow Y=L^{-1}\,B$ ( eliminación progresiva )
ii) $UX=Y \Rightarrow X=U^{-1}\,Y$ ( sustitución retrógrada )

Antes que nada, debemos factorizar
Factorización LU
Nota: L es una matriz triangular inferior y U una matriz triangular superior ( E es la matriz de permutación )
-->A
A =

1. 1. 1.
2. - 1. 1.
1. 2. - 2.

-->[L,U,E]=lu(A)
E =

0. 1. 0.
0. 0. 1.
1. 0. 0.
U =

2. - 1. 1.
0. 2.5 - 2.5
0. 0. 2.
L =

1. 0. 0.
0.5 1. 0.
0.5 0.6 1.

Comprobación LU=A ?
-->L*U
ans =

2. - 1. 1.
1. 2. - 2.
1. 1. 1.
Cuidado, se ha utilizado el método de pivotamiento parcial, por lo que el orden de las filas se ha cambiado, de modo que ahora el sistema a resolver es
$$\left\{\begin{matrix}2x-y+z=2\\x+2y-2z=1\\ x+y+z=3\end{matrix}\right.$$ y, por tanto, $$b=\begin{pmatrix}2\\1\\3\end{pmatrix}$$

Procedamos ahora con los dos pasos anunciados ( eliminación progresiva seguida de sustitución retrógrada ):

-->b=[2;1;3]
b =

2.
1.
3.

-->Y=inv(L)*b
Y =

2.
0.
2.

-->X=inv(U)*Y
X =

1.
1.
1.
que es la solución del sistema de ecuaciones


------------------------
Cuidado:
las funciones tril(A) y triu(A) también dan matrices triangulares inferiores y superiores, respectivamente, pero no son las que cumplen A=LU

Factorización QR en SciLab

Factorización QR
Nota: Q es una matriz ortogonal y R una matriz triangular superior

-->A=[1,2;3,4]
A =

1. 2.
3. 4.
-->[Q,R]=qr(A)
R =

- 3.1622777 - 4.4271887
0. - 0.6324555
Q =

- 0.3162278 - 0.9486833
- 0.9486833 0.3162278

-->Q*R
ans =

1. 2.
3. 4.

Funciones en SciLab

Podemos editar una función en el propio panel de comandos, sin necesidad de almacenarlo en un fichero de texto .sci y cargarlo a continuación. Por ejemplo:

-->function f=cuadxy(x,y)
-->f=x**2+y**2;
-->endfunction

Para hacer actuar la función que acabamos de definir, para calcular, pongamos que 2^3, escribiremos:
-->cuadxy(2,3)
ans =

13.

Ejemplo

// --------------------------------------------------------------------
// Comprobación numérica de
// $\lim_{x \rightarrow 0}\,\dfrac{\sin x}{x}=1$
//
//
// Cargar el fichero ( al que se refiere esta imagen )
// en SciLab desde la consola del programa:
// exec('C:\...\mifuncion.sci')
// y, a continuación, para ejecutar la función invocar
// el nombre de la función con los argumentos de entrada
// y de salida
// Ejemplo con un paso incremental de 0.001
// teclear a continuación de "-->":
// [vi,vd]=limites_i_d(0.001)
//
// Joan Aranes Clua
// 2015
// --------------------------------------------------------------------
// valor avanzado de $\lim_{x \rightarrow 0^{+}}\,\dfrac{\sin x}{x}$
function [vi,vd]=limites_i_d(incremento)
disp("límites por la derecha ( vd ) y por la izquierda (vi)")
vd=0;
incremento_neg=-1*incremento
for i=1:incremento_neg:0.0000001
vd=sin(i)/i;
//disp(vd);
end
//
// valor avanzado de $\lim_{x \rightarrow 0^{-}}\,\dfrac{\sin x}{x}$
//vi=0
for j=-1:incremento:-0.0000001
vi=sin(j)/j;
//disp(vi);
end
endfunction
$\diamond$

martes, 1 de agosto de 2023

Productos en espacios vectoriales

Se distinguen tres tipos de productos en espacios vectoriales de dimensión finita:

  • producto escalar
  • producto vectorial
  • producto tensorial

El producto escalar de dos vectores produce un escalar, el producto vectorial produce un vector y el producto tensorial produce una aplicación lineal. Cuando trabajamos en una base, el producto escalar (es un escalar) se puede calcular como $x^t\,y$ (entendiendo que $x$ e $y$ son vectores columna de $n$ componentes) y el producto tensorial como $x\,y^t$, que es una matriz $n \times n$. El producto vectorial debido a su naturaleza (es un vector) alternante no puede expresarse como un producto matricial.$\diamond$

Matriz de permutación en una factorización LU

Una matriz de permutación $P$ cumple que $PA=LU$ y, además, es simétrica, esto es, $P^tP=I$. Por consiguiente, se cumple que $A=P^t\,L\,U$. $\diamond$

Factorización QR de una matriz

Sea la matriz invertible $A=\begin{pmatrix}2&-1&0\\0&0&-2\\0&2&-1\end{pmatrix}$. Los vectores columna de esta matriz son $a^{1}=\begin{pmatrix}2&0&0\end{pmatrix}$, $a^{2}=\begin{pmatrix}-1&0&2\end{pmatrix}$, $a^{3}=\begin{pmatrix}0&-2&-1\end{pmatrix}$. Los vectores que constituyen una base ortogonal son $p^{i}\;,\,i=1,2,3$ podemos obtenerlos por el método de Gram-Schmidt

$u^{1}=a^1=\begin{pmatrix}2\\0\\0\end{pmatrix}$

$u^{2}=a^2-\langle a^2,u^1 \rangle \,u^1=\begin{pmatrix}0\\0\\2\end{pmatrix}$

$u^{3}=a^3-\langle a^3,u^1\rangle\,u^1 - \langle u^3,u^2\rangle \,u^2=a^{3}-0\,p^{1}+\dfrac{1}{2}\,p^{2}=\begin{pmatrix}0\\-2\\0\end{pmatrix}$
luego la matriz de paso a la nueva base es la siguiente matriz ortogonal $P=\begin{pmatrix}2&0&0\\0&0&-2\\0&2&0\end{pmatrix}$
con lo que una matriz ortonormal se obtiene normalizando los vectores columnas de la anterior (los vectores de la base ortogonal): $q_1=\dfrac{u^1}{\left\|u^1\right\|}$, $q_2=\dfrac{u^2}{\left\|u^2\right\|}$, $q_3=\dfrac{u^3}{\left\|u^3\right\|}$ por tanto
$Q=\begin{pmatrix}1&0&0\\0&0&-1\\0&1&0\end{pmatrix}$, como puede comprobarse por la definición de matriz ortogonal: $Q^t=Q^{-1}$, esto es $QQ^t=I$



Queremos expresar la matriz $A$ de la forma $A=QR$, siendo $Q$ una matriz ortogonal (que ya hemos obtenido a partir de las coordenadas de los vectores de la nueva base $\{p^i\}\,,i=1,2,3$) dispuestos en columnas y normalizados) y $R$ una matriz triangular superior.
Ya tenemos la matriz ortogonal $Q$. Veamos ahora cómo podemos determinar la matriz triangular superior $R$:
  De las ecuaciones escritas arriba podemos escribir, en forma matricial, que $A=P-PM$, y por tanto, $A=P(I+M)$, donde $I$ es la matriz identidad y $M$ puede verse fácilmente que es $\begin{pmatrix}0&m_{12}&m_{13}\\0&0&m_{23}\\0&0&0\end{pmatrix}$, siendo sus coeficientes de la forma $m_{ij}=\dfrac{a^j\,p^i}{\left\|p^i\right\|^2}\,\text{para}\,j\gt i$
Entonces, como al normalizar los vectores columna se han dividido sus coordenadas, $p^{i}\,,i=1,2,3$, por la norma respectiva de cada vector, $\left\|p^i\right\|$, tenemos que $A=P(I+M)=QD(I+M)=Q\,(D(I+M))$, y como esto debe ser igual a $QR$, se tiene que $R=D(I+M)$, siendo $D$ una matriz diagonal que, como acabamos de justificar, resulta ser $D=(d_{ii})$, con $d_{ii}=\left\|p^i\right\|$; y, en nuestro caso, resulta ser $D=\begin{pmatrix}2&0&0\\0&2&0\\0&0&2\end{pmatrix}$, por lo que la matriz triangular superior es $R=\begin{pmatrix}2&-1&0\\0&2&-1\\0&0&2\end{pmatrix}$. Así, una descomposción $QR$ de $A$ puede comprobarse que es $A=\begin{pmatrix}1&0&0\\0&0&-1\\0&1&0\end{pmatrix}\begin{pmatrix}2&-1&0\\0&2&-1\\0&0&2\end{pmatrix}$. $\square$