Está en la página 1de 36

T EMA 1.

I NTRODUCCIÓN AL ÁLGEBRA LINEAL NUMÉRICA

Carmen Calzada

C ÁLCULO N UMÉRICO Y E STADÍSTICA

Grado de Química – Primer curso

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 1/36


Contenido

1 Introducción

2 Métodos directos
Método de eliminación de Gauss
Factorización LU

3 Resolución de sistemas con Matlab

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 2/36


Introducción

Contenido

1 Introducción

2 Métodos directos
Método de eliminación de Gauss
Factorización LU

3 Resolución de sistemas con Matlab

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 3/36


Introducción

Introducción

Muchos problemas químicos vienen descritos por sistemas de


ecuaciones lineales: problemas de mezclas, de espectrometría, de
ajuste de datos experimentales . . .

Sistema de ecuaciones lineales




 a11 x1 + a12 x2 + . . . + a1n xn = b1
 a21 x1 + a22 x2 + . . . + a2n xn = b2

.. .. ..


 . . .
an1 x1 + an2 x2 + . . . + ann xn = bn

Éste es un sistema de n ecuaciones con n incógnitas x1 , x2 , . . . , xn .


Los elementos aij y bi se supone que son números reales fijados.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 4/36


Introducción

Introducción

Forma matricial
El sistema anterior puede escribirse en forma matricial:

a11 a12 ... a1n x1 b1


    
 a21 a22 ... a2n   x2   b2 
. =
    
 . . .. .  . 
 .. .
. . . 
.
.  
.
. 
.
an1 an2 ... ann xn bn

a11 a12 ... a1n x1 b1


     
 a21 a22 ... a2n   x2   b2 
o bien Ax = b, siendo A= . . , x =  . , b = 
     
. .. . 
 .. .
. . . 
.  . 
.  . 
.
an1 an2 ... ann xn bn

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 5/36


Introducción

Introducción
Caso práctico (espectrofotometría)
Determinar la concentración molar de una mezcla de 5 componentes en solución a partir de los siguientes
datos espectrofotométricos:

Longitud Absortividad molar de la componente Absorbancia


de onda 1 2 3 4 5 total
1 100 10 2 1 0.5 0.1135
2 12 120 10 5 0.9 0.2218
3 30 30 90 10 2 0.2700
4 1 4 18 140 24 0.2992
5 2 4 8 16 120 0.1350

Según la ley de Beer, a una longitud de onda λi y siendo el espesor de la muestra igual a 1:

5
(Atotal )i = ∑ εij cj
j=1

(Atotal )i : es la absorbancia total observada a una longitud de onda λi .


εij : es la absortividad molar de la componente j a a una longitud de onda λi .
cj : es la concentración molar de la componente j en la mezcla (incógnitas).
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 6/36


Introducción

Introducción

Caso práctico (espectrofotometría)


Hemos de resolver, por tanto el sistema lineal:

100 10 2 1 0.5 c1 0.1135


    
 12 120 10 5 0.9   c2   0.2218 
 30 30 90 10 2   c3  =  0.2700 
    
 1 4 18 140 24  c   0.2992 
4
2 4 8 16 120 c5 0.1350

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 7/36


Introducción

Teorema de Rouché-Frobenius
Dado un sistema lineal de la forma Ax = b , donde A es una matriz cuadrada
de dimensión n × n, se cumple que:

Si rg(A) 6= rg(A|b) , el sistema es incompatible.


Si rg(A) = rg(A|b) < n, el sistema es compatible indeterminado.
Si rg(A) = rg(A|b) = n (det(A) 6= 0 ), el sistema es compatible determinado.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 8/36


Introducción

Resolución de sistemas compatibles determinados

a11 x1 + a12 x2 + . . . + a1n xn =



b1 
a21 x1 + a22 x2 + . . . + a2n xn =

b2 

. . . det(A) 6= 0 ⇒ ∃ A−1
. . .
. . . 



an1 x1 + an2 x2 + . . . + ann xn = bn

x = A−1 b

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 9/36


Introducción

Introducción

