H. Scaletti - Métodos Numéricos: Introducción 1 - 1
1. Algunas Ideas Generales sobre Métodos Numéricos
1.1 Introducción
En ciencia y tecnología son comunes los problemas para los que no es posible hallar una solución analítica. Es frecuente entonces reducir el problema a un caso particular, o simplificar el modelo de modo que pueda ser analizado. Hay, sin embargo, situaciones en que un modelo simplificado no es apropiado para describir los aspectos que son importantes en el comportamiento. Se recurre entonces a soluciones numéricas. La magnitud del trabajo es función de la precisión que se requiere. En los últimos 50 años, gracias a las computadoras digitales, las posibilidades para utilizar eficientemente los métodos numéricos han aumentado enormemente; y los puntos de vista con relación a ellos han ciertamente cambiado.
En la mayor parte de los métodos numéricos se aplican ideas relativamente simples. Una idea frecuente es la de iteración, es decir, la repetición de un proceso en forma tal que se obtienen cada vez mejores aproximaciones a la solución. Para ilustrar el uso de iteraciones considérese la solución de x3 =c
. En este caso x es la raíz cúbica de c. Esta ecuación puede reescribirse como:
+
= 2 2
3 1
x c x x
Empezando con la aproximación inicial x≈x0 ≠0, se puede iterar con:
+ =
+1 2 2
3 1
n n n
x c x x
Esta es una aplicación del conocido método de Newton para hallar raíces de una ecuación no lineal. Por ejemplo, para el caso c=2 (es decir 3 =2
x ) y con x0 =1 se obtienen:
333 . 1 ) 1 (
2 1 2 3 1
2
1 =
+ ⋅ = x
889 263 . 1 ) 333 . 1 (
2 333 . 1 2 3 1
2
2 =
+ ⋅ = x
y así sucesivamente: 450 493 933 1.259 3 = x
18 0 50 0 921 1.259 4 = x
895 049 921 1.259 5 = x
Una interpretación geométrica de la iteración se muestra en la figura.
0 0.5 1 1.5 2 2.5 3
0 0.5 1 1.5 2 2.5 3 x
y
Puede en este caso probarse que el proceso converge siempre, para cualquier selección de x0. Si xn tiene tdígitos correctos, xn+1 tendrá por lo menos 2t–1 dígitos correctos. Sin embargo, no todos los procesos iterativos funcionan. Por ejemplo, podría escribirse
2 1 2 n
n x
x + = , lo que produce resultados alternados y obviamente no converge. x y=
) / 2 2
( 2
3
1 x x
Otra idea frecuente es la de aproximar localmente una función complicada por una función lineal (o quizás parabólica u otra relativamente simple). Esto es lo que se hace al interpolar entre dos líneas de una tabla, o en procesos tales como el método de Newton – Raphson para mejorar la aproximación a una raíz de una función f(x)=0, la integración de una función por el método de los trapecios, la solución de una ecuación diferencial y′= f(x,y)por el método de Euler, por citar sólo algunos de los métodos más conocidos.
En muchos casos se obtiene un conjunto de resultados en una sucesión de etapas, para cada una de las cuales se consideran como datos los resultados de la etapa anterior. Tales procesos se denominan de
recursión. Son muy poderosos, pero deben ser
utilizados con propiedad. La “Regla de Horner” para evaluar un polinomio tal comon n n
n
a x a x
a x a x
p = + − + + −1 +
1 1 0
)
( K proporciona un ejemplo simple de recursión. El
polinomio p(x) puede evaluarse realizando las operaciones: 0
0 = p
0 0
1 p x a
p = +
M
1 1
2 px a
p = +
) ( 1x a p x p
pn = n− + n =
La acumulación de errores en un proceso de este tipo puede ser importante.
El ejemplo siguiente ilustra también el uso de una recursión y el fenómeno conocido como “inestabilidad numérica”. Supóngase que se requiere calcular, para n = 0, 1, 2, ...
∫
+= 1
0 5
dx x
x y
n n
Puede observarse que los valores de yn decrecen con n. Además:
n
dx
x
dx
x
x
x
dx
x
x
dx
x
x
y
y
nn n
n
n n
1
5
)
5
(
5
5
5
5
10 1 1
0 1 1
0 1 1
0
1
+
=
=
+
=
+
+
+
=
+
∫
∫
−∫
−∫
−−
y por lo tanto: yn = 1/n – 5yn-1. Esta expresión podría permitir determinar los sucesivos
yn a partir de un valor inicial, como y0. Sabiendo que:
(
)
[
]
0
.
182
5
6
5
5
1 0 1
0
0
≈
=
+
=
+
=
∫
dx
Ln
x
Ln
x
x
y
n
Se obtienen (en todos los cálculos de este ejemplo se han considerado sólo tres cifras significativas):
182
0
0
.
y
≈
090
0
5
1
01
y
.
y
=
−
≈
050
.
0
5
1 2 12
=
−
y
≈
y
083
.
0
5
2 3 13
=
−
y
≈
y
¡Sorprendente que se obtenga y3 > y2 !165
.
0
5
3 4 14
=
−
y
≈
−
y
¡Absurdo!L
03
.
1
5
4 5 15
=
−
y
≈
y
H. Scaletti - Métodos Numéricos: Introducción 1 - 3 en que estos errores se propagan (o disipan) es decisiva en la utilidad de un método numérico dado.
En el proceso utilizado, un pequeño error
ε
en yo se multiplica por –5 en el cálculo dey
1. Sin tener en consideración los errores introducidos en los redondeos de este paso, se produce un error de 25 ε en y2. El resultado del paso k está afectado por el error inicial multiplicado por (-5)k. A esto deben agregarse los efectos de los errores introducidos en todos los pasos intermedios. Si se hubieran utilizado más cifras decimales en los cálculos, los resultados absurdos habrían también aparecido, aunque un tanto más adelante en el proceso. La inestabilidad numérica puede evitarse seleccionando un algoritmo más adecuado. Así, utilizando la fórmula “en la otra dirección”:
−
=
y
nn
y
1
5
1
1 -n
el error queda dividido por 5 en cada paso. Sabiendo que
yn decrece cuando
n crece,
pueden iniciarse los cálculos con algo tan pobre comoy
10=
0
, obteniéndose:(
1010
)
0
.
020
5 1
9
=
−
=
y
(
9 9)
0
.
019
1 5 1
8
=
−
y
≈
y
(
81 8)
0
.
021
5 1
7
=
−
y
≈
y
(
7 7)
0
.
025
1 5 1
6
=
−
y
≈
y
y así sucesivamente:
y
5≈
0.028
y
4≈
0.034
y
3≈
0.043
y
2≈
0.058
y
1≈
0.088
y
0≈
0.182
¡Correcto! (a pesar de la errada información inicial)Sin embargo, no debe creerse que el utilizar fórmulas “al revés” es el remedio para todos los problemas numéricos. Cualquier proceso que se plantee no será siempre aplicable, ni en todos los casos el más efectivo.
1.2 Fuentes de Error
Los resultados numéricos están afectados por errores provenientes de diversas fuentes. En primer lugar deben citarse errores en los datos, puesto que ellos son en general resultado de mediciones o estimaciones imperfectas. Es de esperar que los errores relativos en los resultados sean del mismo orden de magnitud (o menores) que aquellos de los datos. Sin embargo, éste no siempre es el caso: se dice entonces que el problema es “mal condicionado”, es decir, la solución es muy sensible a pequeños errores en los datos. Dificultades de este tipo pueden también no ser debidas a la formulación del problema, sino a un mal condicionamiento del método numérico utilizado. Un segundo grupo de errores es debido a simplificaciones en el modelo matemático del problema y a la truncación de expresiones (series por ejemplo), cuyo objetivo es evitar que la formulación se complique más allá de lo que razonablemente puede manejarse.
-1 -0.5 0 0.5 1 1.5
0 1 2 3 4 5
n
Y
n creciente
Más importantes desde el punto de vista de los métodos numéricos son los errores de truncación y redondeo. Éstos son función del procedimiento empleado y de las características de operación de la computadora. La mayor parte de las computadoras trabajan internamente con sistemas de numeración binarios, octales o hexadecimales y tienen dos “tipos” de aritmética: de punto fijo (o “enteros”) y de punto flotante (o “reales”). La aritmética de punto fijo es exacta, pero está limitada a números enteros y a un rango pequeño. En consecuencia, la mayor parte de las operaciones se efectúan con la aritmética de punto flotante. En la aritmética de punto flotante la representación interna de un número es de la forma:
a
=
m
⋅
10
q, dondem
es la mantisa yq
el exponente. Sólo se almacenant
cifras (en baseb
) de la mantisa, y por lo tanto cualquier número puede ser representado con un error relativo que no excede 21b
t−1 (habitualmente entre 10-6 y 10-15). Paraq
se usa un número finito de posiciones de memoria y en consecuencia existe un “rango” aceptable (en general muy grande) para los números con punto flotante.Las operaciones aritméticas en punto flotante tienen propiedades algo diferentes de aquellas correspondientes en la aritmética “exacta”. Así por ejemplo, la suma (o resta) no es estrictamente asociativa.
0
10
1234567
.
0
⋅
=
a
4
10
123567
.
0
⋅
=
b
b
c
=
−
El esquema siguiente indica como se efectúa la suma en “punto flotante”:
4
10
1234567
.
0
⋅
→
b
4
10
0000123
.
0
⋅
→
a
(las cuatro cifras finales se recortan)4
10
1234690
.
0
⋅
→
+
b
a
4
10
1234567
.
0
⋅
−
→
c
(
a
+
b
)
+
c
→
0
.
0000123
⋅
10
4=
0
.
1230000
mientras que
(
b
+
c
)
+
a
=
0
.
1234567
⋅
10
0. El orden de las operaciones sí afecta los resultados.Esto es válido también para operaciones de otro tipo. Por ejemplo, las raíces de
0
2
2
+
+
=
c
bx
x
podrían obtenerse de:x
=
−
b
±
b
2−
c
. Sin embargo el proceso alternativo (y teóricamente equivalente):c
b
b
signo
b
x
1=
−
−
(
)
2−
1 2
x
c
x
=
tiene mucho menos acumulación de error, especialmente cuando c es pequeño, porque evita la resta de dos números del mismo orden de magnitud. Considérese, por ejemplo, la ecuación:
x
2−
64
x
+
1
=
0
. Trabajando con 5 cifras significativas:3 2 1
1
32
1023
32
31
.
984
63
.
984
10
−
⋅
±
=
+
≈
+
=
x
3 2 1
2
32
1023
32
31
.
984
0
.
016
10
−
⋅
±
=
−
≈
−
H. Scaletti - Métodos Numéricos: Introducción 1 - 5 El error relativo en
x
2 es muy grande. La resta se ha hecho en forma exacta; la causadel error está más bien en el redondeo previo de la raíz cuadrada. Si en cambio se toma
1
2
1
x
x
=
se obtiene:0000005
.
0
015629
.
0
10
2
1
984
.
63
1
3
2
=
±
⋅
±
=
−
x
con un error relativo del mismo orden que el de x1.
2. ÁLGEBRA LINEAL
2.1 Definiciones
Una matriz ΑΑΑΑ = (aij), de orden n x m, es un conjunto de números dispuestos en n filas y m columnas.
=
nm n
n n
m m m
a
....
a
a
a
...
a
....
a
a
a
a
....
a
a
a
a
....
a
a
a
3 2 1
3 33
32 31
2 23
22 21
1 13
12 11
A
Un elemento, aij, se identifica por dos sub – índices, el primero de los cuales denota la fila y el segundo la columna. Si
m = 1 se tiene una
matriz columna o "vector" de
dimensión n:
=
3 2 1
b
b
b
M
b
Si en cambio n = 1, se tiene una matriz fila:
c
=
[
c
1c
2K
c
m]
. Si n = m se dice que la matriz es cuadrada (de orden n). Por ejemplo:
=
256
81
16
1
64
27
8
1
16
9
4
1
4
3
2
1
A
=
4 3 2 1
0
0
0
0
0
0
0
0
0
0
0
0
d
d
d
d
D
=
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
n
I
A,
D e I
n son matrices cuadradas. La matrizD
=
diag
[
d
1d
2K
d
n]
es una matrizdiagonal, cuyos elementos son todos cero, excepto aquellos ubicados en la diagonal
principal (de la esquina superior izquierda a la inferior derecha). Un caso particular es el de=
diag
[
1
1
K
1
]
=
( )
δ
ijn
I
, que es una matriz unidad (o identidad) de orden n. La matriz identidad tiene en el álgebra matricial un papel similar al uno en álgebra común. Por otro lado, el equivalente del cero es una matriz nula (no necesariamente cuadrada), cuyos elementos son todos ceros.Las matrices cuadradas cuyos elementos tienen simetría conjugada:
a
ij=
a
ji∗ (donde * indica conjugada compleja) se denominan Hermitianas. Por ejemplo:
+
−
−
+
+
+
−
−
−
+
=
4
3
2
1
0
3
2
3
1
2
3
1
1
5
2
0
2
3
2
1
i
i
i
i
i
i
i
i
i
i
H
i
=
−
1
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 2 Una matriz cuadrada en la que la mayor parte de los elementos son ceros y los elementos con valor significativo están agrupados alrededor de la diagonal principal se denomina matriz banda. Por ejemplo:
−
−
−
−
−
−
−
−
=
1
1
1
2
1
1
2
1
1
2
1
1
1
B
Las líneas paralelas a la diagonal principal se llaman
codiagonales. El número total de
diagonal y codiagonales con elementos significativos en elancho de banda (3 en este
ejemplo). Para matrices simétricas puede también hablarse de unancho de semi –
banda; que incluye a la diagonal principal (2 en el ejemplo precedente). Una matriz
banda tiene bajadensidad. Por densidad se entiende la razón entre el número de
elementos con valor significativo y el número total de elementos.Si en una matriz cuadrada todos los elementos por encima (o por debajo) de la diagonal principal son cero se dice que ésta es una matriz triangular inferior (superior):
=
nm n
n
n
l
l
L
l
l
K
L
l
l
l
L
l
l
L
l
3 2 1
33 32 31
22 21 11
0
0
0
0
0
0
L
=
nm n n n
u
u
u
u
u
u
u
u
u
u
L
K
L
L
L
0
0
0
0
0
0
3 33
2 23
22
1 13
12 11
U
En lo que sigue se usan letras negritas para denotar matrices. Para las matrices columna y para las matrices filas se usan minúsculas, mientras que para las matrices rectangulares (incluyendo las matrices cuadradas) se usan mayúsculas. En todos los casos, los elementos de una matriz se indican en minúsculas.
2.2 Operaciones Básicas con Matrices
Subdivisión o partición. El conjunto de elementos de una matriz
A puede ser dividido
en otros más pequeños mediante líneas horizontales y/o verticales. Las distintas partes,A
11,A
12, etc. sonsubmatrices de la matriz
A. Las submatrices pueden tratarse como
elementos comunes de una matriz, excepto que deben operarse según las reglas del álgebra matricial.Igualdad. Dos matrices,
A, B, del mismo orden, son iguales si cada elemento de una es
igual al correspondiente elemento de la otra. A = B implicaa
ij=
b
ij para todo i, j.Suma (resta). La suma (o diferencia) de dos matrices
A,
B del mismo orden es una
tercera matriz del mismo orden, cuyos elementos se obtienen sumando (restando) algebraicamente los correspondientes elementos de las dos matrices originales:C
B
A
±
=
a
ij±
b
ij=
c
ijDerivada e integral. Análogamente, puede definirse la derivada de una matriz:
a
ij=
b
ij∂
∂
⇒
=
∂
∂
α
α
B
A
y la integral de una matriz en forma similar.
Multiplicación por un escalar. El producto de una matriz por un escalar es otra matriz
del mismo orden cuyos elementos son los de la matriz original multiplicados por el escalar:
ij ij
b
a
=
⇒
=
α
α
A
B
Multiplicación de dos matrices. Dos matrices,
A (m x
p) y
B (p x
n) pueden ser
multiplicadas en el orden A B sólo si son conformables para el producto, es decir, si el número de columnas de A es igual al número de filas deB. El producto
C (m x
n) es
una matriz cuyos elementos se obtienen de:n
j
m
i
b
a
c
p
k
kj ik
ij
1
,
1
,
1
=
=
⋅
=
∑
=
Por ejemplo, si:
=
4
3
10
2
6
4
1
3
5
A
=
2
3
4
2
5
1
B
C
=
A
⋅
B
70
2
4
4
3
5
10
22
3
2
2
6
1
4
14
3
1
2
3
1
5
32 21 11
=
⋅
+
⋅
+
⋅
=
=
⋅
+
⋅
+
⋅
=
=
⋅
+
⋅
+
⋅
=
c
c
c
K
=
⇒
70
28
48
22
39
14
C
La multiplicación de matrices es asociativa y distributiva, pero en general no es conmutativa:
C
B
A
C
B
A
(
⋅
)
=
(
⋅
)
A
(
B
+
C
)
=
AB
+
AC
AB
≠
BA
Siendo el orden de multiplicación importante, es frecuente enfatizarlo, diciendo por ejemplo que en el producto AB la matriz A premultiplica a B, o bien que B postmultiplica a A. En algunos casos
AB
=
BA
; se dice entonces que A y B son conmutables.Es fácil verificar que el producto de dos matrices triangulares inferiores (superiores) es otra matriz triangular inferior (superior).
Transposición. La transpuesta
A
Tde una matriz
A es aquella cuyas filas son las
columnas de A (y viceversa). SiA
T=
B
=
(
b
ij)
, entoncesb
ij=
a
ji:
=
6
3
5
2
4
1
A
=
6
5
4
3
2
1
TA
La transpuesta de una matriz simétrica es obviamente la matriz original. Productos del tipo
A
TA
resultan siempre en matrices simétricas. Lo mismo puede decirse de productosA
TSA
si S es simétrica.H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 4
(
)
T T T TA
B
C
C
AB
K
=
K
Determinante de una matriz cuadrada. Es un número que resulta de:
∑
±
=
=
!
3 2 1
det
n
nr k j
i
a
a
a
a
K
A
A
Donde cada término de la suma incluye un solo elemento de cada fila y de cada columna. Si en estos productos se considera a los elementos ordenados por filas 1, 2, ..
n, los índices de las columnas en cada término de la suma pueden ser obtenidos como
permutación del orden normal. Según el número de cambios requeridos para esta permutación sea par o impar se asigna al producto correspondiente el signo + o-
. La suma incluye las n! permutaciones posibles.Las siguientes propiedades facilitan el cómputo de la determinante de una matriz cuadrada A cualquiera:
• Si se intercambian dos filas (columnas) la determinante cambia de signo.
• La determinante de una matriz,
A
, es igual a la determinante de su transpuesta.• El valor de la determinante de una matriz
A no se altera si una columna (fila)
multiplicada por un escalar se suma algebraicamente a otra columna (fila):bc
ad
a
bc
d
b
a
d
c
b
a
−
=
−
=
0
det
det
• En consecuencia, la determinante de una matriz con dos filas (o columnas) iguales (o proporcionales) es cero. Más aún,si dos o más columnas (filas) de una matriz A son linealmente dependientes, es decir α1
a
1+ α2a
2+ α3a
3+...+ αn-1a
n-1+ αna
n = 0 para un conjunto de coeficientes αi de los que por lo menos uno es distinto de cero, la determinante es cero. Se dice entonces que la matriz A es singular. Considérese por ejemplo el caso:
=
1
1
0
1
2
1
0
1
1
A
A es singular puesto que:
( )
( )
( )
=
+
−
+
0
0
0
1
1
0
1
1
2
1
1
0
1
1
1
• La determinante de una matriz triangular es igual al producto de los elementos de su diagonal principal.
• Para un producto matricial se cumple que:
(
)
det(
)
det(
)
det(
)
det
A
⋅
B
K
C
=
A
⋅
B
K
C
Así, por ejemplo, si:
=
=
24
0
0
0
24
6
0
0
12
6
2
0
4
3
2
1
1
6
7
1
0
1
3
1
0
0
1
1
0
0
0
1
256
81
16
1
64
27
8
1
16
9
4
1
4
3
2
1
A
Inversa de una matriz. Si una matriz
A es no singular, es posible obtener su “inversa”,
A
-1, que satisface:n
I
AA
A
A
−1=
−1=
( )
A
−1 −1=
A
Obviamente
I
n−1=
I
n. La inversa de una matriz diagonal es otra matriz diagonal, cuyos elementos son inversas de los elementos de la matriz original. La inversa de una matriz triangular (inferior o superior) es otra matriz triangular del mismo tipo.La inversión de matrices permite efectuar la operación equivalente a la división del álgebra común.
C
A
B
C
AB
=
⇒
=
−1 (véanse los comentarios del ítem 2.5.5) Para la inversa de un producto matricial se cumple:(
)
−1=
−1 −1 −1A
B
C
C
AB
K
K
Una matriz Q se denomina ortogonal si:
Q
Q
T=
I
n. Particularmente, si Q es una matriz cuadrada se tiene entonces queQ
−1=
Q
T. Por ejemplo:
−
=
θ
θ
θ
θ
cos
sen
sen
cos
R
es ortogonal, puesto que:
T
R
R
=
−
=
−
θ
θ
θ
θ
cos
sen
sen
cos
1
.
Refiriéndose a una matriz con coeficientes complejos, U, se dice que ésta es unitaria si
I
U
U
*=
2.3 Espacios y Subespacios Vectoriales
Una matriz columna de orden n es un conjunto números que pueden ser interpretados como componentes de un vector en un espacio de dimensión n.
Se dice que un conjunto de vectores
v
1v
2v
3 ....v
5 son linealmente dependientes si existen números α1 α2 α3 .... α5, no todos cero, tales que:0
5 5 3
3 2 2 1
1
v
+
α
v
+
α
v
+
+
α
v
=
α
K
Alternativamente, puede decirse que los vectores son linealmente dependientes si uno cualquiera de ellos puede expresarse como combinación lineal de los otros:
∑
≠
=
r ii i
r
c
v
v
(y linealmente independientes si esto no es posible).p vectores linealmente independientes de orden
n (
n
≥
p
) conforman una base de un espacio vectorial de dimensión p. Por otro lado, q vectores, de los que p (p
≤
q
) son linealmente independientes, están contenidos en un espacio de dimensión p.H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 6 Las columnas (o filas) de una matriz rectangular
A pueden tratarse como vectores. El
número de vectores linealmente independientes define el “rango” de la matriz. Una matriz cuadrada es no singular si su rango es igual al orden de la matriz, es decir si todas las columnas son linealmente independientes. Lo contrario implica que una o más columnas (filas) pueden obtenerse como combinación lineal de las otras y la determinante es cero.2.4 Sistemas de Ecuaciones Lineales
Se ha estimado que un 75% de los problemas de ingeniería se presenta, en alguna etapa del trabajo, la solución de un sistema de ecuaciones lineales:
n n nn n n n n n n n n n
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
=
+
+
+
+
⋅⋅
⋅
=
+
+
+
+
=
+
+
+
+
=
+
+
+
+
K
K
K
K
3 3 2 2 1 1 3 3 3 33 2 32 1 31 2 2 3 23 2 22 1 21 1 1 3 13 2 12 1 11 (2.1a)o bien:
Ax
=
b
=
n n nn n n n n n nb
b
b
b
x
x
x
x
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
M
M
K
L
K
K
K
3 2 1 3 2 1 3 2 1 3 33 32 31 2 23 22 21 1 13 12 11 (2.1b)En las secciones siguientes se supone que el sistema de ecuaciones tiene solución única, es decir, que
det(
A
)
≠
0
.La solución de sistemas de ecuaciones es un buen ejemplo de las diferencias entre las matemáticas “clásicas” y los métodos numéricos modernos. Así, la Regla de Cramer:
=
nn nj n n n j n j n j nn n n n n n n ja
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
b
a
a
a
b
a
a
a
b
a
a
a
b
a
a
x
K
K
L
K
K
K
K
K
K
K
K
L
K
K
K
K
K
K
2 1 3 3 32 31 2 2 22 21 1 1 12 11 2 1 3 3 32 31 2 2 22 21 1 1 12 11det
det
(2.2)si bien proporciona fórmulas explícitas es tremendamente ineficiente cuando se trata de resolver sistemas con más de 3 incógnitas (excepto para casos muy especiales de la matriz de coeficientes).
el planteamiento de grandes sistemas de ecuaciones lineales. El costo de análisis y en muchos casos la factibilidad de un modelo suficientemente preciso dependen en gran medida de la forma de almacenamiento de las ecuaciones y de la eficiencia del algoritmo utilizado en su solución.
2.5 Métodos Directos para la Solución
de Sistemas de Ecuaciones Lineales
Este acápite considera métodos que, de no haber errores de redondeo, producen la solución exacta en un número finito de pasos. Para sistemas Ax = b, en los que A es de alta densidad, los métodos directos son en general los más eficientes (para las computadoras actualmente utilizadas). Sin embargo, cuando un gran número de elementos de A son cero, y en especial cuando A es definida positiva (
x
TAx
>
0
para cualquierx
≠
0
), puede ser más conveniente utilizar un método iterativo en que se obtiene una secuencia de soluciones aproximadas que convergen a la solución exacta.2.5.1. Sistemas Triangulares
La solución de sistemas de ecuaciones lineales es particularmente simple cuando la matriz de coeficientes es triangular. Por ejemplo, considérese un sistema Ux = b en el que U es triangular superior:
n n nn
n n nn n n n
n n
n n
n n
b
x
u
b
x
u
x
u
b
x
u
x
u
b
x
u
x
u
x
u
b
x
u
x
u
x
u
x
u
=
=
+
=
+
+
=
+
+
+
=
+
+
+
+
− − −1, 1 1
3 3
3 33
2 2
3 23 2 22
1 1
3 13 2 12 1 11
K
K
K
K
K
(2.3)
Si U es no singular (
u
ii≠
0
para todo i), las incógnitas pueden evaluarse en el orden: n,n-1, n-2, n-3, ... 2, 1:
nn n n
u
b
x
=
(2.4a)
−
=
∑
+ =
n
i k
k ik i
ii
i
b
u
x
u
x
1
1
(2.4b)
Este proceso se denomina “sustitución inversa”. Análogamente, para un sistema Lx
=
b,
en el queL es una matriz triangular inferior no singular (
l
ii≠
0
para todoi), puede
utilizarse una sustitución directa o “reducción”:11 1 1
l
b
x
=
(2.5a)
−
=
∑
−=
1
1
1
ik k ik i
ii
i
b
l
x
l
x
(2.5b)H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 8
2.5.2 Método de Gauss
Éste es el más importante de los métodos directos para la solución de sistemas de ecuaciones lineales. La idea básica está en combinar las distintas ecuaciones para ir eliminando incógnitas en forma sistemática y obtener finalmente un sistema triangular, fácil de resolver. Considérese el sistema de orden n:
) 1 ( ) 1 ( 3 ) 1 ( 3 2 ) 1 ( 2 1 ) 1 ( 1 ) 1 ( 3 ) 1 ( 3 3 ) 1 ( 33 2 ) 1 ( 32 1 ) 1 ( 31 ) 1 ( 2 ) 1 ( 2 3 ) 1 ( 23 2 ) 1 ( 22 1 ) 1 ( 21 ) 1 ( 1 ) 1 ( 1 3 ) 1 ( 13 2 ) 1 ( 12 1 ) 1 ( 11 n n nn n n n n n n n n n
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
=
+
+
+
+
=
+
+
+
+
=
+
+
+
+
=
+
+
+
+
K
K
K
K
K
K
(2.6)o en forma compacta:
Ax
=
b. En lo que sigue se supone que
A es no singular.
Supóngase también quea
11≠
0
. Puede entonces eliminarsex
1 de la ecuación i si de ésta se resta la ecuación 1 multiplicada por:) 1 ( 11 ) 1 ( 1 1
a
a
l
i=
i (2.7a)Con ello se obtiene:
) 2 ( ) 2 ( 3 ) 2 ( 3 2 ) 2 ( 2 ) 2 ( 3 ) 2 ( 3 3 ) 2 ( 33 2 ) 2 ( 32 ) 2 ( 2 ) 2 ( 2 3 ) 2 ( 23 2 ) 2 ( 22 ) 1 ( 1 ) 1 ( 1 3 ) 1 ( 13 2 ) 1 ( 12 1 ) 1 ( 11 n n nn n n n n n n n n
b
x
a
x
a
x
a
b
x
a
x
a
x
a
b
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
=
+
+
+
=
+
+
+
=
+
+
+
=
+
+
+
+
K
K
K
K
K
K
(2.7b) donde ) 1 ( 1 1 ) 1 ( ) 2 ( ) 1 ( 1 1 ) 1 ( ) 2 (b
l
b
b
a
l
a
a
i i i j i ij ij−
=
−
=
(2.7c)En forma similar, puede eliminarse
x
2 de las ecuacionesi = 3,4,..n restando de la
ecuación i la ecuación 2 multiplicada por:) 2 ( 22 ) 2 ( 2 2
a
a
l
i=
iy así sucesivamente hasta obtener el sistema triangular:
) ( ) ( ) 3 ( 3 ) 3 ( 3 3 ) 3 ( 33 ) 2 ( 2 ) 2 ( 2 3 ) 2 ( 23 2 ) 2 ( 22 ) 1 ( 1 ) 1 ( 1 3 ) 1 ( 13 2 ) 1 ( 12 1 ) 1 ( 11 n n n n nn n n n n n n
b
x
a
b
x
a
x
a
b
x
a
x
a
x
a
b
x
a
x
a
x
a
x
a
=
=
+
+
=
+
+
+
=
+
+
+
+
K
K
K
K
K
(2.8)o en notación matricial: Ux = b.
dominante (es decir, si
∑
≠>
i j ij iia
a
) o siA es simétrica (A
T = A) y definida positiva(vT
Av > 0 para v arbitrario).
El siguiente ejemplo ilustra el proceso:
=
190
44
10
2
256
81
16
1
64
27
8
1
16
9
4
1
4
3
2
1
)
1
(
)
1
(
)
1
(
4 3 2 1x
x
x
x
Los números indicados a la izquierda (entre paréntesis) son los factores li1 por los que es necesario multiplicar la ecuación 1 antes de restarla de la ecuación
i, para lograr el
objetivo de eliminar x1 de la segunda y las siguientes ecuaciones.
=
188
42
8
2
252
78
14
0
60
24
6
0
12
6
2
0
4
3
2
1
)
7
(
)
3
(
4 3 2 1x
x
x
x
Análogamente:
=
132
18
8
2
168
36
0
0
24
6
0
0
12
6
2
0
4
3
2
1
)
6
(
4 3 2 1x
x
x
x
=
24
18
8
2
24
0
0
0
24
6
0
0
12
6
2
0
4
3
2
1
4 3 2 1x
x
x
x
finalmente:2
4
3
2
8
12
6
2
18
24
6
24
24
4 3 2 1 4 3 2 4 3 4=
+
+
+
=
+
+
=
+
=
x
x
x
x
x
x
x
x
x
x
1
1
1
1
1 2 3 4−
=
=
−
=
=
x
x
x
x
Para estimar el esfuerzo de cómputo es habitual referirse al número de "operaciones" requeridas. La costumbre es contar como una operación a la combinación de una suma (o resta, o simplemente una copia) con una multiplicación (o división). Esta práctica proviene de las épocas en que el tiempo requerido para efectuar una multiplicación o una división era un orden de magnitud mayor que el necesario para una suma o una resta, pudiendo despreciarse estas últimas. La reducción de la matriz de coeficientes requiere de un número de operaciones de orden 13
n
3. La reducción del segundo miembro y lasustitución inversa requieren aproximadamente
n
2 operaciones. Si se tuvieran varios sistemas de ecuaciones con la misma matriz de coeficientes: Ax = b1, Ay = b2, ... sólo se requeriría efectuar la reducción de A una vez, por lo que el número de operaciones sería siempre aproximadamente 13n
3. Más precisamente, se hacenn
n
n
3 2 2 3 3
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 10 operaciones para resolver un sistema de n ecuaciones lineales, pero si n es grande sólo el primer término es importante.
El proceso antes descrito falla cuando se presenta un pivote,
a
ii(i), igual a cero. Un ejemplo simple de tal situación es el siguiente:
=
1
2
1
2
2
1
2
1
1
1
1
1
3 2 1
x
x
x
La matriz de coeficientes no es singular y el sistema tiene una solución única
(
)
T1
1
1
−
=
x
. Sin embargo, después del primer paso (efectuado en el orden indicado anteriormente), se obtiene:
=
0
1
1
1
1
0
1
0
0
1
1
1
3 2 1
x
x
x
y siendo
a
22(2)=
0
, no es posible proseguir como habitualmente. La solución es en este caso obvia: intercambiar las ecuaciones (filas) 2 y 3. En general, sia
ii(i)=
0
, algún otro elemento de la misma columna,a
(iji), debe ser distinto de cero (lo contrario implicaría una dependencia lineal de por lo menos dos de las ecuaciones, es decir la singularidad de A). Intercambiando las filas j e i puede entonces continuarse la reducción. Dados los elementosa
(iji) de la columna i, es conveniente escoger como pivote aquel de máximo valor absoluto, puesto que el uso de pivotes pequeños introduce fuertes errores en la solución. El ejemplo siguiente es ilustrativo:
=
×
−9
7
1
1
1
10
3
2 1 11
x
x
Trabajando con 10 cifras significativas se obtiene:
(
)
×
−
=
×
−
×
−10 2
1 10 11
10
333
333
333
.
3
7
7
10
333
333
333
.
3
0
1
10
000
000
000
.
3
x
x
de donde:
x
2=
7
0
1
=
x
La solución correcta es, sin embargo,
x
1=
2
. Es fácil comprobar que no se presenta este problema si se evita el pivote pequeño intercambiando previamente las ecuaciones:
=
×
−7
9
1
10
3
1
1
2 1
11
x
x
El intercambio parcial es generalmente satisfactorio, desde el punto de vista de la estabilidad numérica, y requiere bastante menos trabajo que el proceso con intercambio total.
2.5.3 Descomposición
A
=LU
Supóngase que
A es tal que el proceso de reducción del método de Gauss puede
efectuarse sin necesidad de intercambiar filas o columnas. En tal caso, la descomposición A = LU donde L es una matriz triangular inferior conl
ii=
1
y U es una matriz triangular superior, es única. Esto puede probarse fácilmente por inducción. Para el caso del primer ejemplo:
=
24
0
0
0
24
6
0
0
12
6
2
0
4
3
2
1
1
6
7
1
0
1
3
1
0
0
1
1
0
0
0
1
256
81
16
1
64
27
8
1
16
9
4
1
4
3
2
1
Los elementos de L son justamente los coeficientes
l
ij usados durante la reducción; U es en cambio ¡la matriz A reducida!Se ha mencionado anteriormente que varios sistemas de ecuaciones con la misma matriz de coeficientes pueden ser resueltos simultáneamente. Sin embargo, no siempre se conocen desde un principio todos los vectores de coeficientes del segundo miembro. Por ejemplo, puede querer resolverse Ax1 = b y Ax2 = x1. Aún en este caso, al resolver el segundo sistema no es necesario volver a reducir la matriz
A como al inicio. El
sistema Ax = b es equivalente a LUx = b, o bien a los dos sistemas triangulares: Ly = b ,Ux = y. Siendo
L y
U conocidos, estos dos sistemas pueden resolverse en O(n
2) operaciones. L y U pueden almacenarse en las mismas posiciones de memoria que en la matrizA: Como
l
ki=
a
ki(i)a
ii(i) se determina con el objeto de hacera
ki(i+1)=
0
,ki
l
puede almacenarse en las posición dea
ki. Por otro lado, no es necesario almacenar los elementos de la diagonal de L (que son todos iguales a 1). Dado que los elementos de U son aquellos de la matriz reducida, el efecto de la reducción o descomposición en la distribución de memoria es de la forma:
⇒
nn n n n n n n nn n n n n n nu
l
l
l
u
u
l
l
u
u
u
l
u
u
u
u
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
K
L
K
K
K
K
L
K
K
K
3 2 1 3 33 32 31 2 23 22 21 1 13 12 11 3 2 1 3 33 32 31 2 23 22 21 1 13 12 11Para el ejemplo precedente: