Métodos Numéricos – Cap 4: Solución de Sistemas de ... - 2016a - 4 Sistemas ec - v2… ·...
Embed Size (px)
Transcript of Métodos Numéricos – Cap 4: Solución de Sistemas de ... - 2016a - 4 Sistemas ec - v2… ·...

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 1/14
Última actualización: 17/04/2016
Resolución de Resolución de Sistemas de ecuaciones Sistemas de ecuaciones lineales y no linealeslineales y no lineales
Representación matricial para sistemas de ecuaciones
• Un número α se dice raíz o cero de la ecuación f(x) si f (α) = 0 .
• Los métodos numéricos para encontrar una raíz de una ecuación f(x), generarán una sucesión { xn }, n=1,2,3,... tal que: limn→∞ xn = α.
• El sistema de ecuaciones está formado por un conjunto de ecuaciones del tipo fi(x1,…,xn), con i=1,…,m.
F = [f1, f2,... ,fm] X = [x1,x2,...,xm]
• Un vector ΑΑΑΑ = [x1,x2,...,xm] se dice solución de un sistema de ecuaciones F(X)
si F(ΑΑΑΑ) = 0 .
• Los métodos numéricos para encontrar la solución de un sistema de ecuaciones F(X) generarán una sucesión {Xn}, n=1,2,3,... tal que:limn→∞Xn = ΑΑΑΑ.
Criterios de aproximación para sistemas de ecuaciones
1er Criterio
Dado un número ε1 > 0 y adecuadamente pequeño, que llamaremos tolerancia, podemos escoger como aproximación a la raíz α a un término xn de la sucesión mencionada, donde n es el menor entero positivo que satisface:
|f(xn) | < εεεε1
2do Criterio
El término xn de la sucesión mencionada puede ser considerado una aproximación a la raíz, donde n es el menor entero positivo que cumple la condición.
|xn – xn-1| < εεεε2
||F(X)|| < εεεε1 ||Xn – Xn-1|| < εεεε2
En sistemas F = [f1, f2,... ,fm] X = [x1,x2,...,xm]
Para una ecuación
Normas vectoriales
Una norma vectorial es una función
||.||: ℜn→ℜ / X →||X||
∀X,Y∈ ℜn ,∀α∈ℜ
i) ||X||≥ 0, ||X||=0 ⇔ X=0
ii) ||αX|| = |α| ||X||
iii) ||X+Y|| ≤ ||X||+||Y||
norm(x) ó norm(x,2)
norm(x,1)
norm(x,inf)
2
21
11
1
1) La norma euclidiana (o norma 2)
2) La norma suma (o norma 1)
3) La norma del maximo (o norma )
max
n
ii
n
ii
ii n
X x
X x
X x
=
=
∞ ≤ ≤
=
=
∞
=
∑
∑
1) Distancia asociada con la norma euclidiana
2) Distancia asociada con la norma suma
3) Distancia asociada con la norma del máximo
( )
ii
n
i
ii
n
i
ii
yxmaxYX
yxYX
yxYX
−=−
−=−
−=−
∞
=
=
∑
∑
11
1
2
2

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 2/14
Última actualización: 17/04/2016
Normas matriciales
Una norma matricial es una función
||.||: ℜnxn→ℜ / X →||X||
∀A,B∈ ℜnxn ,∀α∈ℜ
i) ||A||≥ 0, ||A||=0 ⇔ X=0
ii) ||αA|| = |α| ||A||
iii) ||A+B|| ≤ ||A||+||B||
iv) ||A*B|| ≤ ||A||*||B||
Norma matricial inducida por la correspondiente norma vectorial ||.||
∑
∑
=≤≤∞∞
∞
∞
≠∞
=≤≤≠
≠
≠
===
===
=
ℜ∈=
n
1j
ijni10x
n
1i
ijnj111
1
1
0x1
2
2
0x2
nxn0x
amaxA,1Xsi,X
AXmaxA)3
amaxA,1Xsi,X
AXmaxA)2
X
AXmaxA)1
A,X
AXmaxA
norm(A,1)
norm(A,inf)
Sistema de ecuaciones no lineales
Para resolver sistemas de ecuaciones no lineales, se pueden aplicar los métodos abiertos aplicados a la resolución de ecuaciones no lineales.
• Punto fijo
• Newton-Raphson
Siendo necesario hacer una transformación a variables vectorizadas
Sistema de ecuaciones no lineales
,...Kx
g
x
g
x
g,K
x
g
x
g
x
g
nn
11 22
2
2
1
21
1
2
1
1
1 <≤∂
∂++
∂
∂+
∂
∂<≤
∂
∂++
∂
∂+
∂
∂LL
Con punto fijo f(x) = 0 , x = g(x)
Para un sistema de ecuaciones no lineales
F = [f1, f2, ... ,fn] X = [x1, x2, ..., xn]
G= [g1, g2, ..., gn] x1 = g1(X), x2 = g2(X), .... xn = gn(X)
F(X) = 0, X = G(X) ⇒ X(k+1) = G(X(k))
Condición de convergencia |g’(x)|<1
∂
∂
g
x
K
ni
j
≤( ) ( ) ( )
∞∞−
−≤− 01
1XX
K
KX
nn Α
En general, existe un único para 0 ≤ K < 1, y
punto fijo, si:
Teorema del punto fijo para sistemas
Si además, g’(x) existe para todo x ∈ [a, b] y|g’(x)| ≤ K < 1 para todo x ∈ [a, b] , K constante,
entonces g(x) tiene un único punto fijo α en [a, b] .
Si g(x) es una función continua en [a, b] yg(x) ∈ [a, b] para todo x ∈ [a, b],
entonces g(x) tiene por lo menos un punto fijo en [a, b] .
Si D={(x1, x2,…,xn) ∈ ℜn/ ai ≤ xi ≤ bi i=1,…n} y gi(X) continuasG(X) ∈ D para todo X ∈ D entonces G(X) tiene por lo menos unpunto fijo en D.
Si además existen las derivadas parciales continuas en D y
para todo X ∈ D entonces G(X) tiene un único punto fijo Α en D .
i
j
dx
)X(dg
n
K
dx
)X(dg
i
j≤

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 3/14
Última actualización: 17/04/2016
Ejemplo 1
=−
=+
0 1- y X
0 1- y X22
22
Si D={(x1, x2,…,xn) ∈ ℜn/ ai ≤ xi ≤ bi i=1,…n} y gi(X) continuas
G(X) ∈ D para todo X ∈ D entonces G(X) tiene por lo menos un punto fijo en D.
1 y- y)(x,g
0 1- y X y)(x,f
2
1
221
+=
=+=
[ ]
DXDG
]5.1,5.1[D),y,x(X
,G
∈∉
−==
++=
todo para
1 y1 x- 22
1- x y)(x,g
0 1- y X y)(x,f
22
222
=
=−=
[ ]
todo para
[-1.5,1.5]
1- x1 y- 22
DXG
D),y,x(X
,G
∈ℜ∉
==
+=
-1.5 -1 -0.5 0 0.5 1 1.5-1.5
-1
-0.5
0
0.5
1
1.5sqrt(-y2+1)
y
-1.5 -1 -0.5 0 0.5 1 1.5-1.5
-1
-0.5
0
0.5
1
1.5
x
sqrt(-x2+1)
1 y y)(x,g
0 1- y X y)(x,f
22
222
+=
=−=
1 x- y)(x,g
0 1- y X y)(x,f
2
1
221
+=
=+=-1.5 -1 -0.5 0 0.5 1 1.5
-1.5
-1
-0.5
0
0.5
1
1.5
y
sqrt(y2+1)
Ejemplo 1 Punto Fijo
-1.5 -1 -0.5 0 0.5 1 1.5-1.5
-1
-0.5
0
0.5
1
1.5
x
sqrt(x2-1)
∴no converge
∴no converge
b)
a)
Ejemplo 1 Punto Fijo
X2 + y2 -1=0 f1(x,y)= X2 + y2 -1
X2 - y2 -1=0 f2(x,y)= X2 - y2 -1[ ]yxX,
1- y X
1- y XF
22
22
=
−
+=
[ ]1- x1 y-1- x y y)(x,g
1 y- x y)(x,g
0 1- y X y)(x,f
0 1- y X y)(x,f22
22
21
222
22
1,G +=⇒
==
+==⇒
=−=
=+=
dg1/dy = diff('sqrt(-y^2+1)','y')dg1/dy = -1/(-y^2+1)^(1/2)*y
dg1/dx = diff('sqrt(-y^2+1)',‘x')
dg1/dx = 0
Analizando en -1.5≤ x,y ≤1.5dg1/dy + dg1/dx ∈ℜn en [-1,1]
dg1/dy + dg1/dx < 1 en [-0.7,0.7]
dg2/dx = diff('sqrt(x^2-1)','x')dg2/dx = 1/(x^2-1)^(1/2)*x
dg2/dy = diff('sqrt(x^2-1)',‘y')
dg2/dy= 0
Analizando en -1.5≤ x,y ≤1.5dg2/dy + dg2/dx ∉ℜn en [-1,1]
dg2/dy + dg2/dx > 1 en [-1.5,-1]
y [1,1.5]
- 1 .5 -1 - 0 .5 0 0 .5 1 1 .5-1 5
-1 0
-5
0
5
1 0
1 5
-1 . 5 -1 -0 . 5 0 0 . 5 1 1 . 5-2 0
-1 5
-1 0
- 5
0
5
1 0
1 5
2 0
∴no converge
a)
Ejemplo 1 Punto Fijo (cont.)
++=
+===−=
+===+=1 y,1 x-G
1 y x y)(x,g0 1- y X y)(x,f
1 x- y y)(x,g0 1- y X y)(x,f 22
22
222
21
221
dg1/dx = diff('sqrt(-x^2+1)',‘x')dg1/dx = -1/(-x^2+1)^(1/2)*x
dg1/dy = diff('sqrt(-x^2+1)',‘y')dg1/dy = 0
Analizando en -1.5≤ x,y ≤1.5dg1/dy + dg1/dx ∉ℜn ó >1
dg2/dy = diff('sqrt(y^2+1)',‘y')dg2/dy = 1/(y^2+1)^(1/2)*y
dg2/dx = diff('sqrt(y^2+1)',‘x')dg2/dx= 0
Analizando en -1.5≤ x,y ≤1.5dg2/dy + dg2/dx < 1
-1 . 5 -1 -0 . 5 0 0 . 5 1 1 . 5-1 5
-1 0
-5
0
5
1 0
1 5
-1.5 -1 -0.5 0 0.5 1 1.5-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
∴no converge
b)

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 4/14
Última actualización: 17/04/2016
Ejemplo 2 Punto Fijo
=++
=⇒=+−+=
=++
=⇒=++−=
)y,x(g10
8xxyy08y10xxy)y,x(f
)y,x(g10
8yxx08yx10x)y,x(f
2
22
2
1
2222
1
Para 0 ≤ x,y ≤1.5
≤≤++
≤
≤≤++
≤
5.1287.110
8xxy0
5.125.110
8yx0
2
22
G(X) ∈ D para todo X ∈ Dentonces G(X) tiene por lo menos un punto fijo en D
-10 -8 -6 -4 -2 0 2 4 6 8 10-10
-8
-6
-4
-2
0
2
4
6
8
10
x
y
x y2-10 y+x+8 = 0
x2-10 x+y2+8 = 0
>> ezplot('x^2-10*x+y^2+8',[-10,10])
>> ezplot('x*y^2-10*y+x+8',[-10,10])
Ejemplo 2 Punto Fijo (cont.)
dg1/dx=diff('(x^2+y^2+8)/10','x')dg1/dx =1/5*x
dg1/dy=diff('(x^2+y^2+8)/10','y')dg1/dy =1/5*y
dg2/dx=diff('(x*y^2+x+8)/10','x')dg2/dx =1/10*y^2+1/10 =(y^2+1)/10
dg2/dy=diff('(x*y^2+x+8)/10','y')dg2/dy =1/5*x*y
Máx. para 0 ≤ x,y ≤1.5
dg1/dx = x/5 = 0.3
dg1/dy = y/5 = 0.3
dg2/dx = (y^2+1)/10 = 0.325
dg2/dy = x*y/5 = 0.45
2
9.0
n
K
x
)X(g
i
j=≤
∂
∂
∴ converge
>> X=[0.5,0.5]
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.8500 0.8625
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9466 0.9482
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9795 0.9798
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]
X = 0.9919 0.9920
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9968 0.9968
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9987 0.9987
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9995 0.9995
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]
X = 0.9998 0.9998
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 0.9999 0.9999
>> X=[(X(1)^2+X(2)^2+8)/10, (X(1)*X(2)^2+X(1)+8)/10]X = 1.0000 1.0000
Sistema de ecuaciones no lineales
Con Newton xk+1 = xk – f(xk) / f’(xk)
Para un sistema de ecuaciones no lineales
F(X) = 0, F(X) = [f1(X), f2(X),... ,fn(X)] X = [x1,x2,...,xn]
Xk+1 = Xk – J-1 (F(xk), xk) * F(xk)
Con J (F(xk), xk) ≠0
Como hallar en Matlab el jacobiano (toolbox symbolic)
syms var1 var2 .....Jacobian ([f1,f2,...],[var1,var2,.....]):
∂
∂
∂
∂∂
∂
∂
∂
=
2
2
1
2
2
1
1
1
x
f
x
fx
f
x
f
)X,F(J

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 5/14
Última actualización: 17/04/2016
Ejemplo 1 Newton
X=[x,y]
f1 (X) = x2+y2-1
f2 (X) = x2-y2-1
−=
yx
yxJ
22
22
0.0313
1.0000
0.0625
1.0003
1250
0251
0.125
0.225
250
251
0.5
0.625
11
2020
250
251
1250251
1250251
25022512
25022512
250
251
250
251
250
750
50
50
1
50
5050
5050
50
50
1
50
11
11
50
50
15050
15050
502502
502502
50
50
50
50
43
22
221
2
1
22
221
1
0
=
=
=
−
=
=
−−
=
−−
−+
−−
=
=
−−
=
−
−
−−
=
−
−
−−
=
−−
−+
−−
=
=
−
−−
X,X,.
.
.
.
*..
.
.
..
..*
.*.*
.*.*
.
.X
.
.
.
.
.
..*
..
..
.
.
.*
.
.
..
..*
.*.*
.*.*
.
.X
.
.X
Xk+1 = Xk – J-1 (F(xk), xk) * F(xk)
syms x yJ=Jacobian ([‘x^2+y^2-1, x^2-y^2-1’],[x,y])
Va convergiendo
Ejemplo 2 Newton
=+−+=
=++−=
0810
08102
2
221
yxxy)y,x(f
yxx)y,x(f
-10 -8 -6 -4 -2 0 2 4 6 8 10-10
-8
-6
-4
-2
0
2
4
6
8
10
x
y
x y2-10 y+x+8 = 0
x2-10 x+y2+8 = 0
−+=
1021y
2y10-2x 2 xy
J
=
−
−−
=
=
−
−−
=
=
−
−−
=
+−+
++−
−+
−−
=
=
−
−−
0001
0001
01030
00720
0058899681
9968100268
99840
99870
99840
99870
37310
38440
2387888201
8783112468
93920
93770
93920
93770
6253
53
59251
19
50
50
85010505050
850501050
1050502150
50210502
50
50
50
50
1
3
2
1
2
221
21
0
.
.
.
.*
..
..
.
.X
.
.
.
.*
..
..
.
.X
.
.
.
.*
...
.
.*..*.
..*.*
.*.*.
.*.*
.
.X
.
.X
−
=
−
+
+
)y,x(f
)y,x(f
y
x,
)y,x(f
)y,x(fJ
y
x
y
x
kk
kk
k
k
kk
kk
k
k
k
k
2
1
1
2
1
1
1
syms x y>>F=[x^2-10*x+y^2+8;x*y^2-10*y+x+8]F =
x^2-10*x+y^2+8x*y^2-10*y+x+8>> X=[x;y]
X =xy>> N=X-jacobian(F)\F % o N=X-F/jacobian(F)‘ con F y X vector fila
N =x-(-40+5*y^2+7*x*y-8*y-10*x^2*y+x^3*y+50*x-5*x^2)/(-y^3-y+2*x^2*y-10*x*y-10*x+50)y-1/2*(-88+x^2-20*x*y+100*y+16*x-9*y^2+y^2*x^2-y^4)/(-y^3-y+2*x^2*y-10*x*y-10*x+50)
>> X=subs(N,[x;y],[0.5;0.5])X =
0.9377
0.9392>> X=subs(N,[x;y],X)X =
0.9987
0.9984>> X=subs(N,[x;y],X)X =
1.00001.0000
Ejemplo 2 NewtonEmpleando Matlab
=+−+=
=++−=
0810
08102
2
221
yxxy)y,x(f
yxx)y,x(f
−+=
1021y
2y10-2x 2 xy
J
=
+
=+=
=
+−+
++−−=
−+
−
+++
+
93920
93770
50
50
43920
43770
43920
43770
85010505050
850501050
1050502150
50210502
111
2
22
12
.
.
.
.
.
.XZX,
.
.Z
.*..*.
..*.Z*
.*.*.
.*.*
kkkk
k
Método Newton simplificadoEjemplo 2
Xk+1 = Xk – J-1 (F(xk), xk) * F(xk) ⇒ Xk+1 - Xk = – J-1 (F(xk), xk) * F(xk)
J (F(xk), xk) *(Xk+1 - Xk ) = –F(xk) |
Si Zk+1 = (Xk+1 - Xk ) ⇒ J (F(xk), xk) *Zk+1 = –F(xk) con |Zk+1|< ε
=
50
500
.
.X
Se evita invertir el Jacobiano en cada iteración

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 6/14
Última actualización: 17/04/2016
Dificultades en la solución de sistemas de ecuaciones no
lineales
• No es fácil encontrar buenos valores iniciales.Conocer el problema.
• No es posible graficar superficies multidimensionales (n>2).Reducción de ecuaciones.Partición del sistema de ecuaciones.
Solución numérica de sistemas de ecuaciones lineales
Un sistema de n ecuaciones, con coeficientes reales en las n-incógnitas x1, x2,...,xn, de la forma:
ai1, ai2,...,ain y bi constantes ∈ ℜ
i=1,…,n,
se dice sistema lineal
0
0
0
21
212
211
=
=
=
)x,,x,x(f
)x,,x,x(f
)x,,x,x(f
nn
n
n
K
M
K
K
( ) 021 == )X(Fx,,x,xX n , Si K
( )
inin2i21i1
ni
bxaxaxa
x,,x,xf
−+++=
=
K
K21con
y X ∈ ℜn entonces X es una solución real del sistema
F(X)
Un sistema de n-ecuaciones lineales puede escribirse en la forma:
ó en la forma matricial equivalente AX = B con:
A es la matriz de coeficientes del sistema, el vector columna X es el vector de incógnitas y B es el vector de términos independientes.
nnnn2n21n1
jij
nn2221
1n1n212111
bxaxaxa
n,...,,j,i,b,acon
bxaxaxa
bxaxaxa
−+++
=ℜ∈
−+++
−+++
K
M
K
K
212221
=
=
=
n
2
1
n
2
1
nnn21n
n22221
n11211
b
b
b
B,
x
x
x
X,
aaa
aaa
aaa
AMM
L
MMM
L
L
Sistemas con solución única
Consideraremos únicamente sistemas de ecuaciones lineales AX= bcon A ∈ ℜℜℜℜn×n que tengan solución única para cada vector b ∈ ℜℜℜℜn, es
decir, con A invertible ⇒ X=b*A-1.
Matlab introduce una notaciónparticular implementando los operadores \ y /. La solución a
un sistema es expresada como:
X=A\b (con b vector columna)
equivalente a inv(A)*b.ó X=b/A (con b vector fila) equivalente a b*inv(A).
Emplea eliminación Gaussiana

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 7/14
Última actualización: 17/04/2016
Sistemas sin solución única
X=b/AWarning: Matrix is singular
to working precision.
X = Inf Inf Inf
Se anula el determinante, matriz singular, no inversibleEn Matlab: det(A)
ans = 0
Si det → 0 , no implica que la
matriz → singular, puede depender de los coeficientes
de la matriz
Los métodos directos nos proporcionan una solución del sistema en un número finito de pasos.
Si usamos aritmética finita para los cálculos, obtendremos por lo general una solución aproximada, debido únicamente a los errores de redondeo, puesto que no hay errores de truncamiento
o de fórmula.
Los métodos directos más usados tienen como base la
eliminación de Gauss.
Métodos directos
SustituciónSi la matriz A es triangular (superior o inferior) con todas sus componentes sobre la diagonal principal no-nulas.
Como ann ≠ 0 , se puede despejar xn
de la última ecuación y obtenemos:
Este método se denominasustitución reversiva, regresiva o hacia atrás
(Aprox. n2+n operaciones)
−
=
−==
∑−=
11
1
mm
n
mkkmkm
m
nn
nn
a
xab
x
,...,nma
bx
=
nnnn
n22
1n11
b
b
b
x
x
x
a
aa
aaa
MM
L
MOM
K
K
2
1
2
1
2
12
000
0
Si A es triangular inferior, se despeja x1 de la primera ecuación. En este
caso se denomina sustitución progresiva o hacia adelante.
Transformaciones elementales
Operaciones que producen sistemas equivalentes:
• Intercambio: En el orden de las ecuaciones (filas), no altera el resultado. En el orden de las variables (columnas), altera el
orden de las variables en el resultado.
• Escalado: Producto de la ecuación por constante no nula
• Sustitución: Suma de la ecuación más múltiplo de otra
ecuación: Er1 = Er+c*Eq
Matriz ampliada[ ]
=
nnnn
n
b
b
aa
aa
B|A M
L
MLM
L 1
1
111

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 8/14
Última actualización: 17/04/2016
Eliminación de GaussSi la matriz A no es triangular, puede convertirse mediante el método de eliminación Gaussiana. El sistema AX= B tiene la forma:
Se elimina el coeficiente de x1 en cada una de las ecuaciones E2,E3,,..., En para obtener unsistema equivalente A(1) X = B(1 ) , realizando las transformaciones elementales.
=
nnnnnn1
n2221
1n11
n
i
b
b
b
x
x
x
aaa
aaa
aaa
:E
:E
:E
:E
MM
L
MOM
K
K
2
1
2
1
2
2
12
2
1
=
nnnnn
n22
1n11
)1(
n
)1(
i
)1(
)1(
b
b
b
x
x
x
aa
aa
aaa
:E
:E
:E
:E
MM
L
MOM
K
K
2
1
2
1
2
2
12
2
1
0
0
n,...,,i
EEa
aE )(
ii
i
32
1
1
11
1
=
→
−
Pivoteo
Si algún ajj=0 se deben intercambiar filas, si |ajj|→ 0 el intercambio de filas disminuye el error
(Operaciones aproximadas:2/3 n3+ 5/2 n2 - 1/6 n)
Luego se elimina el coeficiente de x2 en las ecuaciones E3 , E4....
Y así sucesivamente hasta eliminar el coeficiente de xn-1. En general:
n,...,ji,EEa
aE j
i
)j(
j)j(
jj
)j(
ijj
i 11
1
1
1 +=→
− −
−
−
−
Ejemplo
E1: 10*x1 – 7*x2 = 7
E2: -3*x1 + 2*x2 + 6*x3 = 4
E3: 5*x1 - x2 + 5*x3 = 6
−
−
−
6
4
7
515
623
0710
3E
2E
1E
Matriz ampliada [A|B]
pivote
multiplicador
E1*(5/10)E3E3
E1*3/10)(E2E2
2.5
6.1
7
52.50
60.10
0710
E3
E2
E1
(1)
(1)
(1)
(1)
(1)
−=
−−=
−
−El coeficiente 10
de x1 es el pivote y–0.3 y 0.5 los
multiplicadores
6.2*x3 = 6.2 ⇒ x3 = 1. 2.5*x2 + (5)*(1) = 2.5 ⇒ x2 = -1. 10*x1 + (-7)*(-1) = 7 ⇒ x1 = 0.
'3E*)5.2/1.0('2E'2E2.6
5.2
7
2.600
55.20
0710
'2E
'3E
'1E
1.6
5.2
7
61.00
55.20
0710
'2E
'3E
'1E
)1()1()2()2(
)2(
)2(
)1(
)1(
)1(
−−=
−
−
−
Intercambio de filas
(1)(1)(2)(2)
(2)
(2)
E2*0.1)(2.5/E3E3155
6.1
7
15500
60.10
0710
E3
E2
E1
−−=
−
−
Pivote 2.5Multiplicador –0.04
−
−
−
6
4
7
515
623
0710
3E
2E
1EEjemplo (cont):
Pivote 6.2
Factorización LU
L contiene los multiplicadores utilizados en la eliminación,U la matriz final de coeficientes y P describe las permutaciones.LU = PA
AX = b1 ⇒ PAX = P b1
⇒ LUX = P b1
⇒ UX = L- 1 P b1 = c⇒ Lc = P b1
Los pasos a seguir son:Paso 1. Calcular P b1 .Paso 2. Resolver c, en Lc = P b1 por sustitución progresiva.
Paso 3. Resolver X, en UX = c por sustitución regresiva.
=
−
=
−−
=
010
100
001
2600
5520
0710
104030
0150
001
P,
.
.U,
..
.LMultiplicadores
Pivotes
Siendo b1 un nuevo término independiente

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 9/14
Última actualización: 17/04/2016
Ejemplo LU
=
−=
−−=
010100
001
26005520
0710
1040300150
001
P,.
.U,..
.L
1er Ejemplo
−
−
−
6
4
7
515
623
0710
3E
2E
1E
2do Ejemplo con términos independientes cambiados
−
−
−
5
6
9
515
623
0710
3E
2E
1E
Lc=Pb, UX = c
{ {
{
−−
=
⇒
=−=
−=
=
−
=
⇒
++=−==
=
−−
41.162.293.0
2.6/72.85.2/)41.1*55.0(
10/)62.2*79( ,
72.850.000.9
*2.600
55.200710
72.8
50.000.9
5*04.09*3.06c
9*5.059
,
6
59
*
0.104.03.0
00.15.0000.1
3
2
1
3
2
1
3
2
1
3
2
1
3
2
1
*
3
2
1
x
xx
xx
x
xxx
c
cc
cc
c
cc
cXU
cbPcL
321444 3444 21
3214444 34444 21
Casos particularesSi A es una matriz tridiagonal y E.D.D. por filas, podemos usar eliminación Gaussiana simple para resolver el sistema. O resolverlo a partir de la factorización directa A = LU.
Si A es una matriz real, simétrica y definida positiva (pivotes positivos), entonces A tiene una única factorización de la forma A = LLT . Esta factorización se conoce como factorización de Choleski.
ni
cd
ad
c
c
c
UL
da
cda
cda
cda
cd
A iiii
i
ii
n
nn
n
n
nn
nnn ,...,,3200
0
00
00
100
0100
0
01
001
00
0
00
00
1
1
11
11
22
11
1
3
2
111
333
222
11
====
γγγγ−−−−====αααααααα
====γγγγ
====αααα
αααα
αααα
αααα
αααα
====
γγγγ
γγγγ
γγγγ
γγγγ
====
==== −−−−
−−−−
−−−−−−−−−−−−−−−−−−−−−−−−
LL
OM
OO
MOOOOM
ML
L
LL
L
MOOOOM
OO
ML
LL
LL
OOM
MOOOOM
MO
L
LL
niIaI
ijI
IIa
I
I
II
III
IIII
IIII
III
II
I
aaaa
aaaa
aaaa
aaaa
Ai
k
ikiiii
jj
j
k
jkikij
ij
,...,1,
1,...,2,,
000
00
0
0
00
000
1
1
2
1
1
44
4333
423222
41312111
44434241
333231
2221
11
44434241
34333231
24232221
41312111
=−=
−=
−
=
=
=
∑
∑
−
=
−
=
Otras posibilidades a partir del método de eliminación de Gauss
• Eliminación de Jordan: Se genera una matriz diagonal para eliminar la sustitución. Se eliminan elementos arriba y abajo del pivote.
• Inversión de matrices: A partir de [A|B], con B matriz identidad, aplicando Jordan y escalado, se obtiene [I|B’] con B’inversa de A.
• Determinante: A partir de la matriz triangulada det(A)=(-1)r Πaii , con r = nro. Intercambios de filas.
• Factorización LU: Permite reservar los parámetros de la eliminación de Gauss, para ser aplicados en la resolución de sistemas con igual matriz A.
Funciones MATLAB
[L,U,P] = LU(A) Donde A puede ser una matriz rectangularL es la matriz triangular inferior de LU con elementos 1 en la diagonal
U es la matriz triangular superior de LUP es la matriz de permutaciones tal que P*A = L*U.
X=U\(L\b)
R = CHOL(X) Factorización Cholesky. A=R’*R
X=R\(R’\b)

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 10/14
Última actualización: 17/04/2016
Matrices ralas
Las matrices asociadas con los sistemas de ecuaciones lineales se clasifican en densas y ralas (sparse).
Las matrices densas tienen pocos elementos nulos y su orden es relativamente pequeño (≤ 100 ). Para resolver sistemas con matrices densas pueden ser utilizados los métodos directos.
Las matrices ralas tienen pocos elementos no nulos y surgen, por ejemplo, al resolver ecuaciones diferenciales por métodos de diferencias finitas; su orden puede ser muy grande. Para resolver sistemas con matrices ralas son recomendados los métodos iterativos.
Matlab, de todos modos, posee funciones para trabajar con matrices ralas (consideradas un tipo de dato) y particularmente para resolver
sistemas de ecuaciones con métodos directos. ( luinc, cholinc ).
Condicionamiento del Sistema
0 1 2 3 4 50
1
2
3
4
5
-1/2*x+y=1
-1/2*x+y=1/2
0 1 2 3 4 50
1
2
3
4
5
-1/2*x+y=1
-x+2*y=2
0 1 2 3 4 50
1
2
3
4
5
-1/2*x+y=1
-2.3/5*x+y=1.1
0 1 2 3 4 50
1
2
3
4
5
-1/2*x+y=1
3*x+2*y=18
Sin solución ∞ soluciones
Solución únicaBien condicionado Mal condicionado
Condicionamiento del sistema
Si X es solución exacta de un sistema lineal AX= b , A invertible, b ≠ 0 , yX~ es una solución aproximada de dicho sistema,
⇒ e = |X~ - X| es el vector error de X (desconocido) y
R = AX~ − b es el vector error residual, mide hasta dónde la solución aproximada X~ satisface el sistema
Si R = 0 ⇒ X~ = X ⇒ e = 0
X~ tal que AX~ = R + b y X~ es solución de una perturbación del
sistema AX = b.
Si R "pequeño" ⇒ e también "pequeño“?
Sistemas mal condicionadosEjemplos: X=[x;y]
1) x + y = 2
10.05x +10y = 21.
Una perturbación de aprox. .2% en el término independiente, muestra un cambio relativo aproximado de 66% en el valor de X.
−=
18
201X
−=
−=
10
10
111 XX~
e
Cambio relativo de aprox el 50%en la solución
Perturbando en aprox. .5% un coeficientex + y = 210.1x +10y = 21
−=
8
101X
~
2)
=
=
=+
=+
=
=+
=+
97
66
97
34
796679
1148214
0
1
796679
148214222
.
.e
.
.X~
.y.x.
.y.x.X
.y.x.
.y.x.

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 11/14
Última actualización: 17/04/2016
Sistemas bien condicionados
Ejemplos:
3) 4 x + 5 y = 14
10 x + 6 y = 22 3
1
2X
=
Perturbando en aprox. 11% un coeficiente4.5 x + 5 y = 1410x + 6 y = 22 3
1.13041.7826
X
= %
3 3 3
0.1304
0.2174
e X X= −
= −
%
Cambio relativo de aprox el 15 % en la solución
( ) ( )
~
3 3
3 3
4 5 1.1304 14 13.4346 14 -0.56541)
10 6 1.7826 22 21.9996 22 .0004
max .1304 , .2174 .2174 , max -.5654 , .0004 .5654
R AX b
e R∞ ∞
= − = − = − = −
= − = = − =
( ) ( )
~
1 1
1 1
1 1 10 2 2 2 01)
10.05 10 8 21 20.5 21 .5
max 10 ,10 10 , max 0 , .5 .5
R AX b
e R∞ ∞
= − = − = − = − −
= − = = − =
( ) ( )
~
2 2
1 1
4.1 2.8 .34 4.11 4.11 4.1 .012)
9.7 6.6 .97 9.7 9.7 9.7 0
max .34 , .97 .97 , max 0.1, 0 .01
R AX b
e R∞ ∞
= − = − = − =
= = = =
El error en la solución es “grande” y el error residual es “pequeño”.
Se puede probar que: “pequeño” “pequeño”
si se satisface la condición A A− ≈1 1
Ejemplos (cont.): Error residual
R e
b X⇒
Número de Condición
El número resultante de ||A|| || A-1|| se llama Número de Condición (Cond(A)) de la matriz no-singular A, relativo a una norma matricial.Cond (A) ≥ 1, cualquiera sea la norma matricial inducida.
Si Cond (A) ≈ 1⇒ A está bien condicionada (el sistema AX =b está bien condicionado).
Si Cond (A) >> 1, A está mal condicionada, es posible que A tenga un malcomportamiento, en el sentido que un error residual relativo pequeño puede corresponder a una solución aproximada mala (el sistema AX= b está malcondicionado).
1y00
11 ===≤=≠≠
−−
X
Xmax
X
XImaxIAAI,AAI
xn
xnnn
1 1 1 1 200 20* 20.05 * 221 4431.05 1
10.05 10 10.05 10 201 20cond
∞ ∞
− = = = >> −
1)
Relación residuo – Error solución
• La relación entre y es:
)A(cond*b
R
X
e
)A(cond*
b
R≤≤
1
R e
b X
R e
b X⇒
1)6
7
0.5 1 0.5* * 4431.05 5.37 *10 105.50
21 4431.05 21
0.01 1 0.01* * 2249.4 4.5831*10 2.2494
9.7 2249.4 9.7
.5654 1 .5654* 6.6575 0.0039 0.0257
22 6.6575 22
X X X X
X X
X X X X
X X
X X X X
X X
−
−
− −≤ ≤ ⇒ ≤ ≤
− −≤ ≤ ⇒ ≤ ≤
− −∗ ≤ ≤ ⇒ ≤ ≤
% %
% %
% %
2)
3)

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 12/14
Última actualización: 17/04/2016
Cota del error relativo
Dado un sistema AX =b , si δA y δb denotan perturbaciones en A y brespectivamente, se puede establecer una cota para el error relativoen términos de las perturbaciones relativas y la condición de A.
Si X es la solución exacta de AX =b y X~ es la solución exacta del
sistema perturbado (A+δA) X~= b + δb.
Si A es no-singular, (lo que asegura que A + δAes invertible y que
⇒1 0− >cond A
A
A( )
δ
δAA
<−
11
( )
1 ( )
X X b ACond A
AX b ACond A
A
δ δ
δ
− ≤ +
−
%
1 1
1 1 11) 0.05, 0.0045,
221
0.012) 0, ( )* ( )* 2249.4*0.001=2.2494
9.7
A AA A
X XbA cond A cond A
b X
− −δ = = = δ >
−δδ = = = ≥
%
Métodos Indirectos
En los métodos iterativos o indirectos se parte de una aproximación inicial a la solución del sistema dado y se genera, a partir de dicha aproximación, una sucesión de vectores {Xn} que
deberían converger a la solución del sistema.
Además de los errores de redondeo, si se usa aritmética
finita, habrá errores de truncamiento o de fórmula.
Los métodos iterativos más simples y conocidos están
basados en Iteraciones de Punto Fijo.
Método JacobiDado un sistema AX ==== b, donde A no-singular se puede transformaren un sistema equivalente X ==== BX ++++ c para alguna matriz BJ (matriz de iteración de Jacobi) y algún vector c.
ii
iiii
ij
ij
ii
ij
n
ji1i ii
ij
ia
bc con
ji,0
ji,a
a
Ba
bx
a
ax =
=
≠−=+
−= ∑
≠=
Coeficientes de BJ
Coeficientes de c
nn
nnnnnnnnn2n21n1
nnnn2221
n1n21211n1n212111
a
xaxabbxaxaxa
a
xaxaxabxbxaxaxa
a
xaxabxbxaxaxa
1111
22
2323121222221
111
−−−−−==+++
⇒
−−−==+++
−−−==+++
KK
MM
KK
KK
n x
G(X)
Fórmula de iteración del Metodo Jacobi
Se construye entonces la sucesión de vectores {X(k)}k a partir de la fórmula de iteración X(k+1) = G(X(k)) = BX(k) + Cy se espera que "converja" a la única solución X del sistema.ii
n
ji1j
)k(
jiji
)1k(
ia
xab
x
∑≠=
+
−
=
ε<−
ε<−
ε<−=
−
−
)(
)1(
)1(
)()(
iii)
ii)
i)
k
k(k)
k(k)
kk
X
XX
XX
bAXR
1B con 1k,X-X B1
BX-X iii)
1k,X-X B1
BX-X ii)
1k,X-X BX-X i)
(0)(1)
k
(k)
(0)(1)
k
(k)
(0)k(k)
<≥−
≤
≥−
≤
≥≤
Criterios de aproximación Cotas para error de truncamiento

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 13/14
Última actualización: 17/04/2016
Convergencia Método Jacobi
||B||<1 si A es E.D.D.⇒ el método Jacobi converge a una única solución.Una matriz es Estrictamente Diagonalmente Dominante si
Si ||B||≥1 no se puede asegurar la convergencia y se debe estudiar el radio espectral ρ(B).
⇒ det(B-λI) = ecuación característica de B
y ρ(B) = max(raíces de la ec. Característica),
si ρ(B) ≥1 el método diverge
si ρ(B) <1 el método converge
||B|| depende de la reubicación de las filas
a aii ijjj i
n
>=≠
∑1
Ejemplo método Jacobi
No es E.D.D||B||∞=4 >1
Radio espectral ρ(BJ) , de la matriz de iteración BJ.r_espec = max(abs(eig(B))) ó
r_espec = max(abs(roots(poly(B))))
El método Jacobi no converge. Verificar intercambiando filas
=++=++−=+−
45330312
321
321
321
xxxxxxxxx
{ {321444 3444 21
cX
3
2
1
BX
3
2
1
5
4
0
2
1
x
x
x
05
3
5
3
301
2
1
2
10
x
x
x
1k
J
k
−
+
−−
−−
−
=
−
05
3
5
8
5
3
5
3
31
2
1
2
1
)I-Bdet( 3J =+λ+λ−=
λ−−−
−λ−−
−λ−
=λ421954
1.42195 1
3
2
1
.−≈λ≈λ
−≈λ
{ } 11.42195 .421954 -,1.42195,1-max)B( G >==ρ
Jacobi-Intercambiando filas…
=++
=++
−=+−
0x3xx
4x5x3x3
1xxx2
321
321
321
{ {
321444 3444 21c
X
B
X k
J
k
x
x
x
x
x
x
−
+
−−
−−
−
=
−
03
42
1
03
1
3
13
501
2
1
2
10
1
3
2
1
3
2
1
09
1
9
23 =+λ+λ
No es E.D.D||BJ||∞=8/3 >1 no se puede asegurar la convergencia, por lo tanto debemos encontrar el radio espectral ρ(BJ). La ecuación característica es
{ }{ } 1631096.419595,.631096.Max
i276567.155483.,i276567.315548.-,631096.Max)B(
i276567.155483.
i276567.155483.
631096.
J
3
2
1
<=≈
−−+≈ρ
−−≈λ
+−≈λ
≈λ
cuyas raíces son
Jacobi – Solución al ej.
De acuerdo al análisis de convergencia, el método iterativo de Jacobi converge a una única solución, cualquiera sea la aproximación inicial X(0) .
Iterando con el método de Jacobi, tomando como aproximación inicial X(0) = [0,0,0]’ , y usando como criterio de aproximación
||X(k) – X(k-1)|| < . 001
Obtenemos:X(1) = [-.5, 1.3333, 0]’, X(2) = [.16667, 1.8333, -.27778]’
X(15) = [.99798, 1.9990, -.99842]’ X(16)=[.99873, 1.9994, -.99901]’
Como k = 16 es el primer entero positivo para el cual
||X(k) – X(k-1)|| < . 001
X≈X(16) es solución al problema.

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 14/14
Última actualización: 17/04/2016
Fórmula vectorial de iteración del Metodo Jacobi
La matriz A puede descomponerse como: A = D +L+UDonde D es la matriz diagonal de A (diag(diag(A))),L es la matriz triangular estrictamente inferior de A (tril(A,-1)),U es la matriz triangular estrictamente superior de A (triu(A,1)),Entonces:
AX = b ⇔ (D + L + U) X = bDX + (L+U) X = bDX = -(L + U) X + bX = -D-1(L + U) X + D-1 b
X(k) = -D-1(L + U) X(k-1) + D-1 b, k = 1,2, ...
B c
[B|c] = Bc = [ -diag(1./diag(A))*(tril(A,-1)+triu(A,1)) , diag(1./diag(A))*b ]
B*X+c= X= [-diag(1./diag(A))*(tril(A,-1)+triu(A,1))*X+diag(1./diag(A))*b ]
Con b y X vectores columna
Método Gauss-SeidelUna mejora del algoritmo de Jacobi es obtener xi
(k) utilizando las x1
(k), x2(k),..., xi-1
(k), ya calculadas, ya que son mejores aproximaciones a la solución exacta.
En general para 1erIteración:
En general:
A partir de un valor inicial[x1
(0), x2(0),..., xi-1
(0)]
El análisis de convergencia coincide con Jacobi, aunque suele converger más rápido. La matriz BJ no es la misma que BGS.
22
3
02
11212
(1)2
11
2
011
(1)1
a
xaxab
x,a
xab
x
n
j
)(jj
)(n
j
)(jj ∑∑
==
−−
=
−
=
nn
n
j
)(jnjn
ii
n
ij
)(jij
i
j
)(jiji
a
xab
x,a
xaxab
x
∑∑∑−
=+=
−
=
−
=
−−
=
1
1
1
(1)n
1
01
1
1
(1)i
ii
n
ij
)k(jij
i
j
)k(jiji
a
xaxab
x
∑∑+=
−−
=
−−
=1
11
1(k)i
Ejemplo método Gauss-Seidel
||BG||∞ = 3 >1
Entonces el método diverge
En este caso, como la matriz BG es triangular los autovalores son los elementos de la diagonal
15
9
5
9,
2
1,0max)B( G >=
−=ρ
=++=++−=+−
45330312
321
321
321
xxxxxxxxx
{ {
32144 344 21c
X
3
2
1
B
X
3
2
1
5
42
12
1
x
x
x
5
900
2
5
2
10
2
1
2
10
x
x
x
1k
G
k
−
+
−−
−
=
−
5
x3x34x
,x3xx
,2
xx1x
)k(
2
)k(
1k
3
)1k(
3
)k(
1
k
2
)1k(
3
)1k(
2k
1
−−=
−−=
−+−=
−
−−
5
x94x
,2
x5x1x
,2
xx1x
)1k(
3k3
)1k(3
)1k(2k
2
)1k(3
)1k(2k
1
−
−−
−−
+=
−−=
−+−=
GS-Intercambiando filas…
=++
=++
−=+−
0x3xx
4x5x3x3
1xxx2
321
321
321
Como ||BG||∞ >1 no podemos asegurar la convergencia,
Pero ρ(BG) = Max {0,1/2,5/9} <1 entonces el método de Gauss-Seidel converge a la única solución del sistema dado, cualquiera sea la aproximación inicial.
X≈X(13) = [.99898 ,1.9996 , -.99952] es solución al problema.
{ {
32144 344 21c
X
3
2
1
B
X
3
2
1
5
46
112
1
x
x
x
9
500
6
7
2
10
2
1
2
10
x
x
x
1k
G
k
−
+
−−
−
=
−

Métodos Numéricos – Cap 4: Solución de Sistemas de Ecuaciones lineales y no lineales 15/14
Última actualización: 17/04/2016
Fórmula vectorial de iteración del Metodo Gauss-Seidel
( ) i)1k(
j
n
1ij
ij)k(
j
i
1j
ij
ii
n
1ij
)1k(
jij
1i
1j
)k(
jiji
(k)i bxaxa
a
xaxab
x +−=⇒
−−
= −
+==
+=
−−
= ∑∑∑∑
(D + L) X(k) = -U X(k-1) + b
X(k) = (D + L)-1 (-U) X(k-1) + (D +L)-1 b, con k=1,2,...
B c
[B|c] = Bc=[tril(A)^-1*-triu(A,1) , (tril(A))^-1*b ]
B*X+c= X=[tril(A)^-1*-triu(A,1)*X+(tril(A))^-1*b ]
Métodos iterativos
Ventajas Desventajas
• Más eficientes que los directos para sistemas de orden muy alto.
• Más simples de programar.
• Pueden encontrarse aproximaciones a la solución.
• Son menos sensibles a los errores de redondeo (importante en sist. mal
condicionados).
• Si se tienen varios sistemas que comparten la misma matriz de coeficientes, por
cada uno hay que aplicar el método.
• Aunque la convergencia esté asegurada puede ser lenta
(En Gauss no es predecible).
• No se obtiene ni det(A) ni A-1