Resolución de sistemas compatibles determinados

Cálculo de la inversa

A−1 = adj(AT )/ det(A) x = A−1 b

Regla de Cramer

a11 ... a1,i−1 b1 a1,i+1 ... a1n


. . . . .
. . . . .
. . . . .
an1 ... an,i−1 bn an,i+1 ... ann
xi = i = 1, 2, . . . , n
|A|

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 10/36


Introducción

Introducción

Número de operaciones Regla de Cramer


(n + 1)n!n multiplicaciones 
(n + 1)(n! − 1) sumas ⇒ operaciones totales (n + 1)2 n! − 1
n divisiones

Número de operaciones cálculo de la inversa

n!(n2 + n + 1) + 3n2 − n operaciones totales

tiempo para una multiplicación ≈ cuatro veces el de una suma o una


resta,
tiempo para una división ≈ diez veces el de una suma o una resta,
pero consideraremos que todas tardan lo mismo.
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 11/36


Introducción

Introducción

Tiempo de cálculo de un ordenador que realiza (109 /3) flops (operaciones


por segundo)
Cramer (n = 20)

Número de operaciones ≡ 10.729.097.856.059 × 108


Tiempo de cálculo ≡ 3.218.729.360.036 sg = 1020 siglos!!!

Cramer (n = 100)

Número de operaciones ≡ 952.020.723.743.674 × 1047


Tiempo de cálculo ≡ 10143 siglos!!!

Inversa (n = 20)

Número de operaciones ≡ 102.425.174.544.237 × 107


Tiempo de cálculo ≡ 975 siglos!!! ( 45 menos que Cramer. . . )
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 12/36


Introducción

Introducción

Además, el inconveniente mayor que plantea un método con muchas


operaciones, no es ya el tiempo de cálculo, sino la acumulación de los
errores de redondeo.
Por ello, la fórmula de Cramer o el cálculo de la inversa, sólo es
razonable usarlos cuando n < 5.
Para sistemas de mayor talla, es necesario recurrir a otros métodos.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 13/36


Introducción

Introducción

Métodos de resolución numérica


Existen dos familias de métodos de resolución alternativos:
Métodos directos que dan la solución en un número finito de pasos.
Métodos iterativos que requieren (en principio) un número infinito de
pasos.
En este tema veremos sólo algunos métodos directos.
Antes veremos qué sistemas de ecuaciones son fáciles de resolver.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 14/36


Introducción

Sistemas fáciles de resolver

Sistema diagonal

a11 0 ... 0 x1 b1
    
 0 a22 ... 0  x2   b2 
. =
    
. . .. . . 
. . . .   . 
 
 . . . .  . .
0 0 ... ann xn bn

bi
xi = , i = 1, 2, . . . , n
aii

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 15/36


Introducción

Sistemas fáciles de resolver

Sistema triangular inferior

a11 0 ... 0 x1 b1
    
 a21 a22 ... 0   x2   b2 
= .
    
 . . .. .  .
 .. . .   ..   ..

. . . 
an1 an2 ... ann xn bn

Técnica de descenso
b1
x1 =
a11
!
1 i−1
xi = bi − ∑ (aij ∗ xj ) i = 2, . . . , n
aii j=1
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 16/36


Introducción

Sistemas fáciles de resolver

Sistema triangular superior

a11 a12 ... a1n x1 b1


    
 0 a22 ... a2n   x2   b2 
. = . .
    
. . .. . 
. . .  .   . 

 . . . . . .
0 0 ... ann xn bn

Técnica de remontada
bn
xn =
ann
!
1 n
xi = bi − ∑ (aij ∗ xj ) i = n − 1, . . . , 1
aii j=i+1
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 17/36


Métodos directos

Contenido

1 Introducción

2 Métodos directos
Método de eliminación de Gauss
Factorización LU

3 Resolución de sistemas con Matlab

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 18/36


Métodos directos

Métodos directos

Se denomina método directo de resolución a todo aquel que permite


obtener la solución exacta, salvo errores de redondeo, mediante un
número finito de operaciones elementales. Dicho número será función
de la dimensión del sistema.
En general, los métodos directos se basan en transformar el sistema a
resolver, en otro equivalente (con las mismas soluciones) en el cual la
matriz sea triangular superior (o inferior).
Ejemplos: eliminación de Gauss y Gauss-Jordan, factorización LU,
factorización de Cholesky.
Se usan para sistemas
Cortos n ≤ 300
Llenos es decir, cuya matriz tenga pocos ceros.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 19/36


Métodos directos Método de eliminación de Gauss

Método de eliminación de Gauss

El método de eliminación de Gauss, consiste en efectuar las


transformaciones necesarias, hasta conseguir un sistema equivalente
triangular de la forma:

a∗11 a∗12 ... a∗1n x1 b∗1


    
 0 a∗22 ... ∗
a2n   x2   ∗
b2 
. =
    
 . . .. .  . 
 .. .
. . . 
.
.  
.
. 
.
0 0 ... a∗nn xn b∗n

Esto se hace:
Multiplicando una fila por una constante.
Sumando una ecuación con el múltiplo de otra.
Intercambiando ecuaciones.
Una vez conseguido este sistema triangular equivalente se aplica la
técnica de remontada para obtener sus soluciones.
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 20/36


Métodos directos Método de eliminación de Gauss

Método de eliminación de Gauss

Ejemplo
    
1 −2 3 x1 1
 4 0 6   x2  =  −2 
2 −1 3 x3 −1

 . 
1 −2 3 .. 1
 . 
 4 0 6 .. −2 
 
.
2 −1 3 .. −1

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 21/36


Métodos directos Método de eliminación de Gauss

Método de eliminación de Gauss

Ejemplo
 .. 
1 −2 3 . 1
 .. 
F2 = F2 − 4F1 → 
 0 8 −6 . −6 

F3 = F3 − 2F1 → ..
0 3 −3 . −3

 .. 
1 −2 3 . 1
 .. 
→ 
 0 8 −6 . −6 

F3 = F3 − (3/8)F2 → ..
0 0 −0.75 . −0.75

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 22/36


Métodos directos Método de eliminación de Gauss

Método de eliminación de Gauss

Ejemplo

−0.75
x3 = =1
−0.75

1 1
x2 = (−6 + 6x3 ) = (−6 + 6) = 0
8 8

x1 = 1 + 2x2 − 3x3 = 1 − 3 = −2

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 23/36


Métodos directos Método de eliminación de Gauss

Método de eliminación de Gauss

Número de operaciones
Para resolver completamente un sistema utilizando el método de
eliminación de Gauss han de realizarse del orden de
2 3
n operaciones
3
Resolución por Gauss (n = 60)

Número de operaciones ≡ 144.000


Tiempo de cálculo (106 flops) ≡ menos de 1 sg!!!

Para valores de n suficientemente elevados (n > 300) el número de


operaciones puede ser ya excesivo, lo cual se traduce en mucho tiempo
de cálculo y, lo que es más importante errores de redondeo. Por ello, en
estos casos es conveniente utilizar métodos iterativos.
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 24/36


Métodos directos Factorización LU

Métodos directos

Factorización LU
Otro método directo de resolución es la denominada factorización LU.
Consiste en descomponer la matriz A como producto de dos matrices,
A=L U

L una matriz triangular inferior y,


U una matriz triangular superior.

Si L se escoge para que tenga unos en la diagonal, esta factorización


es única.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 25/36


Métodos directos Factorización LU

Métodos directos

Factorización LU

1 0 ... 0 u11 u12 ... u1n


   
 `21 1 ... 0   0 u22 ... u2n 
L= . U=
   
. .. .  . . .. . 
 .. .
. . . 
.  .
.
.
. . . 
.
`n1 `n2 ... 1 0 0 ... unn

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 26/36


Métodos directos Factorización LU

Métodos directos

Factorización LU
Si A es una matriz no singular no siempre admite directamente
factorización LU.

Teorema
Una condición necesaria y suficiente para que A admita la factorización LU es
que

a11 ... a1r


 
 . .. .
det(Ar ) = det  .. .  6= 0

. .
ar1 ... arr
para r = 1, . . . , n.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 27/36


Métodos directos Factorización LU

Métodos directos

Factorización LU
La matriz
 
4 −2 1
A =  20 −7 12 
−8 13 17

verifica las condiciones del teorema, ya que:

 
4 −2
A1 = 4 , A2 = , A3 = A
20 −7

det(A1 ) = 4 6= 0 , det(A2 ) = 12 6= 0 , det(A3 ) = −24 6= 0

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 28/36


Métodos directos Factorización LU

Métodos directos

Factorización LU
La factorización LU nos indica otro posible método para resolver un
sistema de ecuaciones.

Ly = b Triangular inferior (descenso)
Ax = b ⇒ LUx = b
Ux = y Triangular superior (remontada)

El número de operaciones para resolver un sistema por este método es


ligeramente superior al de Gauss.
Este método puede ser ventajoso frente al de Gauss si se han de
resolver varios sistemas con la misma matriz y segundos miembros
diferentes.
En este caso la factorización se realiza una vez y luego sólo hay que
resolver dos familias de sistemas triangulares.
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 29/36


Métodos directos Factorización LU

Métodos directos

Ejemplo de factorización LU
La matriz
 
4 −2 1
A =  20 −7 12 
−8 13 17

Puede descomponerse en la forma


  
1 0 0 4 −2 1
A =  5 1 0  0 3 7  = LU
−2 3 1 0 0 −2

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 30/36


Resolución de sistemas con Matlab

Contenido

1 Introducción

2 Métodos directos
Método de eliminación de Gauss
Factorización LU

3 Resolución de sistemas con Matlab

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 31/36


Resolución de sistemas con Matlab

Resolución de sistemas con Matlab

La factorización LU es la base de varios mandatos M ATLAB.


inv calcula la inversa de una matriz.
\ permite resolver sistemas lineales de matriz A y segundo miembro b
escribiendo simplemente A\b.
det calcula el determinante de una matriz.

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 32/36


Resolución de sistemas con Matlab

Ejemplo cálculo de la inversa

Calculamos la inversa de
 
1 −2 3
A= 4 0 6 
2 −1 3

>> A=[1 -2 3;4 0 6;2 -1 3];


>> Ainv=inv(A)
Ainv =
-1.0000 -0.5000 2.0000
0 0.5000 -1.0000
0.6667 0.5000 -1.3333

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 33/36


Resolución de sistemas con Matlab

Ejemplo resolución de un sistema (1)

Resolvamos el sistema
    
1 −2 3 x1 1
 4 0 6   x2  =  −2 
2 −1 3 x3 −1

>> A=[1 -2 3;4 0 6;2 -1 3];


>> b=[1 -2 -1]’;
>> x=A\b
x =
-2
0
1

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 34/36


Resolución de sistemas con Matlab

Ejemplo resolución de un sistema (2)

Resolvamos el mismo sistema


    
1 −2 3 x1 1
 4 0 6   x2  =  −2 
2 −1 3 x3 −1

calculando previamente la inversa de la matriz.

>> A=[1 -2 3;4 0 6;2 -1 3];


>> b=[1 -2 -1]’;
>> Ainv=inv(A);
>> x=Ainv*b
x =
-2
0
1
logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 35/36


Resolución de sistemas con Matlab

Resumen

No de No de
Método Aplicabilidad Comentarios
ecuaciones operaciones

Regla de Errores de
4 (n + 1)2 n! − 1 Limitada
Cramer redondeo

Errores de
Cálculo de A−1 4 n!(n2 + n + 1) + 3n2 − n Limitada
redondeo

Errores de
300 General
2 3 redondeo
Gauss Sistemas n Técnica
3 Cálculo del
llenos del pivote
determinante

Útil para resolver


Factorización Limitada
300 > n3 muchos sistemas
LU det Ar 6= 0
con igual matriz

logo2

Tema 1 Álgebra lineal numérica 1o Química - CNE 36/36

También podría gustarte