Anda di halaman 1dari 45

1

Universidad Tecnológica Nacional

Facultad Regional “Delta” (Campana)

Ingeniería en Sistemas de Información

Métodos Numéricos

Bibliografía sobre los temas desarrollados en el curso en Biblioteca de la Facultad

Akai TJ Métodos numéricos aplicados a la ingeniería. México, Limusa, 1999


Burden R Análisis Numérico (7ª ed.). México, Thomson Learning, 2002
González H Análisis Numérico. Buenos Aires, Nueva Librería, 2002
Scheid F Métodos Numéricos (2ª ed.). México, Mc Grow Hill, 1993.
Devore JL Probabilidad y Estadística para Ingeniería y Ciencias (5ª ed.). México,
Thomson-Learning, 2001.
Hoffman K Kunze R Álgebra Lineal. México, Prentice Hall, 1971.
Volkov EA Métodos Numéricos, Moscú, MIR, 1987
Chapra SC Canale RP Métodos Numéricos para Ingenieros (5ª ed.) México, Mc Graw
Hill, 2007

Unidad 1: Introducción. Modelado. Errores.


Modelo y realidad. Modelos teóricos. Modelos matemáticos. Modelos numéricos.
Formulación computacional. Caja negra. Representación numérica computacional.

Bibliografía disponible en la Biblioteca


Akai Cap. 1 – Burden Cap. 1 – González Cap. 1 – Scheid Cap. 1 – Chapra Parte 1

Métodos numéricos

El problema de los métodos numéricos es antiguo. Hasta el período renacentista el


uso de cálculos para la descripción de sistemas era muy limitado, casi siempre se hacía
uso de recursos geométricos. Pero desde el siglo XVII fue cada vez más frecuente el
desarrollo de cálculos y su aplicación a la ciencia y la técnica. Con las leyes de Newton
y el avance de la mecánica, exitosa en casi todos los campos en que se pretendió aplicar,
y el nacimiento del cálculo infinitesimal, se enfrentó un conjunto de problemas
analíticamente irresolubles. La misma segunda ley de Newton es una ecuación
diferencial sin solución analítica en la mayoría de los casos.
Se desarrollaron métodos analíticos para la resolución de problemas algebraicos y
sobre análisis de funciones. Sin embargo estos métodos resultan muy limitados en la
práctica. Ecuaciones no lineales, sistemas de varias ecuaciones lineales, curvas que
pasan por varios puntos, ecuaciones diferenciales, integrales, y un amplio conjunto de
situaciones no poseen solución analítica o bien resulta muy tediosa. De allí que,
acompañando a los métodos analíticos, se desarrollaron desde el siglo XVII y
fundamentalmente desde el XVIII, un vasto conjunto de métodos numéricos de solución
de problemas, a veces de manera aproximada, y otras optimizando técnicas de cálculo.
Sin embargo estas técnicas siguen resultando tediosas y sólo con el desarrollo
computacional de mediados del siglo XX pudieron ser aplicadas de manera sistemática
a la resolución de un campo muy grande de problemas. Esto dio impulso al desarrollo
2

de nuevos métodos, el perfeccionamiento de otros y apareció también la necesidad de


optimizar las técnicas computacionales.
En los primeros tiempos de la programación, las computadoras eran limitadas en la
capacidad de memoria y en la velocidad de procesamiento. De allí que aparecieran
problemas relativos a las técnicas de programación que debían resolverse observando
las limitaciones que impone el procesador y cómo optimizar el recurso. Además la
dificultad de programar presentaba un problema adicional que obligaba a pensar con
prudencia y cuidado los algoritmos de cálculo.
Actualmente las limitaciones no son importantes en las aplicaciones básicas y
además la mayoría de los cálculos de uso más frecuente están desarrollados en software
de acceso bastante flexible e inclusive de acceso libre. De allí que el problema al que se
abocó el cálculo numérico haya cambiado mucho en el curso de los últimas décadas
años. El objetivo actual se centra más en la selección de métodos e interpretación de los
cálculos realizados por programas diseñados al efecto.

Modelos matemáticos

Desde el punto de vista del mecanismo heurístico por medio del cual se arriba a la
elaboración de un modelo matemático, podemos considerar el camino empírico, es decir
que, a partir de un conjunto de datos, se elabora un modelo matemático que mejor ajuste
a los datos disponibles de acuerdo con algún criterio seleccionado. Es habitual que en
las primeras etapas del desarrollo de una teoría formal intervenga la elaboración de
modelos empíricos. Por ejemplo, la ley de caída de los cuerpos puede obtenerse por
ajuste de una parábola a los datos de posición y tiempo, aunque también puede ser
deducida de la ley de gravitación universal.
En términos generales, un modelo matemático puede idealizarse como una función
multivariada que sería expresable como

⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑦⃗ = 𝑓 (𝑥⃗;𝑝⃗;𝑒⃗)

Con tal notación referimos a una forma funcional vectorial con varias salidas o
“variables dependientes” (𝑦⃗) que se obtienen a partir de varias “variables
independientes” (𝑥⃗) no controlables por el diseñador o experimentador, varios
“parámetros” (𝑝⃗) al menos en principio controlables, y un conjunto de agentes externos
(e)

Modelos numéricos

Es habitual que se hable de modelos numéricos con un carácter más restringido en


relación con la resolución numérica de ecuaciones diferenciales. En este caso se
requiere la discretización del campo continuo dentro del cual se desarrolla el proceso en
cuestión y el cálculo del estado del sistema en puntos discretos de grilla o en una
discretización en elementos finitos. Si se buscan condiciones de equilibrio de un
sistema, se trabaja con modelos de equilibrio, donde se imponen condiciones iniciales,
de contorno, parámetros y forzantes, y libera el sistema hasta alcanzar el estado de
equilibrio. En algunos casos, el equilibrio se traduce en un estado estacionario, por
ejemplo, el movimiento del fluido en una cañería. En otros casos, en general más
complejos, los modelos responden a condiciones variables de los parámetros, y se los
reconoce como modelos dinámicos, que representan la evolución temporal de un
3

sistema. Cuando se trabaja con sistemas diferentes en interacción, suele representarse a


cada sistema por un modelo propio y, entre los distintos modelos, en ejecución
simultánea, se establece una transferencia de propiedades: suele hablarse de modelos
acoplados. En otras oportunidades, un subsistema presenta algún interés particular o
requiere una modelación independiente y más refinada: en tales casos se habla de
modelos anidados. Cuando se trabaja con elementos finitos, no es necesario el uso de
modelos anidados sino que se ajusta la discretización de acuerdo con los requerimientos
de la simulación del sistema.

Formulación computacional

Es frecuente que se procure desarrollar programas que contengan el conjunto de


ecuaciones matemáticas que conforman el modelo de un sistema. A esto llamaremos
formulación computacional del modelo.
A diferencia del modelo matemático, y aun del modelo numérico no computacional,
se deben considerar las limitaciones de memoria, representatividad numérica y
velocidad de procesamiento de la máquina, así como los mecanismos de interacción
entre el usuario y la máquina para el ingreso de datos y la salida de resultados. Debido a
que no es éste nuestro objetivo, sólo se realizarán un planteo introductorio con respecto
a las limitaciones que impone el sistema computacional y se presentarán algunos
programas en “pseudo-lenguaje” y en “diagramas de flujo”, que en algunos casos se
propondrá traducir a algún lenguaje específico de computación como ejercitación.

Caja Negra

Al sistema de computación, desde el punto de vista del procesamiento de la


información y tanto al “hardware” como al “software”, se los considerará como “cajas
negras”, cuyo contenido no será descripto, excepto los rasgos generales de las
ecuaciones y mecanismos involucrados. Se prestará atención especial al ingreso de
datos y las condiciones requeridas para la validez de tales datos, así como a la salida de
resultados y su interpretación desde la perspectiva del sistema que se quiere modelar.
La entrada estará representada por un conjunto de datos, el proceso por un modelo o
algoritmo y la salida por los resultados.

Representación numérica computacional

Debe notarse que el sistema numérico con el cual es capaz de operar un computador
no es el conjunto de los números reales, infinito no numerable, ni de los enteros, infinito
numerable. Llamaremos al sistema numérico representable en un computador el
conjunto C, a diferencia de los conjuntos N, Z, Q, I, R, o C conocidos.
Sólo recordaremos que la representación numérica básica en un sistema
computacional es binaria. La unidad de memoria es el byte, compuesto por ocho bits y
con una capacidad de representación de 256 caracteres. Los números enteros,
representados con dos bytes, permiten operar sobre un rango entre –32768 a 32767
(216=2562=65536 números). Con enteros definidos por medio de cuatro bytes se alcanza
un rango de (232=655362 = 4294967296 números).
Resulta entonces que hay números enteros no representables en C, cualquiera fuere el
tamaño de memoria que se asigne a cada valor numérico. El superar este rango puede
4

dar un error de “overflow” o bien sólo ofrecer resultados erróneos sin informar al
usuario que se ha excedido la capacidad numérica del sistema.
Para representar números reales se utiliza en general el formato de punto flotante, de
acuerdo con el cual se separa el número en una mantisa y un exponente. Por ejemplo, el
número 102 se lo representa como 0.102*103, o el número 10.2 como 0.102*102. Para
abreviar la notación y disminuir el requerimiento de memoria, se puede establecer una
norma para la representación numérica. Para seguir con el ejemplo propuesto, puede
convenirse en que el número tendrá tres dígitos representativos, que se expresarán
primero seguidos de un dígito decimal que representará la potencia de diez
correspondiente. En tal caso la secuencia 1023 y 1022 se interpretará como el número
102 en el primer caso y como el 10.2 en el segundo. Si se quiere representar números
negativos, habrá que asignar un indicador binario para el signo, y si se quiere
representar potencias negativas, deberá asignarse otro indicador binario para el
exponente. En el formato computacional se utiliza la representación binaria de números.
Así se destina cuatro bytes para un número representado en punto flotante. El primer
dígito binario se reserva para el signo del número. El resto de los primeros tres bytes se
reserva para la mantisa o parte decimal del número a representar. Se omite el cero que
precede a la mantisa. El exponente tiene reservado un byte, el primer dígito binario está
reservado para el signo del exponente y los siete bits restantes a un entero en el rango
entre -128 a +128. En la práctica esto limita la representatividad de números con siete
dígitos decimales y un rango también limitado en los exponentes de la base decimal.
Esto permite ampliar notablemente el rango numérico representable, pero no
indefinidamente. Un problema de este tipo de representación es que no admite el cero,
por lo cual debe ser introducido en forma artificial dentro del esquema de
representación numérica.
Puede verse que no pueden representarse números infinitamente grandes ni
infinitésimos. Tampoco un número infinito de decimales. Por lo cual sólo son
representables en C un subconjunto de los racionales. Cuando un cálculo no da por
resultado un racional exacto representable, se lo redondea automáticamente al racional
representable más próximo, o al mayor si hubiese dos. Puede extenderse el rango al
formato de punto flotante de doble dimensión con ocho bytes por cada número,
duplicando el recurso necesario de memoria y retardando el procesamiento, pero aun así
no se representa todos los reales.
Esto introduce un error en el cálculo dado por el redondeo del sistema y, por lo tanto,
una limitación en la precisión de los resultados obtenidos. Estos errores se presentan en
tres momentos del proceso de cálculo. Pueden introducirse directamente en los datos
(por ejemplo el número  no puede ingresarse con infinitos decimales); los errores
pueden encontrarse en el modelo, relacionados con la representación computacional de
un esquema analítico, (por ejemplo la representación computacional de una ecuación
diferencial o la representación de la función seno por medio de un desarrollo en serie de
Taylor truncado); y finalmente errores en las operaciones de cálculo, (por ejemplo,
propagación de errores de redondeo); además hay errores en la salida, asociados con la
precisión numérica asignada al resultado.
En los sistemas computacionales hay dos problemas típicos denominados estabilidad
y condicionamiento, los cuales se relacionan con el problema de la propagación de
errores. Se dice que un algoritmo es inestable si los errores intermedios influencian
mucho al resultado y es estable en caso contrario. La condición del problema depende
de la continuidad de la formulación computacional del modelo. Si cambios chicos en los
datos conducen a cambios chicos en el resultado, se dice que el problema está bien
condicionado, en caso contrario está mal condicionado.
5

Redondeo

Si se pretende introducir, o resulta de un cálculo intermedio, un número no


representable, puede ocurrir una de las siguientes situaciones. Si el módulo del número
excede el rango máximo representable, el sistema mostrará un error de “overflow”. Si el
número es demasiado pequeño y tampoco es representable, presentará un informe de
“underflow” o bien será representado por el “cero”. Notemos que el “cero” no es
representable en formato de punto flotante dado que la mantisa es necesariamente no
nula en tal esquema de representación. Por lo tanto el “cero” debe introducirse de modo
externo al formato en punto flotante. Los únicos números estrictamente representables
son las potencias enteras de la base en el rango permitido por el exponente. En cualquier
otro caso se aproximará el número que se pretende procesar por el más próximo
representable. Si hay dos números igualmente próximos, se opta por el de mayor
módulo. De modo más formal, dado un número 𝑥, se representará el “redondeado de x”,
que notaremos 𝑟𝑒𝑑(𝑥).
Sea 𝑀 el máximo número de dígitos (binarios) representables y 𝑛 la potencia de la
base (dos) que define la parte entera del número a representar, que asumiremos positivo.
El análisis sobre un número negativo sólo requiere intercambiar lo que llamaremos
“superior” por “inferior” y viceversa. El primer decimal de la mantisa se asume no nulo.
El número podrá requerir más de 𝑀 dígitos (binarios) para su representación exacta, que
podrían ser infinitos. Al truncar en 𝑀 dígitos el número a representar, se obtiene un
valor inferior al número exacto 𝑥𝑖 . Si sumamos al valor inferior un número equivalente
a 0.00…001, ubicando el “1” en el orden 𝑛 en la base establecida, se obtiene el
inmediato superior representable 𝑥𝑠 . El error máximo absoluto estará dado por la semi-
diferencia entre ambos valores.

(𝑥𝑠 − 𝑥𝑖 ) 1 −𝑀+𝑛
|𝑟𝑒𝑑(𝑥) − 𝑥| ≤ = 𝑏
2 2

donde 𝑏 es la base de representación. De los 𝑀 dígitos en la mantisa, a la derecha del


punto decimal, el último dígito representable está en la posición 𝑛 y el error está dado
por la mitad de esta cifra decimal. Para obtener una cota del error relativo, calculamos
una cota inferior del número a representar, dada por 0.100000𝑏 𝑛 = 𝑏 𝑛−1 dado que este
número será menor o igual que el mínimo valor representable con esa potencia de la
base. En tal caso

1 −𝑀+𝑛
|𝑟𝑒𝑑(𝑥) − 𝑥| 2 𝑏 1
≤ = 𝑏 −𝑀+1
|𝑥| 𝑏
𝑛−1 2

En base “dos” el máximo error relativo en punto flotante simple, con 𝑀 = 21, estará
dado por 2-21.
6

Unidad 2. Ecuaciones no lineales

Ecuaciones no lineales. Bisección.

Bibliografía disponible en Biblioteca


Akai Cap. 3 – Burden Cap. 2 – González Cap. 3 – Scheid Cap. 25

Existen varios métodos numéricos para la resolución de ecuaciones y sistemas no


lineales. Todos estos métodos son iterativos, es decir, se resuelven por aproximaciones
sucesivas. A modo de ejemplo analizaremos el método más simple de resolución de una
ecuación no lineal, que presenta aspectos generales de este tipo de problemas.
El método de la bisección, aplicable a funciones continuas 𝑓(𝑥) en el intervalo donde
se encontraría la solución, consiste en suponer que en un intervalo [𝑎𝑜, 𝑏𝑜] se encuentra
una solución  con 𝑓() = 0.

ao  xo bo

Bajo las condiciones supuestas, es el producto 𝑓(𝑎) . 𝑓(𝑏) < 0. Si esto se verifica, se
calcula el promedio 𝑥𝑜 = (𝑎𝑜 + 𝑏𝑜)/2, si 𝑓(𝑥𝑜) . 𝑓(𝑎) > 0, la solución está en el intervalo
[𝑥𝑜, 𝑏𝑜], si 𝑓(𝑥𝑜) . 𝑓(𝑎𝑜) < 0, debe estar en la otra mitad del intervalo, es decir en [𝑎𝑜, 𝑥𝑜].
Este proceso puede practicarse sucesivamente acotando la solución en un intervalo cada
vez más pequeño hasta un límite  de aceptación en la precisión de la solución de modo
que  ∈ (𝑥0 − ; 𝑥0 + ). En cada iteración el intervalo de error se reduce a la mitad,
por lo cual se dice que el método tiene una convergencia lineal. Otros métodos son más
eficientes en el sentido de la rapidez de convergencia, pero requieren un mayor
conocimiento de la función. El método de la bisección sólo requiere conocer los
extremos de un intervalo donde se encuentra una raíz.
El siguiente programa en pseudo-codigo permite aplicar el método de la bisección

dados , a, b, f(x)
mientras b-a < 
x = (a+b)/2
si f(x) = 0 fin
si f(x) f(a)  0 b=x
7

si f(x) f(a)  0 a=x


escribe x

El método de bisección es muy difícil de programar para que encuentre en forma


automática todas las raíces, no informa sobre la multiplicidad de la raíz hallada y, si hay
más de una raíz en un intervalo, sólo encontrará una o eventualmente ninguna si el
número de raíces es par y en el primer paso se detecta que el producto de la función en
los extremos del intervalo seleccionado es positivo.

Método de Newton-Raphson

El método de Newton-Raphson parte de plantear un desarrollo de Taylor truncado a


primer orden de una función con raíz en 𝑥𝑟. Si partimos de un punto 𝑥𝑜 próximo a la raíz
y hacemos un desarrollo de Taylor en torno a 𝑥𝑜, se obtiene la expresión aproximada
𝑓(𝑥) = 𝑓(𝑥𝑜) + (𝑥 − 𝑥𝑜)𝑓’(𝑥𝑜) + ⋯ Si 𝑥𝑟 es la raíz y despreciando los términos de orden
𝑓(𝑥𝑜)
superior, 𝑓(𝑥𝑟) = 0 ≈ 𝑓(𝑥𝑜) + (𝑥𝑟 − 𝑥𝑜)𝑓’(𝑥𝑜) , de donde 𝑥𝑟 ≈ 𝑥𝑜 – 𝑓 . Tomando en
(𝑥𝑜)
consideración que 𝑥𝑜 puede ser el resultado iterativamente alcanzado en la n-ésima
iteración,
𝑓(𝑥′ 𝑛)
𝑥𝑛+1 ≈ 𝑥𝑛 –
𝑓(𝑥𝑛)

resulta ser una fórmula iterativa para aproximarse a la solución 𝑥𝑟. El proceso
continuará hasta que la diferencia entre dos iteraciones consecutivas sea menor que el
límite de error establecido.
Es difícil generar un método que automáticamente explore la función y determine
todas las raíces. Un teorema que puede contribuir a tal proceso es considerar que si 𝑓(𝑥)
es una función continua en un intervalo [𝑎, 𝑏], existe la derivada segunda en (𝑎, 𝑏) y el
producto 𝑓(𝑎) . 𝑓(𝑏) < 0, la derivada es siempre positiva o negativa en el intervalo
cerrado, al igual que la derivada segunda en el abierto; si además 𝑐 es un mínimo en
[𝑎, 𝑏] se cumple que |𝑓(𝑐) /𝑓’(𝑐) | ≤ 𝑏 − 𝑎, entonces el método de Newton-Raphson
converge en una secuencia estrictamente creciente o decreciente.
Para omitir el cálculo de la derivada de la función, suele reemplazarse la derivada en
la ecuación iterativa por una secante de modo que la expresión iterativa queda en la
forma
𝑓(𝑥𝑛)
𝑥𝑛+1 = 𝑥𝑛 −
(𝑓(𝑥𝑛) − 𝑓(𝑥𝑛−1 ) )⁄(𝑥𝑛 − 𝑥𝑛−1 )

Es claro que para inicializar el método se requiere dos valores 𝑥𝑜 y 𝑥1 próximos a la


raíz.
Para establecer un criterio relativo a la velocidad de convergencia, se define la
relación
𝛼
|𝑥𝑛+1 |
lim ( ) =𝜆
𝑛→∞ |𝑥𝑛 |
8

Se define a α como “velocidad de convergencia”. Si el exponente α vale uno, se dice


que la velocidad de convergencia es lineal y cuadrática si vale 2. En términos generales,
el método de la bisección tiene velocidad de convergencia lineal, reemplazando los
valores de las soluciones alternativas por el encaje de intervalos con λ=1/2, y Newton-
Raphson, en condicione óptimas, es cuadrático (α=2). El método de la secante tiene una
velocidad intermedia.
Otro problema es el relativo a la multiplicidad 𝑚 de la raíz. Si la multiplicidad es
mayor que uno, el método de Newton-Raphson resulta más lento, pero puede acelerarse
si se ajusta la fórmula iterativa en la forma

𝑓(𝑥𝑛)
𝑥𝑛+1 ≈ 𝑥𝑛 − 𝑚
𝑓(𝑥′ 𝑛)

en caso que se conozca 𝑚. Si esto no es así y se supone que puede tratarse de una raíz

con multiplicidad mayor que uno, puede definirse 𝑔(𝑥) = 𝑓(𝑥) /𝑓(𝑥) . Expresando ahora
𝑚
𝑓(𝑥) = (𝑥 − 𝑥𝑟 ) 𝑔(𝑥) , derivando y simplificando, resulta que 𝑔(𝑥) tiene multiplicidad

uno y puede usarse la expresión iterativa 𝑥𝑛+1 ≈ 𝑥𝑛 − 𝑔(𝑥𝑛) /𝑔𝑥( 𝑛)
que, expresada en
términos de 𝑓(𝑥) queda en la forma

𝑓(𝑥𝑛) 𝑓(𝑥′ 𝑛)
𝑥𝑛+1 = 𝑥𝑛 − 2
𝑓(𝑥′ 𝑛) − 𝑓(𝑥𝑛) 𝑓(𝑥′′𝑛 )

Cálculo de polinomios. Método de Horner.

El cálculo de polinomios, es decir, la especialización en un valor xo, presenta serios


problemas de estabilidad debido a las altas potencias de la variable y la propagación de
errores. El algoritmo de Horner minimiza estos errores de acuerdo con el siguiente
método. Sea P(x) = anx^n + …+ a1 + ao y sea bn = an, si definimos a bk = ak + bk+1.xo,
para k=n-1…. 0 se obtiene bo = P(xo) y si Q(x) = bnx^n-1+…+b2x+b1, resulta que puede
escribirse P(x) = (x-xo).Q(x)+bo.

Nociones sobre sistemas no lineales. Método de Newton.

Si se plantea un sistema de ecuaciones no lineales en la forma matricial


F(x) = {f1(x1,….,xn); ….; fn(x1,…,xn)}, el procedimiento iterativo vectorial de la
forma xk+1 = xk – J(xk)^-1.F(xk) es asintóticamente convergente a la solución matricial
F(x) = 0. El problema de invertir el jacobiano en cada paso iterativo puede plantearse en
la forma de un sistema de ecuaciones lineales J(xk).y = -F(xk) y luego xk+1 = xk + y.
Está claro que el método requiere estar muy cerca de la solución y que demanda un
alto volumen de cálculo, así como sensible a la propagación de errores y mal
condicionamiento.

Unidad 3: Sistemas lineales y no lineales.

Bibliografía disponible en la Biblioteca


Akai Cap 2 – Burden Caps 6-7 – González Cap. 2 – Scheid Cap. 26 – Volkov Cap 3
9

Se ha planteado que el problema de la metodología de cálculo se presenta como uno


de los objetivos de la materia. En el caso de los sistemas de ecuaciones lineales, la
resolución de sistemas de 2x2 es sencilla y puede desarrollarse por varios métodos
alternativos. En sistemas de 3x3 estos métodos resultan más incómodos. En sistemas de
más ecuaciones e incógnitas, que en términos generales escribiremos como de nxn,
estos métodos son igualmente sencillos pero de muy difícil implementación. Se ha
buscado métodos de solución para sistemas de nxn y desarrollado muchas alternativas.

Se planteará en primer lugar un sistema de ecuaciones lineales con solución única y


arribará al formato en pseudo-lenguaje de un programa que resuelve ecuaciones lineales
de n x n. No se pretende el estudio exhaustivo del método algebraico ni de la
formulación computacional, sino rescatar la metodología de análisis como un primer
paso hacia la formulación analítica y computacional de modelos empíricos lineales.

Sistemas de ecuaciones lineales. Representación matricial. Descomposición L-R.

Un sistema de m ecuaciones lineales con n incógnitas tiene la forma

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


a21 x1 + a22 x2 + ........ + a2n xn = b2
.......................................................
am1 x1 + am2 x2 + ..... + amn xn = bm

Si se define la matriz A como la de los coeficientes A = {Aij} de mxn, b = {bi} un


vector de mx1 y x = {xi} el vector incógnita de mx1, puede escribirse la ecuación en
forma matricial como A x = b. La notación en negrita indica vectores y matrices. Si se
calcula la matriz inversa de A, que notaremos Ainv, resulta que Ainv A x = x = Ainv b.
Sin embargo el cálculo de la matriz inversa suele ser muy complejo, tedioso y no
siempre posible.

En principio buscaremos un algoritmo que permita obtener el vector solución x, para


un sistema cuadrado de nxn con solución única, que pueda ser aplicado por medio de un
procedimiento computacional y más simple que el cálculo de la matriz inversa de A. Se
procura poner de manifiesto la simplicidad de la solución computacional a un problema
matemático complejo y en especial la metodología de razonamiento para arribar a la
solución computacional por medio de la búsqueda de recurrencias en el cálculo que a la
vez sean fácilmente programables.

Se sabe que la solución del sistema no cambia si se aplican operaciones lineales de


fila (intercambio de filas, multiplicación de una fila por una constante no nula, suma y
resta de filas). Si a11  0 y se divide la primer fila de la matriz A por este coeficiente,
esta fila se transforma en “1 R12 R13 ........... R1n” y el coeficiente asociado en “c1”,
donde

R1j = A1j /A11 y c1 = b1 / A11.

Estos coeficientes definen la primera fila de una matriz que se llamará R. Por otra
parte, los elementos de la primera columna de la matriz A se los considerará como la
primera columna de una nueva matriz que se llamará L, es decir que Li1 = Ai1 para
todo i.
10

Para anular todos los elementos restantes de la primera columna de A (estos


elementos fueron guardados en la matriz L), es decir, obtener en el resto de la primer
columna ceros, se resta a cada fila “i”, ai1 veces la fila “1” resultante del proceso
anterior, es decir

A’ij = Aij – Ai1 A1j / A11 = Aij – Ai1 R1j = Aij – Li1 R1j,

y los coeficientes,

b’i = bi – Ai1 b1 / A11 = bi – Li1 c1.

De esta manera, el sistema de ecuaciones adquiere la forma

x1 + R12 x2 + ........ + R1n xn = c1


0 + A’22 x2 + ........ + A’2n xn = b’2
......................................................
0 + A’n2 x2 + ..... + A’nn xn = b’n

Si se han determinado las soluciones x2 a xn, resulta que

x1 +  R1j xj = c1,

donde la suma se extiende desde 2 hasta n. De esta ecuación podría despejarse la


incógnita x1.

Como sobre la matriz residual de coeficientes primados puede aplicarse el mismo


procedimiento, podría obtenerse la incógnita x2 conociendo los valores de x3 a xn. A
medida que se va procesando la matriz A, se van modificando sus coeficientes,
anulándose su parte triangular inferior. Las columnas de A se almacenan en las de la
matriz L y las filas en las sucesivas filas de la matriz R. Puede verse entonces que la
aplicación de un método recursivo con el esquema planteado podría resolver el sistema
de ecuaciones, llegándose a una expresión final del sistema en la forma

x1 + R12 x2 + ...................... + R1n xn = c1


0 + x2 + R23 x3 + ........ + R2n xn = c2
.................................................................
0 + 0 + .................. + xn-1 + Rn-1n xn = cn-1
0 + 0 + ................................ + xn = cn

La última ecuación permite obtener el valor de xn, la anteúltima el de xn-1 y así


sucesivamente hasta x1.

Si se define al coeficiente Li1 = Li1 para i  1, Li2 = A’i2 para i  2 y así


sucesivamente, se obtiene una matriz triangular inferior L de coeficientes de la forma

L11 0 0 ............. 0
L21 L22 0 ............. 0
L31 L32 L33 ............. 0
.......................................................
11

Ln1 Ln2 Ln3 ............. Lnn

y una matriz triangular superior R con unos en la diagonal (unaria)

1 R12 R13 ............ R1n


0 1 R21 ............ R2n
0 0 1 ............ R3n
..........................................................
0 0 0 ............ 1.

Puede probarse que la matriz A se escribe como el producto A = L R. Por otra parte,
el vector b = L c.

Este procedimiento puede llevarse a un lenguaje de computación por medio del


siguiente algoritmo, escrito en pseudo lenguaje.

para i = 1 ..... n
para j = i ....... n
Lji = Aji
para j = i ....... n
Rij = Aij / Lii
para j = i ......... n
para k = i ......... n
Ajk = Ajk – Lji Rik
c1 = b1 / L11
para i = 2 ...... n
ci = (bi - Lij cj) / Lii (donde la suma se extiende desde 1 a i-1)
xn = cn
para i = n-1 ...... 1
xi = ci - rij xj (donde la suma se extiende desde i+1 hasta n).

Puede verse que la programación del proceso es relativamente breve y sencilla.

Como las operaciones de fila no alteran el determinante de la matriz, puede


calcularse este determinante por medio del producto de los “Lii” de la diagonal de la
matriz L. Si además se propone como vector b al versor (1, 0, ..., 0), la solución será tal
que al multiplicar la primera fila de la matriz de datos por la columna x se obtendrá tal
vector. Por lo tanto, si el procedimiento se repite para los versores (0, ..., 1, ..., 0) hasta
el (0, ..., 0, ..., 1) y arreglan los vectores solución en columnas sucesivas, tal arreglo
configurará la matriz inversa de la matriz de datos.

Número de operaciones

Uno de los criterios a tener en cuenta en la selección del método numérico de cálculo
es la consideración sobre el número de operaciones a realizar. En primer lugar
asumamos que las series  i = n(n+1)/2 y que i² = n(n+1)(2n+1)/6, donde las sumas se
extienden desde i = 1 hasta n.

En el proceso de eliminación gaussiano sobre una matriz de nxn se realizan n


divisiones en la primera fila, luego n productos y n restas sobre la segunda, la tercera y
12

en síntesis, sobre las n-1 filas restantes. Es decir que a las n divisiones se suman 2n(n-1)
operaciones en el resto de la matriz, por lo tanto el primer proceso de reducción
contiene n+2n(n-1) = 2n²-n = n(2n-1) operaciones. Al operar sobre la segunda fila, se
realizan 2(n-1)²-(n-1) operaciones adicionales. Al operar sobre la i-ésima fila se
realizarán en total 2(n-i+1)²-(n-i+1) operaciones. Si se suman todas las operaciones
realizadas hasta la última fila para triangular la matriz se realizarán 2(n-i+1)²-(n-i+1),
donde i va desde 1 hasta n. Sea k = n-i+1. Cuando i = 1, k = n, y cuando i = n, k = 1, por
lo tanto la suma puede escribirse 2k²-k = 2k² - k para k = 1 hasta n. Considerando
las relaciones presentadas en el párrafo anterior, el número total de operaciones vale
n(n+1)(2n+1)/3 – n(n+1)/2. Operando queda N1 = 2n³/3 + n²/2 – n/6. Para despejar las
incógnitas se requiere un producto y una resta para obtener la anteúltima incógnita, dos
productos y dos restas para la antepenúltima y así sucesivamente hasta n-1 productos y
restas para la primera incógnita, es decir, 2i desde i = 1 hasta n-1, por lo tanto, 2(n-
1)n/2 = n²-n = N2 cálculos adicionales. Por lo tanto N = N1+N2 = 2n³/3 + 3n²/2 – 7n/6.
Puede verse que el número de operaciones varía ligeramente de acuerdo con la
implementación del método. Por ejemplo, si se asume que el primer elemento de cada
nueva fila es 1, puede omitirse la operación, al igual que los productos y restas sobre la
columna correspondiente admitiendo que el resultado será cero. Esto reduce el número
de operaciones, pero se pierde una herramienta de control en la evaluación de cuán
cerca de cero se encuentran los elementos que supuestamente se anulan. En el método
LR se suman las operaciones de asignación a las matrices L y R. Pero lo que se saca en
conclusión fundamentalmente es que el número de operaciones aumenta
proporcionalmente al cubo de la dimensión del sistema de ecuaciones.

Para una matriz de 10x10 se requiere 2000/3 + 300/2-70/6 = 4830/6 = 805


operaciones. Para una matriz de 20x20 será 16000/3+1200/2-140/6 = 35460/6 = 5910
operaciones. Por lo tanto de unas 800 operaciones (del orden de 1000) se pasa a casi
6000 duplicando el orden de la matriz (del orden de 8000).

También hay que considerar las operaciones sobre el segundo miembro o vector de
igualación b. En primer lugar se divide por el primer coeficiente de x1, pero luego se
requiere una resta y una división por cada ajuste recursivo sobre los n-1 coeficientes
restantes, es decir, 2(n-1) operaciones adicionales, o un total de 1+2(n-1) = 2n-1
operaciones. Al operar sobre la segunda fila se realizarán 2(n-1)-1 operaciones. En
general, al operar sobre la fila i, se realizarán 2(n-i+1)-1 operaciones. Sumadas sobre
todas las filas se obtiene 2(n-i+1)-1 = 2n1 - 2i + 21 - 11 = 2n²-2n(n+1)/2+2n-n =
2n²-n²-n+2n-n = n² operaciones. Sobre una matriz de 10x10 se suman 100 operaciones,
sobre una de 20x20 se suman 400 operaciones, con lo que en realidad se realizan 905 y
6310 operaciones respectivamente, lo que no cambia el orden de la estimación (1000 y
8000) pero sí hace notar la ventaja que puede tener separar el segundo miembro de la
ecuación matricial.

Estrategias de pivoteo

Es frecuente que uno de los coeficientes aii de la diagonal sea demasiado pequeño y
ocasione un importante impacto de propagación de errores en el resto del proceso. Es
deseable que estos cocientes por números pequeños se desplacen hacia el final del
proceso de triangulación. Una forma de reducir este efecto consiste en intercambiar filas
o filas y columnas. En cada etapa del proceso de triangulación, se detecta la fila que
contenga el mayor primer coeficiente no nulo y se intercambia con la fila a operar. Lo
13

mismo puede hacerse con la columna intercambiando el orden de las variables en el


arreglo matricial. Además del número de operaciones adicional y el tiempo de proceso,
se requiere almacenar la secuencia de permutaciones de filas y columnas, lo que puede
lograrse por medio de matrices de permutación, que son auto inversas y pueden
concatenarse para reconstruir la secuencia original de soluciones tras resolver el
sistema.

Norma de una matriz

Conocemos el módulo de un vector que puede calcularse como la raíz cuadrada de la


suma de los cuadrados de las componentes. Esta definición responde a la noción más
general de “norma”. Se dice que una “norma” definida sobre un vector ||x|| debe cumplir
con tres propiedades:

1. ‖𝒙‖ ≥ 0 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑣𝑒𝑐𝑡𝑜𝑟 𝒙,


2. ‖𝑎𝒙‖ = 𝑎‖𝒙‖ 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑣𝑒𝑐𝑡𝑜𝑟 𝒙 𝑦 𝑒𝑠𝑐𝑎𝑙𝑎𝑟 𝑎, 𝑦
3. ‖𝒙 + 𝒚‖ ≤ ‖𝒙‖ + ‖𝒚‖ 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑝𝑎𝑟 𝑑𝑒 𝑣𝑒𝑐𝑡𝑜𝑟𝑒𝑠 𝒙, 𝒚.

La última es conocida como desigualdad triangular. El módulo responde a la definición


de norma euclidiana, es decir, dada por la definición de producto escalar en la forma
𝑛

⟨𝑥|𝑦⟩ = ∑ 𝑥𝑖 . 𝑦𝑖
𝑖=1
Se la conoce como “norma esférica” porque el módulo, como raíz cuadrada de la
norma, define una distancia radial constante a modo de una esfera en torno al origen.
Pero existen otras definiciones de norma, entre las cuales

‖𝒙‖ = 𝑚á𝑥{𝑥𝑖 },

esto es, el máximo de los componentes del vector, también es una definición posible que
responde a las propiedades generales de norma. Se la suele llamar “norma cuadrada”
porque si en un espacio de dos dimensiones se toma como norma el máximo de las
componentes y dibuja un perímetro que delimite la distancia al centro definida por la
máxima componente, se dibuja un cuadrado.

A veces se escribe ‖𝑨‖2 a la norma euclidiana y ‖𝑨‖∞ a la norma cuadrada. La norma


cuadrada es menor o a lo sumo igual que la norma esférica. Basta observar que la norma
cuadrada es el máximo módulo de una de las componentes y que la esférica contiene
además a las sumas de los cuadrados de las otras componentes. Por otra parte, la norma
esférica tiene que estar acotada por la raíz cuadrada del número de las componentes
como factor de la norma cuadrada, lo que resulta de considerar que todas las
componentes son iguales a la máxima.
14

Otra norma de uso frecuente, conocida como “norma de Manhattan” o “norma del
taxista”, se establece sobre un reticulado que determina los puntos donde está definida
una función y por donde debe “pasar el recorrido” de un vector que pretenda llegar de
un punto a otro de tal espacio discreto, a modo del recorrido inevitable de un vehículo
en una ciudad en damero. En términos de varias variables como coordenadas, se define
como la suma de los módulos de las componentes del vector propuesto.
𝑛

‖𝒙‖ = ∑|𝑥𝑖 |
𝑖=1
Se plantea el problema de definir una norma sobre las matrices. Una manera de
definir una norma en matrices, o norma concordada, es tomar el supremo de la siguiente
operación:
‖𝐴𝒙‖
‖𝑨‖ = sup ( ) 𝑐𝑜𝑛 𝑥 ≠ 0
‖𝒙‖

También puede definirse como norma matricial a la expresión

𝑠𝑢𝑝
‖𝑨‖ = (‖𝐴𝒙‖)
‖𝒙‖ = 1
Es el supremo de los valores resultantes de la norma del vector transformado dividida
por la norma del vector original. Definida de esta manera, establece la máxima
elongación de un vector transformado por la matriz o, más geométricamente, en norma
euclidiana expresa la máxima deformación de una esfera unitaria transformada por la
matriz. En norma cuadrada, establece la forma del paralelepípedo resultante de la
aplicación de la transformación a los versores.
Partiendo de la norma vectorial definida como la máxima componente o norma
cuadrada, el valor de la norma matricial coincide con el máximo de la suma de los
módulos de las filas de los coeficientes de la matriz.

𝑛
𝑚á𝑥
‖𝑨‖∞ = (∑|𝑎𝑖𝑗 |)
1≤𝑖≤𝑛
𝑗=1

Bajo norma esférica, suele llamarse “norma espectral” a la inducida sobre las
matrices. Se define también como “radio espectral”, a veces simbolizado como 𝜌(𝐴), al
máximo de los autovalores de la matriz A. El radio espectral el valor mínimo que
pueden tomar las normas inducidas sobre una matriz y, en norma esférica, la norma es
igual a la raíz cuadrada del radio espectral del producto a izquierda de una matriz por su
transpuesta (conjugada si es compleja).

Aplicación a la evaluación del condicionamiento de una matriz

En un sistema de ecuaciones con solución única de la forma Ax = b se introducen


errores en el vector del segundo miembro, que podemos escribir db lo cual provoca
errores en el cálculo de x, que puede escribirse dx. De esta manera la ecuación matricial
resulta A(x+dx) = b+db. Si el sistema es lineal, como Ax = b resulta Adx = db, por lo
tanto 𝒅𝒙 = 𝐴−1 𝒅𝒃.
Observemos que por la definición de norma matricial, ||Ax||  ||A|| ||x||. La relación
||dx|| / ||x|| es el error relativo en la solución y ||db|| / ||b|| el error relativo en la entrada, o
error relativo de condicionamiento. El cociente
15

‖𝒅𝒙‖
‖𝒙‖
⁄‖𝒅𝒃‖
‖𝒃‖
ofrece una medida del impacto del error relativo de condicionamiento sobre el error de
la solución. Un impacto mínimo se traduce en pedir que este cociente sea pequeño. En
términos de la matriz A y de su inversa,

‖𝒅𝒙‖ ‖𝒃‖ ‖𝒃‖ ‖𝒅𝒙‖ ‖𝑨𝒙‖ ‖𝑨−𝟏 𝒅𝒃‖


= = ≤ ‖𝑨‖‖𝑨−𝟏 ‖
‖𝒙‖ ‖𝒅𝒃‖ ‖𝒙‖ ‖𝒅𝒃‖ ‖𝒙‖ ‖𝒅𝒃‖

Este cociente es una medida del condicionamiento de una matriz.

Métodos de iteraciones simples

Se llama así a un método iterativo sobre la base de un esquema de la forma siguiente:

𝒙𝒊+𝟏 = 𝐵 𝒙𝒊 + 𝒃

Es decir que a partir de una solución inicial propuesta xo se obtiene una secuencia de
soluciones cada vez más próxima a la real. El problema se reduce a encontrar una matriz
B para el proceso iterativo a partir de la matriz A del sistema Ax = b. Por otra parte es
necesario evaluar las condiciones de convergencia del método.
Si la ||B|| < 1 entonces la solución existe y el esquema converge geométricamente a
ella. Para probarlo se propone un vector x* como solución que verifica x* = Bx*+b. Por
lo tanto, ||x*||  ||Bx*|| + ||b||  ||B|| ||x*|| + ||b||, por la desigualdad triangular y la
definición de norma. Por lo tanto ||x*||  ||b|| / (1-||B||). En el caso particular en el que el
vector b = 0, su norma vale cero y resulta que la norma de x* también es nula, con lo
que la única solución posible es el vector nulo y resulta ser única. Si la norma de B
fuese mayor que uno, no existiría tal solución porque la norma de la solución debería ser
negativa. Por lo tanto, si la ||B||<1, la solución existe, es única y el esquema converge a
ella. Si escribimos ahora la diferencia

𝒓𝒌 = 𝒙∗ − 𝒙𝒌 = 𝐵(𝒙∗ − 𝒙𝒌−𝟏 )

donde rk es el k-ésimo error de iteración, puede verse que esta expresión se extiende en
la forma
𝒓𝒌 = 𝐵 𝑛 𝒓𝟎

La norma del error de iteración será menor o a lo sumo igual que la k-ésima potencia de
la norma de B, que si es menor que la unidad, resulta que la norma del error decrece de
acuerdo con una progresión geométrica.
Operando de manera similar se llega a una relación en el error de iteración.

‖𝒓𝒌 ‖ = ‖𝒙∗ − 𝒙𝒌 ‖ = ‖𝐵(𝒙∗ − 𝒙𝒌−𝟏 )‖ ≤ ‖𝐵‖‖𝒙∗ − 𝒙𝒌−𝟏 ‖

Podemos escribir la última expresión en la forma

‖𝐵‖‖𝒙∗ − 𝒙𝒌 + 𝒙𝒌 − 𝒙𝒌−𝟏 ‖ ≤ ‖𝐵‖(‖𝒙∗ − 𝒙𝒌 ‖ + ‖𝒙𝒌 − 𝒙𝒌−𝟏 ‖)


16

De aquí que escribimos

‖𝒙∗ − 𝒙𝒌 ‖ = ‖𝐵‖‖𝒙∗ − 𝒙𝒌 ‖ + ‖𝐵‖‖𝒙𝒌 − 𝒙𝒌−𝟏 ‖

Y llegamos a la expresión
‖𝐵‖
‖𝒙∗ − 𝒙𝒌 ‖ ≤ ‖𝒙 − 𝒙𝒌−𝟏 ‖
1 − ‖𝐵‖ 𝒌

Esta relación permite, por una parte, estimar la norma de una matriz a partir de dos
aproximaciones sucesivas, pero también muestra que la convergencia será lenta y los
errores grandes cuanto más próxima a la unidad sea la norma de B, resultando oscilante
el esquema si vale uno y divergente si es mayor que uno. Puede probarse que un
proceso iterativo genera una sucesión de soluciones convergentes si el radio espectral de
la matriz de transformación B es menor que uno.

Método de Jacobi

Los métodos de Jacobi y de Gauss-Seidel fueron desarrollados hace más de dos


siglos. Son iterativos, a diferencia de un método directo como es el LR, porque se parte
de una solución inicial propuesta como primer intento para acercarse progresivamente a
la solución real. Cuando esto ocurre se dice que hay convergencia a la solución del
sistema. Son eficientes en especial en sistemas de ecuaciones grandes con muchos
coeficientes nulos en la matriz.

Si para el sistema Ax = b, xo es un vector que se propone como solución inicial a un


sistema, un método iterativo genera una sucesión de vectores xi como aproximaciones
sucesivas que converge a x. La forma general de un proceso iterativo consiste en
convertir un valor inicial x en otro como aproximación mayor al buscado por medio de
una operación de la forma x = Tx + c para cierta matriz T apropiada y cierto vector c a
través de una sucesión xi = Txi-1 + c.

El método de Jacobi consiste en separar la matriz A de coeficientes en una parte


formada por los elementos de la diagonal D y otra parte que contiene los elementos
fuera de la diagonal ND. Así A = D + ND. Por lo tanto la expresión Ax = b queda en la
forma (D + ND)x = b, es decir que Dx = -NDx + b. D-1 será la inversa de D,
configurada por la recíproca de los elementos de la diagonal, por lo tanto queda

x = -D-1NDx + D-1b

como expresión matricial del proceso iterativo.

Esta expresión, desarrollada en sus coeficientes, resulta

𝑖−1 𝑛
𝑎𝑖𝑗 𝑥𝑗𝑘 𝑎𝑖𝑗 𝑥𝑗𝑘 𝑏𝑖
𝑥𝑖𝑘+1 = −∑ − ∑ +
𝑎𝑖𝑖 𝑎𝑖𝑖 𝑎𝑖𝑖
𝑗=1 𝑗=𝑖+1

donde la suma se extiende sobre los valores de j distintos de i en el rango de la matriz,


es decir, para i entre 1 y n para j≠i.
17

Debe notarse, en primer lugar, que el método es aplicable sólo si los elementos de la
diagonal son no nulos para toda la matriz (aii ≠ 0 i). Además el procedimiento debe ser
convergente, es decir, que el proceso iterativo conduce o tiende a un punto solución.
Además se debe establecer un criterio de detención del proceso iterativo.

Es fácil verificar si los elementos de la diagonal son no nulos. El problema de la


detención del proceso es algo más complejo. Usualmente se adopta como criterio que
los vectores solución sucesivos no difieran mucho entre sí. Para ello se calcula la
distancia entre los vectores xi y xi+1, si esta distancia es menor que un límite
preestablecido, el proceso se detiene y presenta la solución. Sin embargo la definición
de distancia puede variar de acuerdo con varios criterios. Puede usarse la distancia
euclidiana, el cuadrado de esta distancia o bien imponer el criterio de alteración mínima
sobre las componentes individuales. También suele definirse un criterio de distancia
(Manhatan) que consiste en sumar los módulos de las diferencias entre componentes y
pueden utilizarse otras definiciones de distancia.

El problema de la convergencia es aún más complejo. Un teorema muestra que el


método es convergente si la matriz A es estrictamente diagonal dominante, llamándose
a una matriz “diagonal dominante” si el módulo de todos los elementos de la diagonal
es mayor que la suma de los módulos de todos los elementos correspondientes de la fila.
𝑛

| 𝑎𝑖𝑖 | > ∑ |𝑎𝑖𝑗 | 𝑠𝑢𝑚𝑎𝑑𝑜 𝑠𝑜𝑏𝑟𝑒 𝑡𝑜𝑑𝑜 𝑗 𝑑𝑖𝑠𝑡𝑖𝑛𝑡𝑜 𝑑𝑒 𝑖


𝑗=1

El mejor criterio de convergencia se apoya en evaluar el primer autovalor o “radio


espectral” de la matriz de coeficientes. Si este primer autovalor es menor que 1,
converge, si no, no habrá convergencia (La definición de autovalor se desarrolla en
conexión con los espacios vectoriales).

Método de Gauss-Seidel

El método de Gauss Seidel difiere del de Jacobi en que separa la matriz A en tres partes,
una diagonal D, una triangular superior S y una triangular inferior I, de manera tal que
la matriz A = I + D + S. De esta manera resulta el sistema Ax = b

(𝑰 + 𝑫 + 𝑺)𝒙 = 𝒃 𝑝𝑜𝑟 𝑙𝑜 𝑡𝑎𝑛𝑡𝑜 (𝑰 + 𝑫)𝒙 = 𝒃 – 𝑺𝒙 𝑦 𝒙 = (𝑰 + 𝑫)−1 (𝒃 – 𝑺𝒙)

La determinación de la inversa de (I+D) es más compleja que la de una matriz diagonal,


pero en la expresión de la suma sobre los términos de la matriz sólo se incorpora una
pequeña variante.

Esta expresión, desarrollada en sus coeficientes, resulta

𝑖−1 𝑛
𝑎𝑖𝑗 𝑥𝑗𝑘+1 𝑎𝑖𝑗 𝑥𝑗𝑘 𝑏𝑖
𝑥𝑖𝑘+1 = −∑ − ∑ +
𝑎𝑖𝑖 𝑎𝑖𝑖 𝑎𝑖𝑖
𝑗=1 𝑗=𝑖+1
18

donde la primera suma se extiende sobre los valores de j menores que i, es decir, para j
entre 1 e i, y en la segunda sumatoria se extiende entre i+1 y n. En esta expresión x’i y
x’j representa la actualización de la variable. Puede verse que la suma se realiza sobre
los valores x’j ya actualizados por la iteración en curso, por lo que no se requiere esperar
a que se complete el proceso iterativo para usar los valores actualizados sino que se los
usa durante el mismo paso de iteración, lo cual resulta más eficiente en términos de
velocidad de ajuste. Un teorema muestra que si un sistema es convergente según el
método de Jacobi, también lo es según el de Gauss Seidel con una rapidez de
convergencia mayor.

Método de relajación

Si se define r como vector residuo o diferencia entre el vector b que debe obtenerse del
sistema Ax = b, en la forma r = b – Ax, este vector residual puede usarse como
alternativa en un proceso iterativo, tanto combinándolo con el método de Jacobi como
con el Gauss Seidel. Para una componente individual del vector r resulta

𝑖−1 𝑛

𝑟𝑖𝑘 = 𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘 − 𝑎𝑖𝑖 𝑥𝑖𝑘


𝑗=1 𝑗=𝑖+1

si se aplica el método de Jacobi, donde xj son las componentes del vector solución en la
iteración previa. En cambio si se aplica Gauss Seidel resulta

𝑖−1 𝑛

𝑟𝑖𝑘 = 𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘+1 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘 − 𝑎𝑖𝑖 𝑥𝑖𝑘


𝑗=1 𝑗=𝑖+1

En ambos casos puede reemplazarse

𝑖−1 𝑛

𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘+1 − ∑ 𝑎𝑖𝑗 𝑥𝑗𝑘 = 𝑎𝑖𝑖 𝑥𝑖𝑘+1


𝑗=1 𝑗=𝑖+1

en estas expresiones en el cálculo del residuo resultando

𝑟𝑖𝑘 = 𝑎𝑖𝑖 𝑥𝑖𝑘+1 − 𝑎𝑖𝑖 𝑥𝑖𝑘

donde 𝑥𝑖𝑘 representa el valor de la componente en la iteración anterior. Por lo tanto

𝑟𝑖𝑘
𝑥𝑖𝑘+1 = 𝑥𝑖𝑘 +
𝑎𝑖𝑖

se ofrece como ecuación recursiva donde ri se calcula con alguna de las expresiones de
arriba.

Si el sistema es convergente por Jacobi y Gauss Seidel, también lo será por relajación.
La ventaja que ofrece es que permite introducir un coeficiente adicional ω en la forma
19

𝑟𝑖𝑘
𝑥𝑖𝑘+1 = 𝑥𝑖𝑘 +𝜔
𝑎𝑖𝑖

Este coeficiente ω se conoce como de sobre relajación cuando es mayor que 1 y de sub
relajación cuando es menor que 1. Si es mayor que 1, acelera la convergencia y
disminuye el número de iteraciones, pero se corre el riesgo de inestabilizar el proceso.
Si es menor que 1, puede forzar que haya convergencia en situaciones en las que
usualmente no las habría. No hay un método único para determinar el coeficiente w
óptimo, pero usualmente se encuentra entre 0 y 2 y se relaciona con la recíproca del
radio espectral.

Sistemas sobredeterminados: cuadrados mínimos.

Bibliografía disponible en Biblioteca


Akai Cap 4 – Burden Cap. 8 – González Cap. 4 – Scheid Cap 21 – Devore Caps. 12 y
13

En ocasiones se dispone de un conjunto de pares de datos de dos variables,


supuestamente relacionadas, y se procura hallar el modelo matemático que mejor
represente esa relación. Si un gráfico de dispersión permite inferir que el tipo de
relación es lineal, la forma de la ecuación propuesta será y = ax+b, donde los
parámetros lineal e independiente deberán ser determinados en función de la
información disponible.

Como para cada par de datos debe valer la relación lineal, resulta que hay tantas
ecuaciones como pares de datos pero sólo dos incógnitas: a y b. Un sistema se dice
sobredeterminado cuando hay más ecuaciones que incógnitas. Un sistema de esta
naturaleza no tiene solución alguna, a menos que las ecuaciones sean linealmente
dependientes y pueda reducirse a un sistema de nxn. Veremos que este tipo de
problemas pueden resolverse pero no en el sentido de obtener una solución única sino la
mejor solución posible de acuerdo con algún criterio para decidir cuál es la “mejor”.

El caso de aplicación más frecuente es el que se conoce como regresión lineal


simple, es decir, con dos variables, una dependiente y otra independiente, por el método
de los cuadrados mínimos. En estas circunstancias, se dispone de un conjunto de pares
de n datos de dos variables supuestamente relacionadas x e y. Se supone que la ecuación
lineal que las vincula es de la forma
y=ax+b

para algún valor de los coeficientes a y b.

Se propone entonces que para cada valor de yi puede escribirse una ecuación de la
forma yi = a xi + b + i, donde i representa un término de error en el ajuste lineal. Se
despeja i de la ecuación anterior y se suman cuadráticamente los valores de error
obtenidos  i² =  (Yi – a Xi – b)², de manera tal que se pueda buscar el mínimo de
esta sumatoria sobre todos los valores de i, derivando con respecto a los parámetros a y
b. Esto da por resultado dos ecuaciones con dos incógnitas, de las que puede obtenerse
el valor de los parámetros a y b de acuerdo con las ecuaciones
20

a = [n XiYi - Xi . Yi] / [n Xi² - (Xi)²] y b = y – a x,

donde x y y representan los promedios de X y de Y y “n” el número de datos.

Nótese que estos “mejores” valores de a y b se calcularon sobre la base de una


hipótesis de relación lineal, de predefinir a “x” como la variable independiente y a “y”
como la dependiente, y finalmente de utilizar el criterio de la minimización de la suma
de diferencias cuadráticas.

En algunos problemas es difícil determinar cuál es la relación causal entre las


variables, si la hay, es decir, quién es la variable dependiente y quién la independiente.
Debe notarse que si se supone que la ecuación toma la forma x = a’y + b’, las rectas de
regresión obtenidas no coinciden entre sí. Por lo tanto, a menos que sólo exista una
relación causal posible entre las variables, debe indicarse cuál es el sentido de la
regresión empleada, del cual dependerá la recta de regresión resultante.

También hubiese sido posible aplicar la minimización de la cuarta potencia de las


diferencias i, o los módulos. Estos métodos también hubiesen conducido a resultados
similares pero diferentes. Por lo tanto debe considerarse que el resultado de la regresión
no es único y que debe ser claramente expresado el criterio empleado para el cálculo.

Para evaluar la “intensidad” o calidad del ajuste lineal se definen la covarianza y, en


particular, el coeficiente de correlación. La covarianza se calcula

Cov(X, Y) = [ (Xi - x) (Yi - y)] / n sobre todos los valores de i.

En esta relación Xi e Yi representan datos y x y y los promedios (recordamos que


no desarrollamos en este punto aspectos formales de la teoría). Puede notarse que, si hay
una relación lineal directa, la covarianza es grande en módulo y positiva, mientras que si
la relación lineal es inversa la covarianza es grande en módulo pero negativa. Si la
relación lineal no existe, la covarianza es pequeña e idealmente nula.

Se calcula el coeficiente de correlación “r” dividiendo la covarianza por el producto


de las desviaciones estándar de ambas variables, con lo cual –1  r  1.

r = Cov(X, Y) / x y.

Cuanto más próximo a 1 sea r en módulo, mayor es la intensidad de la relación


lineal. Si r es cercano a cero, no existe relación entre X e Y, y, si existe, no es lineal. Si r
es negativo, la relación lineal es inversa y, si es positivo, es directa.

Para resolver de una forma genérica este tipo de problemas, observamos que el
sistema de ecuaciones resultante “a xi + b = yi” tiene la expresión matricial

x1 1 y1
x2 1 y2
   
  a =  
xi 1 b yi 
21

   
   
xn 1 yn

que se expresará sintéticamente como X (a, b) = Y.

Puede notarse que si se premultiplica ambos miembros por la transpuesta de X


resulta,

x1 x2 xi xn x1 1 x1 x2 xi xn y1


1 1 1 1 x2 1 1 1 1 1 y2
   
  a =  
xi 1 b yi 
   
   
xn 1 yn

el sistema se reduce a

xi² xi a = xiyi


xi n  b  yi 

cuya solución es la misma que la planteada más arriba.

En síntesis, puede probarse un teorema que muestra que, dado un sistema con matriz
de datos X y vector Y sobredeterminado, la mejor solución en el sentido de los
cuadrados mínimos es
Xt X (a, b) = Xt Y,

donde Xt representa la matriz transpuesta de X.

Puede verse así que resolver un sistema sobredeterminado, desde el punto de vista de
la programación, implica sólo agregar una rutina que premultiplique por la matriz
transpuesta de X a las matrices de datos ingresadas, y luego aplicar una resolución de un
sistema lineal simple, para lo cual puede utilizarse el método LR ya estudiado o
métodos iterativos.

Desde un punto de vista estadístico, puede probarse que para aplicar adecuadamente
una regresión lineal, las distribuciones marginales de las dos variables deben ser
normales, es decir, la distribución conjunta debe ser normal bivariada.

Sistemas sobredeterminados: regresión múltiple.


22

En muchos problemas, los más realistas, se debe considerar la influencia causal de


varias variables supuestamente independientes sobre una variable supuestamente
dependiente, es decir, que respondería a una ecuación multilineal de la forma

y = a1 x1 + a2 x2 + ........... + an xn + b = aj xj + b.

para ciertos coeficientes aj y b.

Ahora, para cada uno de los m datos yi habrá un conjunto de valores xi1 a xin, en
general de xij, con un término de error i tal que

yi = aj xij + b + i = xij aj + b + i = yi.

La última forma de escribir la igualdad permite recurrir a una notación matricial de la


ecuación de regresión en la forma

x11 x12 ........ x1n 1  a1 y1


x21 x22 ........ x2n 1  a2  y2
    
   =  
xi1 xi2 .. xij . xin 1  ai  yi 
    
   an   
xm1 xm2 ........ xmn 1 b  yn

Puede verse que esta forma es similar a la planteada para un sistema de regresión
simple. Si se calcula i² y busca su mínimo derivando, se obtendrá un sistema de n+1
ecuaciones con n+1 incógnitas, de las que podrán despejarse los ai y b. De la misma
manera, puede aplicarse el teorema que premultiplica a A y a y por la transpuesta de A,
con lo cual se arriba a un sistema de n+1 ecuaciones con n+1 incógnitas, resoluble con
el método L-R.

En términos generales, antes de realizar un cálculo de regresión se debe observar el


conjunto de información disponible y tener un conocimiento mínimo del problema a
resolver. Por ejemplo, se debe confeccionar un gráfico de dispersión para evaluar el
modelo de ajuste (lineal, cuadrático, etc.). La estimación y representación gráfica de
errores permitirá considerar el grado del polinomio a proponer. El tipo de datos
orientará acerca de cuál variable deberá considerarse como independiente.

Cuando se plantea el problema de la regresión lineal la solución es una recta


caracterizada a través de sus parámetros. Cuando se trata el problema de la regresión
múltiple con dos variables independientes, la solución es un plano de regresión, y será
un volumen si hay tres variables independientes. Si se utilizan más variables
independientes la solución se llama un “hiperplano” de regresión.

Se considera que el hiperplano óptimo responde a la minimización de los errores


cuadráticos, es decir, a una minimización de la varianza de los errores. La distribución
de errores quedará completamente definida en la medida que ésta sólo dependa de dos
variables, y además la regresión sobre la variable dependiente definirá el máximo de
23

probabilidad en la medida que la distribución de errores sea unimodal y simétrica. Por


otra parte, una variable aleatoria con rango infinito presenta un máximo de aleatoriedad
con una distribución normal asociada (este tema se tratará hacia el final del curso) Por
lo tanto se supone que el conjunto de datos responde a una distribución normal
multivariada. Esta condición debería verificarse antes de realizar el cálculo de regresión,
de otra manera no se garantiza que los parámetros sean los más representativos para la
generación del hiperplano óptimo.

En dos variables es más simple interpretar geométricamente el problema. Si se


grafica la distribución normal bivariada en forma tridimensional se obtiene una
superficie con forma de domo. Si esta superficie se corta con planos horizontales de
igual densidad de probabilidad, el lugar geométrico de la intersección definirá elipses.
Los puntos de contacto de las elipses con tangentes paralelas el eje “y” definirán una
recta de regresión y = ax+b. Si las tangentes se trazan paralelas al eje “x” se define una
recta de regresión para la relación x = a'y+b', que no coincide con la recta y = ax+b. La
búsqueda de los ejes de la elipse conducirá, como se verá más adelante, al planteo de los
autovectores del sistema lineal.
x = a’y + b’

y autovector 1

y = ax + b

autovector 2

En el gráfico se muestra la elipse configurada por el lugar geométrico de los puntos de


intersección entre la distribución normal bivariada y la superficie horizontal que la
corta. Los ejes mayor y menor de la elipse se llamarán “autovectores”, según se verá
más adelante. La recta que corta la elipse en los puntos donde una tangente a la curva es
vertical será la recta de regresión y=ax+b, y la recta que corta la elipse en los puntos
donde la tangente a la curva es horizontal será la recta de regresión x = a’y+b’. Es claro
en el gráfico que las rectas de regresión son diferentes entre sí y a su vez el significado
geométrico que tienen así como las rectas que luego llamaremos autovectores.

Separación y clasificación de variables

Si se asume que entre un conjunto de variables podría sólo haber relaciones de tipo
lineal, el coeficiente de correlación rij = Cov(Xi, Xj) / i j ofrece una medida de la
intensidad de la relación lineal entre las variables Xi y Xj. Si se desarrolla este cálculo
para cada par de variables, se configura una matriz R llamada “matriz de correlación”.
El análisis de la matriz de correlación permite obtener información sobre la relación
entre las variables en juego.
24

Regresión polinómica y funcional.

Cuando se pretende plantear el problema del ajuste de sistemas sobredeterminados


con una forma funcional más compleja que la relación lineal y = ax+b, puede pensarse
en formas polinómicas de grado mayor que uno. Si se observa con cuidado, una
expresión de la forma

y = an xª + .......... a3 x³ + a2 x² + a1 x + b,

es formalmente equivalente a

y = an xn + .......... a3 x3 + a2 x3 + a1 x1 + b,

cuya resolución se planteó en el caso de los sistemas multidimensionales. Por lo tanto, a


partir de una única variable independiente x pueden generarse sus potencias como
variables independientes y aplicar el método de la regresión múltiple.

Debe tenerse presente que el método presenta los mismos problemas planteados en
relación con la regresión múltiple, con el agregado que las distribuciones de
probabilidad asociadas a las potencias de la variable x no serán normales aun cuando x
lo sea. Por otra parte, el coeficiente de correlación, medida del ajuste no lineal, no puede
definirse en términos de la covarianza sino del complemento a uno de la varianza de los
errores en relación con la varianza de la serie original. Es muy difícil en este método
determinar con criterios objetivos el orden del polinomio a emplear.

Formas funcionales más complejas permiten transformar la variable antes de aplicar


una regresión lineal o funcional.

Unidad 3: Interpolación. Aproximación. Transformaciones.

Bibliografía disponible en Biblioteca


Akai Cap. 5 – Burden Cap. 3 – González Cap. 4 – Scheid Caps 2 y 11

Polinomios interpoladores: método de Lagrange.

En ocasiones se dispone de un conjunto de información dentro del cual hay datos


faltantes o bien la referencia del dato no corresponde a los requerimientos. Por ejemplo,
si se toman datos cada tres horas aproximadamente pero no exactamente, es decir, a
veces una hora antes y otras veces una hora después, pero se requiere disponer de datos
en intervalos uniformes de tiempo, debe idearse algún método para completar los datos
faltantes con la mejor estimación posible en función de la información existente y, por
otra parte, es necesario ajustar el tiempo de registro de los datos “corridos” a la hora
exacta establecida.

Para ello se aplican métodos de interpolación, los cuales consideran la información


existente y rellenan el conjunto de datos faltantes o corridos con los mejores que puedan
obtenerse. Las funciones interpolantes deben respetar toda la información existente, es
decir, pasar por cada uno de los puntos en un gráfico de la serie de información. Se
busca una función genérica y simple para interpolar, la cual resulta ser algún polinomio
de grado adecuado.
25

El método de Lagrange es el más simple pero no el mejor entre muchos métodos para
determinar los coeficientes del polinomio interpolador. Dados n+1 puntos diferentes x o,
x1, ..., xn, y f(x) una función definida en un intervalo [a, b] que contiene a los puntos, se
busca un polinomio de grado mínimo que interpole a la función en los puntos dados, es
decir, que p(xi) = f(xi) para i = 0, 1, ..., n. Se prueba que tal polinomio existe, que es
único y que su grado es a lo sumo n, es decir, un orden menor que el número de puntos.

Se construye un polinomio lk(x) = c (x – xo) ... (x – xk-1) (x – xk+1) ... (x – xn), que
tiene raíces en todos los puntos, excepto en xk. Se elige c de tal manera que lk(xk) = 1.
Por lo tanto lk(x) puede escribirse como  (x – xi) /  (xk – xi), donde los productos se
extienden sobre todos los valores posibles de i entre 0 y n, excepto k, y resulta l k(xi) = 1
si i = k y lk(xi) = 0 si i  k. De esta manera, el polinomio

 f(xk) lk(x),

donde la suma se extiende entre k = 0 y k = n, satisface las condiciones pedidas.


Para probar la unicidad, se requiere expresar que el polinomio obtenido, de grado n
con n+1 coeficientes, tiene que cumplir con las igualdades yk=f(xk) para n+1 pares de
valores (xk,yk). Un sistema tal tiene solución única para los coeficientes. En caso que el
polinomio interpolador sea de grado menor que n, en principio tal sistema estaría
sobredeterminado, pero se prueba que hay ecuaciones linealmente dependientes y se
vuelve a la unicidad. Para visualizarlo, basta pensar en tres puntos alineados que dan
lugar a tres ecuaciones con dos coeficientes, pero una de las ecuaciones resultará
combinación lineal de las otras dos.

Ejercicio: hallar el polinomio interpolador asociado a la siguiente tabla escrita como


pares ordenamos (x, f(x)): (2, 1), (3, 2), (-1, 3) y (4, 4).

En general no interesan los coeficientes del polinomio interpolador escrito en la


forma tradicional de un polinomio, sino el valor del polinomio interpolador en ciertos
puntos de interés, como datos faltantes o inhomogeneidades en los intervalos.

El siguiente programa, escrito en pseudo lenguaje, permite hallar el valor interpolado


por medio del método de Lagrange en un punto x dado.

Lee x, n, xo, ..., xn, yo, ..., yn


p=0
para k = 0, ..., n
l=1
para i = 0, ..., k-1
l = l * (x – xi) / (xk – xi)
para i = k+1, ..., n
l = l * (x – xi) / (xk – xi)
p = p + yk l
escribe p

Este método de Lagrange tiene serios problemas de estabilidad que pueden corregirse
parcialmente con otras metodologías. De todas maneras, el uso de polinomios
interpolantes como técnica de relleno o de homogeneización de intervalos, debe ser
26

aplicado siempre con prudencia porque es una forma de crear información inexistente.
Es decir, se incorporan “datos” a la información disponible que originalmente no
estaban presentes y, por lo tanto, no son reales. Suele ocurrir que la serie interpolada de
datos tiene mayor varianza que la serie original.

Es un problema esencialmente mal condicionado. Una pequeña modificación, incluso


dentro del rango del error en la información, puede alterar completamente toda la
estructura del polinomio interpolador. En la práctica se utiliza la interpolación lineal
entre dos puntos, la interpolación cuadrática entre tres puntos y la interpolación cúbica
entre cuatro puntos.

Interpolación polinómica progresiva


Para evitar el abordaje conjunto de todos los datos, puede implementarse primero una
interpolación lineal sobre dos pares, mejorarla luego con una parábola incorporando un
tercer par y así progresivamente hasta el ajuste deseado.
Por ejemplo, si se toma el primer par de puntos y se ajusta un polinomio lineal de la
forma P1(x)=ao+a1(x-xo), tendrá que ser ao=yo y a1=(y1-yo)/(x1-xo). El segmento une los
puntos (xo,yo) y (x1,y1).
La incorporación de otro dato conduce a un polinomio de segundo grado. Con la
condición de que conserve la interpolación del primer dato, agregamos un término
cuadrático con una expresión de la forma P2(x)=ao+a1(x-xo)+a2(x-xo)(x-x1). Es fácil
verificar que, conservando los anteriores ao y a1, P2(xo)=yo y P2(x1)=y1. Para que el
término cuadrático, ponderado por a2, corrija el error de ajuste del primer polinomio, es
decir la diferencia y2-P1(x2), tendrá que ser a2=(y2-P1(x2))/[(x2-xo)(x2-x1)].
Se sigue con el grado tres, cuatro y la fórmula general de recurrencia resulta
an=(yn-Pn-1(xn))/[xn-xo)(xn-x1)…..(xn-xn-1)].

Promedios ponderados
Otro criterio de interpolación se fundamenta en la distancia entre datos y el punto a
interpolar. Por ejemplo, si se dispone de un dato x1 a las 12 hs, otro x2 a las 15 hs y otro
x3 a las 16 hs y se requiere el mejor valor estimado a las 14 hs, es claro que x2 debería
ser más próximo que x1 y x3 al verdadero valor. Puede aproximarse el dato faltante por
medio de considerar la recíproca de la distancia cuadrática al punto de interés de los
datos existentes.

Se construye la suma S = 1/x1² + 1/x2² + 1/x3². El segundo término de esta suma será
mayor que los otros dos. Se asignan los pesos p1 = 1/x1² / S al dato p2 = x1, 1/x2² / S al
dato x2 y p3 = 1/x3² / S al dato x3, con lo cual la importancia asignada al dato 2 será
mayor que la correspondiente a los datos x1 y x3. Debe notarse que la suma de los pesos
vale 1.

En general se asignan pesos a los datos, bajo el requerimiento que la suma de los
pesos valga 1, sobre la base de algún criterio. El ejemplificado considera la distancia
cuadrática, pero la distancia puede evaluarse en módulo, alguna otra potencia par o
módulo de potencia impar, alguna función asimétrica que valorice de manera diferente
los datos a izquierda y derecha del punto en cuestión, etc.

Integración numérica: regla de los trapecios

Bibliografía disponible en Biblioteca


27

Akai Cap. 6 – Burden Cap. 4 – González Cap. 6 – Scheid Caps 13, 14, 15, 16

La integración numérica de funciones se aplica cuando no es posible hallar la función


primitiva, cuando se procura utilizar el valor numérico de la integral en un proceso
computacional o bien cuando no se dispone de la función a integrar sino de un conjunto
de datos numéricos relativos a una forma funcional desconocida.

Existen muchos métodos numéricos de integración. Sólo se desarrollarán algunos


aspectos de la llamada regla de los trapecios y de la regla de Simpson.

La metodología consiste en aproximar la función a integrar por medio de una


interpolación polinómica, cuya función primitiva se conoce en forma genérica para
cualquier coeficiente del polinomio. En la práctica se utilizan polinomios de primer
grado (trapecios) y de segundo grado (Simpson).

Se subdivide el intervalo [a, b] a integrar en n subintervalos [f(xk), f(xk+1)] de tamaño


h = (b-a)/n, donde xo = a y xn = b, en cada uno de los cuales se hace una aproximación
lineal o cuadrática. El área de cada trapecio elemental debajo de la recta interpolatoria
que une los puntos xk y xk+1 vale (xk+1 – xk) (f(xk) + f(xk+1)) / 2. Sumando las áreas
elementales se obtiene la fórmula compuesta de los trapecios

T(h) = (f(a) + 2  f(xk) + f(b)) h / 2,

donde la sumatoria se extiende desde k = 1 hasta k = n-1.

El siguiente algoritmo permite calcular integrales por medio de la regla compuesta de


los trapecios.

T = (f(a) + f(b)) / 2
Para i = 1, ...., n-1
T = T + f(a + i * h)
T=h*T

El programa anterior es válido si se dispone de la forma funcional de f(x). Si se


dispone de datos interpolados de manera tal que la distancia entre ellos sea uniforme,
f(x) se reemplaza por el vector que contiene los datos numéricos.

Es fácil ver que el resultado de la integral será dependiente de la discretización del


intervalo [a, b], por lo tanto se requiere un mínimo conocimiento de la función de
manera tal que la discretización contenga la variabilidad en alta frecuencia de la
variable de integración.

La regla de Simpson consiste en aplicar una interpolación cuadrática sobre tres datos
en los cuales se discretiza el intervalo de integración. La integral en cada subintervalo
está dada por la expresión I = (f(xk) + 4 f(xk+1) + f(xk+2)) h / 6. Se deja como ejercicio
hallar la fórmula de la integral de una función, y el programa en pseudo lenguaje, si se
aplica la regla de Simpson.

El programa “integral” calcula la integral definida numérica de polinomios de hasta


tercer grado y ofrece el valor de la integral real para comparación de resultados. Se
28

ingresan los coeficientes del polinomio, los límites de integración y el número de


intervalos. Presenta el tamaño del intervalo discretizado y la integral definida real y
estimada por la regla compuesta de los trapecios.
T.P.: Calcular integrales definidas de polinomios de diferente orden y coeficientes.
Comparar resultados. Evaluar el efecto del número de intervalos sobre un polinomio en
particular.

Unidad 4: Ecuaciones diferenciales.

Bibliografía disponible en Biblioteca


Akai Caps 6, 7 – Burden Caps 5, 11 – González Cap. 6 – Scheid Caps 18, 19, 20

Introducción

Hasta el momento se han planteado problemas en los cuales se dispone de un


conjunto de datos y, a través de ellos, se procura aproximar una forma funcional que
describa el comportamiento del sistema que generó esos datos. En otras palabras, se
procuró descubrir el modelo matemático subyacente detrás de la información obtenida
del sistema.

En lo que sigue la hipótesis será que se dispone de suficiente conocimiento teórico


para expresar el comportamiento del sistema en términos de un conjunto de ecuaciones
diferenciales, las cuales deberán ser resueltas para poder obtener la forma funcional de
las ecuaciones que describen el comportamiento del sistema.

Las ecuaciones lineales suelen ser resolubles por medio de la aplicación de una
solución genérica de la forma f(x) = A exp(x), donde los coeficientes pueden ser
complejos, en particular  cuando las soluciones son armónicas. La aplicación de esta
forma funcional conduce a obtener una ecuación polinómica en  cuyas raíces, sumadas
a un número de condiciones iniciales y de contorno equivalentes al orden de la ecuación
diferencial y que permiten determinar las constantes de integración, llevan a la
resolución de la ecuación.

Sin embargo para la resolución de ecuaciones diferenciales no lineales, muchas veces


además acopladas y multivariadas, no se dispone de métodos genéricos y es frecuente
que tal solución no sea expresable en una forma funcional explícita. En estos casos se
recurrirá a la aplicación de métodos de discretización del sistema continuo y a la
modelización del sistema desde la ecuación diferencial misma aunque no se disponga de
una solución funcional. Los problemas que surgen de la discretización serán el objetivo
central de la presente unidad.

Método de las perturbaciones

Se ha visto en la unidad anterior que es posible resolver ecuaciones diferenciales por


medio de métodos propios o bien aplicar la transformada de Laplace. Sin embargo no
siempre es posible resolver una ecuación diferencial, especialmente no lineal, y aún
menos un conjunto de ecuaciones acopladas.
29

En ocasiones, cuando puede asumirse que la solución a un sistema de ecuaciones


diferenciales no lineales consiste en un comportamiento básico del sistema sobre el cual
se superpone una perturbación que no altera la estructura básica pero que es objeto de
estudio, puede aplicarse el llamado método de las perturbaciones.

Por ejemplo, un sistema podría responder a un ciclo anual de proceso, quizá


conocido, y se procura estudiar el efecto de pequeñas alteraciones en el régimen anual
introducidas por procesos en la escala semanal, los cuales aparecerían como
perturbaciones al comportamiento anual.

Se supone que el comportamiento básico del sistema satisface las ecuaciones


diferenciales planteadas, así como el comportamiento del sistema perturbado. Se supone
además que el producto de las perturbaciones (perturbación de segundo orden) es
despreciable con respecto a las perturbaciones originales (lineales o a primer orden).
Esta última hipótesis permite linealizar las ecuaciones diferenciales.

Si, por ejemplo, se plantea un sistema compuesto por un avión que vuela por efecto
de una fuerza impulsora F y frenado por la viscosidad turbulenta del aire. La segunda
ley de Newton conduce a una ecuación de la forma F -  v = m a, donde  representa el
coeficiente de viscosidad. Si se supone que la viscosidad es constante y se pretende que
la velocidad del avión también lo sea, o su aceleración constante, es muy fácil obtener
F. Sin embargo la viscosidad fluctúa en torno a un valor básico o en una magnitud ,
por lo cual se introducirán perturbaciones en la velocidad y en la constancia de la
aceleración, que puede escribirse como derivada de la velocidad. Puede notarse que esta
simple ecuación se transforma en un problema no lineal de muy difícil solución.

De esta manera, si  = o +  y v = vo + v, resulta que la ecuación se escribe

F – (o + )( vo + v) = m d(vo + v)/dt.

Si se desarrolla esta ecuación se obtiene una forma

F - o vo - o v – vo  - v = m dvo/dt + m dv/dt.

Puede notarse que los dos primeros términos del primer miembro deben ser iguales al
primer término del segundo, por suponer que el comportamiento básico del sistema
satisface la ecuación diferencial. Por otra parte, el último término del primer miembro
debe despreciarse por ser producto de perturbaciones y, por lo tanto, una perturbación
de segundo orden. En consecuencia la ecuación se reduce a

- o v – vo  = m dv/dt,

la cual es una ecuación diferencial lineal en las perturbaciones.

Si ahora se supone que la forma de las perturbaciones en la viscosidad , sería


posible intentar la búsqueda de soluciones a la perturbación en la velocidad.

Esquemas diferenciales en diferencias finitas


30

Sin embargo no siempre es posible resolver un problema por medio de la hipótesis de


perturbaciones sobre un comportamiento básico, y ni siquiera cuando la hipótesis es
válida, la ecuación o sistema de ecuaciones lineales resultante tiene una solución
analítica en las perturbaciones.

Por lo tanto, cuando no queda alternativa más que recurrir al modelado, se plantea el
problema de la discretización de un sistema continuo, la cual, como veremos, conduce a
un conjunto de cuestiones complejas.

La forma más simple de discretizar el campo continuo es por medio del método de
las diferencias finitas. La hipótesis básica parte de aplicar el teorema del valor medio
del análisis, que nos dice que en una función continua en un intervalo [a, b], existe un
punto xo en el intervalo para el cual la tangente coincide con la secante entre los puntos
a y b. Para este punto la derivada de la función f’(xo) = (f(b) – f(a)) / (b-a). Si se asume
que el intervalo es un entorno de xo de tamaño x y que la secante coincide con la
tangente en el punto medio del intervalo, se escribe

f’(xo) = (f(xo+x/2) – f(xo-x/2)) / x.

Esta es la hipótesis básica de la discretización en diferencias finitas, la cual será tanto


más aplicable cuanto más “suave” sea el comportamiento de la función, es decir, cuanto
más dominante sea la variabilidad en baja frecuencia.

En la práctica real, la discretización se suele expresar en términos de un incremento


 en cada variable. En sistemas tridimensionales en el espacio se escribe x, y, z y
t para intervalos de tiempo. Debe observarse entonces que, si el sistema es discretizado
de esta manera, no tiene sentido el cálculo de la derivada en el punto medio del
intervalo de discretización. Por lo tanto la derivada debe expresarse

f’(xo) = (f(xo+x) – f(xo-x)) / 2x.

En la nomenclatura usual, los puntos en la grilla se indican por medio de subíndices.


Por ejemplo, si se dispone de N+1 puntos en un continuo lineal, se enumeran los valores
posibles en el modelo de x como xi, para i desde 0 hasta N. De esta manera, la derivada
discretizada en el punto i puede calcularse

f’(xi) = (f(xi+1) – f(xi-1)) / 2x,


o bien simplemente
f’i = (fi+1 – fi-1) / 2x.

Esquemas adelantado, atrasado y centrado

El planteo de este esquema de discretización permite visualizar que podrían aplicarse


otras alternativas a la expresión de la derivada por medio de la secante. Por ejemplo,
pueden proponerse

f’i = (fi+1 – fi) / x o bien f’i = (fi – fi-1) / x.


31

Ambas expresiones son formas diferentes de aproximar la derivada por medio de la


secante, si bien sobre la base de hipótesis diferentes en relación con el teorema del valor
medio. La expresión de la izquierda se conoce como el esquema adelantado y, la de la
derecha, como el esquema atrasado. Al esquema propuesto inicialmente se lo llama
centrado.

Consistencia. Error de truncado.

Es necesario evaluar en qué medida y en qué sentido es un esquema mejor que otro y
si son todos igualmente válidos. Para ello se proponen algunos requisitos que todos los
esquemas deben cumplir. El primer requisito es la consistencia, en el que se plantea que
el esquema en diferencias finitas debe tender, en el límite cuando el intervalo de
discretización tiende a cero, a la forma de la derivada.

Para evaluar la consistencia se aplica el teorema de Taylor al desarrollo en serie


polinómica de la función f(x) en xi+1, es decir

fi+1 = fi + f’i x + f’’i x²/2! + f’’’i x³/3!.

De la expresión anterior resulta

fi+1 – fi = f’i + f’’i x/2! + f’’’i x²/3!.


x
y, por lo tanto
f’i = fi+1 – fi – f’’i x/2! – f’’’i x²/3!.
x

Puede verse que en el límite cuando x tiende a cero, el cociente tiende a la derivada. Si
se desprecian en la aproximación los términos de orden superior a uno en el desarrollo,
resulta que el error en la aproximación de la derivada por la secante está dado por un
desarrollo que se conoce como “error de truncado”. El orden de x en el primer
término, que contiene una constante (f’’i/2) que multiplica a x, indica el orden del
error de truncado de la aproximación discreta y se dice que en el método adelantado es
de primer orden porque x tiene como exponente uno.

La expresión
fi-1 = fi + f’i (-x) + f’’i (-x)²/2! + f’’’i (-x)³/3!

permite desarrollar en serie la función en el punto i-1. El mismo procedimiento anterior


conduce a la aproximación del método atrasado como

f’i = fi – fi-1 + f’’i x/2! – f’’’i x²/3!,


x

nuevamente el error de truncado es de primer orden aunque con diferente signo.

En el caso del método centrado, pueden restarse las expresiones de fi+1 y de fi-1. Se
observa que los términos de orden par en el desarrollo se cancelan y la expresión de la
derivada resulta
32

f’i = fi+1 – fi-1 + f’’’i x²/3! +...


2x
Puede verse entonces que el error de truncado en el método centrado es de segundo
orden, lo cual muestra que es una mejor aproximación que los métodos adelantado y
atrasado.

Convergencia y estabilidad

Otro requisito que se impone al esquema de discretización es que el problema,


escrito en términos de ecuaciones en diferencias finitas, tenga la misma solución que el
sistema escrito en términos de ecuaciones diferenciales. Este requisito es necesario
desde el punto de vista que lo que se pretende es modelar un proceso real y se pretende
encontrar una solución real al proceso y no un artificio computacional. Se dice que se
requiere que la solución del sistema discretizado converja a la solución del sistema
diferencial cuando el tamaño del intervalo de discretización tienda a cero. Es decir, que
la solución aproximada tienda a la solución real.

Es claro que la única manera de verificar la convergencia en sí misma es conocer la


solución del sistema diferencial y compararla con el sistema discretizado. Sin embargo,
si se conoce la solución al sistema diferencial carece de sentido la discretización, si bien
esta limitación puede ser indirectamente resuelta.

Otro requisito es la estabilidad. Se dice que la solución de la aproximación en


diferencias finitas es estable si la solución se mantiene acotada en la medida que se
desarrolla el proceso de cálculo del sistema discretizado.

Un teorema, conocido como de Lax-Wendroff, prueba que si un esquema en


diferencias finitas es consistente y estable, entonces es convergente, lo cual garantiza la
representatividad de la solución.

Veremos, sin embargo, que para verificar la estabilidad no existe una metodología
tan simple como la verificación de la consistencia, y que requiere el estudio de la
respuesta del esquema en diferencias finitas para casos particulares del comportamiento
del sistema.

Métodos de relajación

Hay ciertos problemas típicos que presentan la posibilidad de aplicación de algunos


métodos de resolución. Entre ellos se encuentra la ecuación elíptica, que en una
dimensión presenta la forma d²f(x)/dx² = F(x). Un ejemplo puede ser la ecuación de un
resorte cuya constante elástica es función del estiramiento, es decir, k = k(x); por lo
tanto la ecuación a resolver es de la forma d²x/dt² = (-k(x)/m) x. Es claro que la ecuación
en la cual k es constante es un caso particular, pero que tiene una solución conocida
oscilatoria.

Puede suponerse que en esta ecuación sólo se posee información acerca del valor de
la constante para ciertos estiramientos medidos del resorte, es decir, de un campo
escalar de números que pueden interpolarse para ser adaptados a la grilla en la que se ha
discretizado el continuo posición.
33

Para hallar la expresión de la derivada segunda combinaremos el método adelantado


y el método atrasado, es decir,

f’’i = (f’i+1 – f’i) / t = (fi+1 – fi) / t – (fi – fi-1) / t / t.

Esta expresión, aplicada a la ecuación elíptica, resulta igual a

f’’i = (fi+1 + fi-1 – 2fi) / t² = Fi.

Esta ecuación, con un simple pasaje de términos, queda expresada

(fi+1 + fi-1 – 2fi) – t² Fi = 0.

Como en la discretización no se obtiene una igualdad exacta, en realidad habrá un resto


Ri o diferencia entre los dos términos de la ecuación discretizada, es decir,

(fi+1 + fi-1 – 2fi) – t² Fi = Ri,

Si se dispone de N+1 puntos discretos, de los cuales N-1 serán interiores al eje
discretizado y dos serán condiciones de borde, se observa que resulta un sistema de N-1
ecuaciones similares a la propuesta y dos ecuaciones que contienen las condiciones de
borde, con lo cual se dispone de un sistema (tridiagonal) de N+1 ecuaciones con N+1
incógnitas. Este sistema es resoluble para dominios pequeños, pero si el dominio
contiene varios cientos de puntos, el número de operaciones resultaría muy grande (del
orden de (N+1)³), sin embargo ofrece la ventaja de no ser un método iterativo sino
exacto. Recuérdese además que se ha planteado un problema lineal, cuando en la
práctica interesan dominios bidimensionales y volúmenes.

El método de la relajación se ofrece como alternativa iterativa a la resolución del


problema. La idea central es la de reducir el residuo Ri modificando los valores de fi en
cada punto. Se usará como notación del paso h de iteración fi,h y el residuo Ri,h.
Suponemos que se elije el fi,h+1 de tal manera que en el paso iterativo siguiente al h el
residuo se anula, es decir Ri,h+1 = 0. Por lo tanto quedarán dos ecuaciones

(fi+1,h + fi-1,h – 2fi,h) – t² Fi = Ri,h,


(fi+1,h + fi-1,h – 2fi,h+1) – t² Fi = 0,

que al restarlas dan por resultado

fi,h+1 = fi,h + Ri,h / 2.

Esta ecuación es la que permite ajustar iterativamente el valor de fi. Puede notarse
que al modificar el valor de fi para todo i, en realidad se pretenderá que se anule la
expresión
(fi+1,h+1 + fi-1,h+1 – 2fi,h+1) – t² Fi = 0,

sin embargo esto no ocurrirá y se obtendrá un residuo Ri,h+1. Como se modifica el


valor de todos los puntos a la vez, el método se llama de relajación simultánea. El
proceso se inicia suponiendo una solución nula para todos los puntos (Ri,o = 0) y
34

termina cuando el residuo es menor que una cota preestablecida (Ri,h < ). Puede
notarse que el error se evalúa en cada punto, por lo tanto se impone el  como una cota
superior del error admitido. Pero también puede imponerse un límite en la suma de los
módulos o la suma de los cuadrados o varios criterios simultáneos.

El método de relajación secuencial propone la forma fi+1, h + fi-1, h+1 – 2 fi, h - x² Fi
= Ri, h. De esta manera, imponiendo una solución inicial sólo en i = 0 e i = 1, se obtiene
el resto de los coeficientes. Para acelerar el proceso se suele utilizar un coeficiente de
sobrerelajación (Ri,h / 2), lo cual requiere un análisis cuidadoso para que el método no
se inestabilice. En general estos métodos no se recomienda que sean aplicados a
dominios excesivamente grandes, dependiendo esto de la velocidad y capacidad del
sistema.

Métodos espectrales

Si se observa la existencia de periodicidades, tanto en el forzante F como en la


solución f, puede pensarse en aplicar una descomposición espectral en ambos y utilizar
la propiedad de ortogonalidad de los modos de vibración.

En la descomposición espectral hay límites a las longitudes de ondas resolubles,


dados por la longitud del dominio y por la distancia entre puntos, siendo la longitud de
onda más corta resoluble 2x.

Se descompone espectralmente en armónicos de Fourier tanto la función f(x) como el


forzante F(x).
f(x) =f + (aj sen(2jx/n) + bj cos(2jx/n)),
F(x) =F + (Aj sen(2jx/n) + Bj cos(2jx/n)),

Si se supone nuevamente una ecuación de la forma f’’(x) = F(x) y suponiendoF = 0,


resulta

–(2j/n)² (aj sen(2jx/n) + bj cos(2jx/n)) = (Aj sen(2jx/n) + Bj cos(2jx/n)).

Como la igualdad debe valer para todo x, y por ortogonalidad de los armónicos y de las
funciones seno y coseno, debe valer

aj = – Aj / (2j/n)² y bj = – Bj / (2j/n)².

Conocido entonces el forzante y su descomposición espectral, puede hallarse la


recomposición espectral de la serie que representa la función a hallar.

Combinaciones de esquemas. Métodos iterativos.

Plantearemos la posibilidad de combinar esquemas de representación discreta de la


derivada en ecuaciones de la forma df/dx = F(f, x), por ejemplo un movimiento en un
fluido para el cual la fuerza de fricción viscosa depende de la velocidad y se supone
además que también depende del tiempo (dv/dt = -(t).v). Clasificaremos el conjunto de
esquemas en no iterativos de dos niveles (adelantado, atrasado y centrado), esquemas
iterativos (Matsuno, Runge-Kutta) y esquemas no iterativos de tres niveles (leap-frog y
35

Adams-Basforth). La aplicación de estos métodos requiere conocer la función F(f, x)


asociada con el forzante.

El método adelantado (o de Euler) se llama explícito porque permite despejar


directamente la función f en el paso de iteración siguiente y utiliza el esquema
adelantado. Para una ecuación de la forma propuesta resulta

fn+1 – fn = x F(fn, xn) = xFn.

Dado un cierto valor de f inicial fo, f1 = fo + x Fo, el valor de f1 permitirá calcular el


de f2 y así sucesivamente.

El método atrasado responde al esquema

fn+1 – fn = xFn+1.

Es claro que despejar el valor de fn+1 en función de fn, x y xn requerirá operar sobre
Fn+1 para extraer el valor de fn+1, por lo cual se lo llama implícito. Resulta, por lo tanto,
de una mayor complejidad algebraica.

El método centrado (o trapezoidal), también implícito, responde a un esquema de la


forma
fn+1 – fn = x (Fn + Fn+1) / 2.

Puede notarse que la complejidad algebraica es aún mayor. El método adelantado y el


atrasado tienen un error de truncado de primer orden, y el método trapezoidal, de
segundo orden, lo cual lo hace más conveniente. Más adelante veremos que el método
atrasado ofrece algunas ventajas sobre el método adelantado.

Por el momento plantearemos un problema poblacional donde supondremos que el


crecimiento poblacional disminuye con el tiempo de acuerdo con una ecuación de la
forma dP/dt = P / ln(1 + reexp(-t)). El método adelantado nos permite discretizar la
ecuación en la forma Pn+1 = Pn + t Pn / ln(1 + reexp(-tn)). Resulta así que el modelo es
fácilmente integrable en forma numérica para cada paso de tiempo, pero suele ser muy
difícil, y a veces imposible, encontrar una forma explícita de la función primitiva que
permita determinar la forma funcional de la ecuación. Puede notarse también que la
aplicación de los métodos implícitos es de más difícil, y a veces imposible, planteo
algebraico.

Los métodos iterativos permiten resolver el problema algebraico de los métodos


implícitos. El método de Matsuno (o de Euler atrasado), que también posee un error de
truncado de primer orden, consta de dos pasos. En el primero se realiza un cálculo
preliminar de fn+1 por medio del método adelantado para obtener

fn+1* = fn + x fn,

con este valor de fn se calcula el término Fn+1 = F(fn+1*, xn+1), el cual se aplica a la
obtención del “verdadero” fn+1.

fn+1 = fn + x F(fn+1*, xn+1).


36

El método de Runge-Kutta simplificado combina el método adelantado para la


primer aproximación iterativa y el método trapezoidal en el segundo paso, con lo cual
posee un error de truncado de segundo orden.

fn+1* = fn + x fn,
fn+1 = fn + x (Fn+1* + Fn) / 2.

El método completo de Runge-Kutta alcanza un error de truncado de cuarto orden


combinando distintos mecanismos de “carácter trapezoidal”. Sean

ko = x F(fn, xn) k1 = x F(fn+ko/2, xn+x/2)


k2 = x F(fn+k1/2, xn+x/2) k3 = x F(fn+k2, xn+x).
fn+1 = fn + (ko + 2 k1 + 2 k2 + k3) / 6.

Los métodos no iterativos de tres niveles en el tiempo combinan el método centrado


en la expresión de la derivada con diferentes opciones en la discretización del forzante.
El método leap-frog (salto de rana) tiene un error de truncado de segundo orden y
responde al esquema
fn+1 – fn-1 = 2 x Fn.

El método de Adams-Basforth (simplificado), con un error de truncado de primer


orden, responde al esquema
fn+1 – fn-1 = x (3/2 Fn – ½ Fn-1).

Evaluación de la estabilidad

El análisis de la estabilidad requiere cierto conocimiento del sistema que se pretende


modelar. En este sentido se estudia el comportamiento del esquema bajo las condiciones
“típicas” en las que tendrá que funcionar y que deberá representar “adecuadamente”.

Es frecuente que se analice el comportamiento del esquema bajo la suposición que


deberá responder a ondas de diferente frecuencia y que, por otra parte, suele ser
conveniente la descomposición espectral para el análisis de la respuesta del sistema a las
distintas frecuencias. Se supone así una solución oscilatoria conocida y estudia la
respuesta del esquema a la conservación de la amplitud y la fase de la onda.

Supondremos una ecuación de la forma f’(x) = if(x), cuya solución es la oscilatoria


armónica. Si se supone una solución ondulatoria pura, la expresión puede escribirse en
términos de una exponencial imaginaria utilizando el teorema de De Moivre (exp(i) =
cos() + i sen()). Por lo tanto la solución se escribirá f(x) = foexp(ix), donde fo es la
amplitud y  es la frecuencia angular de la onda, que por simplicidad supondremos de
fase inicial cero sin que esto reste generalidad porque interesarán los corrimientos de
fase. Analizaremos, a modo de ejemplo, el comportamiento de los esquemas no
iterativos en forma conjunta. En estos esquemas en general puede escribirse la
discretización en la forma
fn+1 – fn = i  x (fn + fn+1),
37

donde si  = 1 y  = 0 se trata del esquema adelantado, si  = 0 y  = 1 es el atrasado y


si  =  = ½, es el trapezoidal. Puede notarse que puede elegirse cualquier combinación
de  y  en la medida que la suma de uno. Escribiremos el cambio de fase en cada paso
de iteración como  = t. Si despejamos ahora fn+1 de la ecuación resultante, queda

fn+1 = (1 + i) fn =  fn.


(1 – i)

En esta ecuación  es complejo ( = r + ii) y el cambio de fase de la onda generada


por el modelo valdrá  = arc tg (i/r). Será necesario estudiar el módulo de , que
resultará igual a  = fn+1/fn. Puede notarse que fn = n fo, por lo tanto el
esquema será convergente si   1 y divergente si   1. La estructura del esquema
puede escribirse fn+1 =  exp(i) fn, con lo cual será necesario que el cambio de fase
de la solución numérica  coincida con el cambio de fase de la solución real , es decir,
que la fase de la onda resuelta por el esquema numérico se desplace con la misma
velocidad que la onda real. En síntesis, las dos variables a estudiar para analizar la
estabilidad son  y . Lo ideal es que  = 1, pero si   1 se asegura la
estabilidad, aunque habrá un amortiguamiento de la amplitud de la onda. Si   1 será
inestable, pero aún será posible analizar cuántos pasos de iteración admite el sistema
antes de que la amplitud sea irreal o el desarrollo computacional lleve a un error de
“overflow”. En síntesis, después de n iteraciones del modelo, el cambio en amplitud de
la onda será n y el cambio en la fase valdrá n.

En el caso adelantado puede verse que  = 1+², por lo cual es siempre >1 y
el esquema resulta inestable siempre, absolutamente inestable o incondicionalmente
inestable. El error en la fase se calcula a través de un desarrollo en serie de  =  - ³/3
+ .... El error relativo, dado por |( - ) / | = ²/3 = ²x²/3, que se reduce
cuadráticamente con la reducción de x y que tras n iteraciones valdrá n ²x²/3. Este
error en general tiene poca importancia en ondas de baja frecuencia ( chico). En
primera aproximación del desarrollo de la raíz cuadrada, se observa que el error en la
amplitud resulta n  1 + n ²x²/2. Puede notarse que este error también tiene
poca importancia en la baja frecuencia, pero para valores altos de  tanto el error en la
fase como en la amplitud comienzan a ser importantes.

En el método atrasado  = 1 / 1+²  1, por lo cual es incondicionalmente


estable, pero amortigua la amplitud de la onda. El error en la fase es similar al anterior,
pero atrasa la fase en relación con la onda real en lugar de adelantarla. El error en
amplitud también es similar pero amortiguando la onda.

En el método trapezoidal  = 1+²/4 / 1+²/4 = 1, por lo cual es neutro en la


amplitud e incondicionalmente estable. Para la fase puede probarse que el error relativo
vale ²x²/12, con lo cual es menor que los anteriores.

El análisis del esquema de Matsuno muestra que es condicionalmente estable, es


decir, que para valores de  menores que uno es estable, por lo tanto, para   1/x, es
neutro para  = 1/x e inestable para   1/x; por lo tanto es estable para una banda
de frecuencias (bajas) e inestable para otra banda (altas). La presencia de ondas en
diferentes bandas provocará respuestas diferenciales del método, en este sentido no es
38

aconsejable si se requiere simular un espectro muy amplio o si la presencia de alta


frecuencia es habitual. Produce un adelanto en la fase. El método de Runge-Kutta
resulta incondicionalmente inestable y atrasa en la fase.

El esquema “leap-frog” es condicionalmente estable y el de Adams-Basforth es


incondicionalmente inestable. Además del problema de la estabilidad, en los esquemas
en tres niveles surge un problema adicional. El “leap-frog” se escribe fn+1 – fn-1 = 2 x
Fn, que para la ecuación propuesta resulta fn+1 – fn-1 = i  fn. Si suponemos el caso
particular en el cual  = 0 resulta que fn+1 = fn-1, con lo cual quedan indefinidos todos
los valores intermedios de f (f0 = f2 = f4 = ...., pero no se definen f1, f3, ...). Esto lleva a
una indeterminación en las soluciones. Más precisamente y en un caso general, resulta
que los valores pares de la discretización se definen a partir de f0 y los valores impares a
partir de f1. Los dos conjuntos de soluciones lo son del sistema numérico, pero no tienen
el mismo significado, más aún, una de las soluciones representa el llamado “modo
físico” y la otra un “modo computacional” espúreo que contamina la solución del
modelo.

Con estos esquemas suele usarse el esquema adelantado como primer paso de
integración y luego aplicar el esquema en tres niveles. A medida que transcurre el
proceso de cálculo, el modo físico se irá “contaminando” con soluciones del modo
computacional. Para que este proceso se atenúe se promedian ambos modos cada cierto
número de pasos, pero nunca se resuelve el problema en forma definitiva. El esquema es
condicionalmente estable para las ondas que cumplen   1. El error de truncado es
de segundo orden. El modo físico es atrasado en la fase y el computacional es
adelantado. En las altas frecuencias se observan saltos de fase en el modo
computacional.

El esquema de Adams-Basforth también presenta un modo computacional y es


incondicionalmente inestable.

Para estudiar el comportamiento de los esquemas en los términos disipativos se


plantea una ecuación de la forma f’(x) = - f(x). La solución será de tipo exponencial
negativa.

En el esquema adelantado el parámetro  resulta igual a 1 – x, con lo cual el


método es condicionalmente estable para valores de x tales que x  2. En el
esquema atrasado vale  = 1 / (1+x), por lo cual es incondicionalmente estable. Lo
mismo ocurre con el método trapezoidal en el cual  = (1 – x) / (1 + x).

El esquema de Matsuno es condicionalmente estable para   1. El esquema de


Runge-Kutta (simplificado) es también condicionalmente estable para   2.

En los esquemas en tres niveles puede probarse que es incondicionalmente inestable


para modo computacional en los términos disipativos e incondicionalmente estable el
modo físico.

En la práctica puede hacerse una combinación adecuada de esquemas. Por ejemplo,


para una ecuación de la forma f’(x) = if(x) –  f(x), es decir, que combina un término
oscilatorio con otro disipativo, podrían aplicarse diferentes combinaciones de esquemas
39

como fn+1 – fn = x (ifn+1 – fn), es decir, atrasado en el término oscilatorio


(incondicionalmente estable) y adelantado en el término disipativo (condicionalmente
estable).

Ecuación advectiva

En lo que sigue plantearemos un problema en derivadas parciales de primer orden.


La ecuación advectiva es una ecuación diferencial que admite la propagación de una
propiedad o perturbación en el espacio a medida que transcurre el tiempo. Tiene la
forma

f/t + c f/x = 0.

El valor de c es constante y representa la velocidad de propagación de la propiedad. La


solución general puede escribirse como suma de ondas de acuerdo con la
descomposición en serie de Fourier. El análisis de las condiciones de estabilidad
conduce al criterio c t/x  1, conocido como de Courant-Friedrich-Levy (CFL). En
este criterio c no es controlable, x impone condiciones sobre la memoria a utilizar del
sistema, pero t sólo sobre el tiempo de procesamiento, por lo cual es la variable a
utilizar para controlar la condición de estabilidad. Este criterio puede interpretarse como
que se produce una inestabilidad en el modelo si la onda asociada al sistema y que se
pretende describir viaja más rápido que la “velocidad del paso computacional”, es decir,
si c  x/t.

En la resolución de esta ecuación es posible aplicar diferentes esquemas para cada


término, lo cual modificará ligeramente el criterio de estabilidad. Como, por otra parte,
hay un límite de resolución espectral dado por la discretización en el espacio y suele
ocurrir que no todas las ondas se mueven con la misma velocidad de fase, pueden surgir
varios problemas en la aplicación del esquema.

Dispersión computacional

Al hablar de ondas dispersivas dijimos que son ondas cuya velocidad de fase
depende de la frecuencia. En estos sistemas c = c() = c(k), donde k es el número de
onda y  es la frecuencia. La aplicación del criterio CFL en la ecuación advectiva
resulta entonces más compleja porque habrá inestabilidad para algunas ondas mientras
que otras serán estables. En general las ondas cortas se inestabilizan mientras que se
conserva la estabilidad en las ondas largas.

Más complejo aún es el problema en el que el modelo propaga ondas de diferente


frecuencia con diferente velocidad, o bien con distinta dispersión que el sistema real. En
estos casos es necesario estudiar la velocidad de grupo generada por el modelo, con la
cual se propaga la energía del sistema simulado.

“Aliasing”

Este término, para el cual no existe traducción, se refiere a un problema particular


que presentan las ondas cortas y cuya implicación va más allá de la modelización
numérica presentándose en diferentes campos del análisis de la información.
40

Cuando se discretiza un sistema continuo se impone un límite a la resolución


espectral, de manera tal que ondas con longitud menor que dos veces el tamaño de la
discretización no son visibles por el modelo (  2x). Las longitudes más cortas,
correspondientes a frecuencias mayores, pueden estar presentes en el sistema y por lo
tanto ser reales, pero no será posible representarlas en el modelo. Estas ondas cortas,
presentes en los datos numéricos al inicializar el modelo, no serán interpretadas
correctamente y distorsionarán el resultado. El aliasing consiste en la interpretación que
hace el modelo de las ondas cortas no resolubles dentro del rango de ondas resolubles,
es decir, la transferencia espúrea de energía del sistema desde la alta frecuencia hacia la
baja frecuencia, que es a su vez la más alta frecuencia resoluble por el modelo. Por lo
tanto el efecto es el de acumular energía en regiones de alta frecuencia visible.

En los sistemas lineales es posible eliminar el efecto si se eliminan las ondas de alta
frecuencia no visibles por el modelo en los datos iniciales, pero veremos que esto no
puede hacerse en los sistemas no lineales en los que el modelo genera su propia alta
frecuencia por interacción entre escalas de variabilidad.

Ecuaciones no lineales. Comportamiento caótico.

El problema general de los sistemas no lineales, que es la generalidad de los sistemas


físicos no lineales, lo plantearemos a través de una ecuación no lineal que contiene un
término de la forma
f(x) f/x + .... = 0 = (f²/2)/x + .....

En esta ecuación el producto de f(x) conduce a la aparición de un término cuadrático


dentro de la derivada. Si se supone que la solución puede descomponerse en armónicos
de la forma f(x) = sen(kx), resulta que la derivada de f²(x) adquiere la forma

k sen(kx) cos(kx) = k/2 sen(2kx),

donde k es el número de onda –o podría representar la frecuencia– y puede notarse la


aparición de una duplicación de la frecuencia presente como solución y generada por el
mismo modelo. Ya se ha planteado el problema de la inestabilidad en relación con la
alta frecuencia, el aliasing y la no resolubilidad de los modelos en general. Vemos que
en un sistema no lineal la alta frecuencia es generada por el mismo sistema,
transfiriendo energías entre diferentes escalas de variabilidad.

Resulta así que en los sistemas no lineales es inevitable enfrentar ecuaciones no


resolubles por los modelos. Esto no quiere decir que los modelos no ofrecen solución,
sino que esa solución no representa la realidad. Uno de los problemas asociados con las
ecuaciones no lineales es el llamado comportamiento caótico. Hace poco más de treinta
años se probó, en relación con el estudio de las ecuaciones dinámicas no lineales que
describen el movimiento de la atmósfera, que ciertos problemas de impredictabilidad no
estaban condicionados por la falta de modelos adecuados, sino que era un problema
intrínseco de las ecuaciones no lineales.

Se dice que un sistema es caótico cuando es determinístico para determinadas


condiciones iniciales y de contorno, es decir que, aplicando los mismos esquemas a las
mismas ecuaciones con los mismos datos se obtenga el mismo resultado. Pero la
41

alteración de algunos de los parámetros iniciales, de contorno, coeficientes o método


altera completamente la solución al extremo de obtener resultados diametralmente
opuestos. Este ha sido el factor teórico limitante para que la extensión del pronóstico del
tiempo, obtenido por médios dinámico-computacionales, no pueda extenderse más allá
de unas dos semanas, si bien en la práctica la confiabildad es mucho menor, no
llegándose más allá de los siete días en las mejores condiciones.

En este sentido, la no linealidad, a través del comportamiento caótico, ha impuesto


un nuevo límite, en algún sentido comparable con el principio de incertidumbre de
Heisenberg, a la capacidad predictiva de la física.

Modelos anidados y acoplados. Parametrización.

Una de las limitaciones a la aplicación de la discretización en puntos de grilla es el


requerimiento de uniformidad del retículo. En ocasiones se requiere una mayor
resolución en algunas regiones del dominio que en otras. Imagínese por ejemplo el flujo
de agua por una tubería recta hasta alcanzar un codo. Es claro que el mayor problema
estará en la curvatura, sin embargo imponer una mayor resolución en esa región
equivaldría a extenderla a todo el dominio, en el resto del cual resultaría innecesario y
quizá impondría exigencias computacionales demasiado grandes. Puede aplicarse un
cambio de coordenadas, por ejemplo, coordenadas polares centradas en un punto fuente.
Pero esto plantea el problema del cambio de coordenadas y la aparición de puntos
singulares, como el punto origen.

Una alternativa es el uso de modelos anidados, en los cuales se subdivide el dominio


en una malla uniforme de “paso grueso” y en otra malla de “paso fino” en la región de
interés. Funciona como dos modelos que corren simultáneamente y que se comunican
por medio de los puntos de contacto entre mallas. Si bien esto permite una mejor
resolución en la región de interés, en la que podrán resolverse ondas más cortas, éstas
ondas sin embargo no serán resueltas por el modelo de grilla más espaciada. Es decir
que el problema sólo será parcialmente resuelto en la región de la malla fina pero las
propiedades de la malla gruesa influirán sobre la resolución general del modelo.

Una variante de mayor interés que los modelos anidados son los modelos acoplados.
Por ejemplo, si se quiere simular el comportamiento del río Paraná frente a nuestras
costas, deberá considerarse el efecto de las mareas, las cuales serán resueltas por un
modelo oceánico, el efecto del viento y la lluvia, que será resuelto por un modelo
atmosférico, y el comportamiento del Paraná será descripto por un modelo propio.
Además podría modelarse el comportamiento de los afluentes, de las napas freáticas, del
impacto de las ciudades y las islas. Cada uno de estos subsistemas requerirán el diseño
de un modelo adecuado a cada sistema y luego deberán comunicarse entre sí o
“acoplarse” para dar cuenta del funcionamiento del sistema completo. La comunicación
entre modelos se realiza por medio de ecuaciones que tienen en cuenta las interacciones.
Por ejemplo, el caudal aportado por los afluentes, las descargas urbanas e industriales,
una ecuación que responda al forzante del viento y al efecto de las mareas. Estas
ecuaciones son bidireccionales, es decir que no tienen en cuenta sólo el efecto de los
subsistemas sobre el que se pretende describir sino las interacciones. Así resulta posible
generar un acople progresivo de modelos que incorporen diferentes fuentes de
variabilidad asociadas con un sistema bajo estudio.
42

Otro punto a considerar en el diseño de modelos es la parametrización de las


ecuaciones, que no siempre coincide con los parámetros medidos en forma directa.
Como ejemplo puede tomarse la altura de las cordilleras en los modelos atmosféricos,
que es siempre menor que la real para evitar problemas de inestabilidad en los modelos
y porque lo que interesa reproducir no es la geografía sino el efecto de la montaña sobre
el flujo de aire, para lo cual se evalúa la altura adecuada en el modelo para que el efecto
sea más realista. Otras veces es posible simular procesos por medio de parámetros
asociados con otros factores. Por ejemplo, es frecuente que en algunos modelos
atmosféricos que no poseen variables termodinámicas se simule el efecto del
calentamiento local oceánico, que produce un ascenso de aire, por medio de una
elevación orográfica que produzca un efecto similar.

Elementos finitos

En el método de las diferencias finitas la discretización del continuo se establece


sobre la base de un conjunto de puntos de grilla en los cuales se calcula la solución
numérica de la ecuación diferencial. En el método de elementos finitos la discretizacion
se configura sobre la base de un conjunto de elementos de longitud, área o volumen
finitos y de forma geométrica arbitraria pero simple, de manera tal que el arreglo de
elementos finitos se ajuste mejor a una geometría irregular. No quiere esto decir que el
método de elementos finitos sea siempre mejor que el método de diferencias finitas,
pero es particularmente apto para problemas con geometrías complejas.

En el continuo hay campos de diferentes variables, lo cual conduce a un número


infinito de incógnitas. La discretización reduce el problema a un número finito de
ecuaciones e incógnitas, con soluciones aproximadas dentro de cada elemento. Las
funciones aproximantes se obtienen a través de técnicas de interpolación entre puntos
nodales.

La solución dependerá del número y forma de los elementos finitos, pero también de
las funciones de interpolación seleccionadas. Se eligen funciones interpolantes cuyos
valores y derivadas sean continuas en el contorno del recinto.

Hay tres alternativas para conformar las ecuaciones elementos finitos:


-Las propiedades estructurales de los elementos finitos pueden formularse en forma
directa cuando la geometría es simple, y expresarse el conjunto de ecuaciones en forma
matricial.
-Estas propiedades pueden ser establecidas por métodos variacionales (principios de
energía mímima, tiempo mínimo, etc.), adaptable a geometrías más complejas.
-La aproximación por residuos pesados se apoya en las ecuaciones básicas del medio.

El procedimiento puede resumirse en las siguientes etapas:


1. Discretizar el continuo.
2. Seleccionar funciones de interpolación.
3. Hallar las propiedades de los elementos (aproximación directa, variacional o de
residuos pesados)
4. Arreglar las propiedades de los elementos para obtener un sistema de ecuaciones.
5. Imponer condiciones de contorno.
6. Resolver el sistema de ecuaciones.
7. Interpretación y cálculos complementarios.
43

Pueden establecerse tres categorías de aplicación del método de elementos finitos. En


primer lugar a problemas de equilibrio o independientes del tiempo. En una segunda
categoría se encuentra el problema de autovalores, en el cual se busca modos propios de
variación de los sistemas. En una tercer categoría se hallan los problemas dependientes
del tiempo o problemas de propagación.

Aproximación directa. Interpretación física.

El primer paso es reemplazar un sistema complejo por un sistema idealizado


equivalente que consiste en un conjunto de elementos individuales conectados entre sí
por puntos de contacto (intercambio) o nodos. Una vez que los elementos hayan sido
establecidos, un razonamiento físico directo permitirá configurar las ecuaciones en
términos de ls variables pertinentes. Se combinarán estas ecuaciones para formar un
sistema matemático que describa el sistema físico.

Un análisis en elementos finitos plantea, como primer etapa, el reemplazo del


sistema complejo por un sistema idealizado equivalente que consiste en elementos
individuales conectados entre sí por puntos llamados nodos. En algunos casos es simple
y casi evidente cuáles deben ser los elementos y usar un razonamiento físico directo
para establecer las ecuaciones y variables correspondientes.

En este caso hay seis pasos esenciales para derivar la forma estructural de una matriz
elemental.
1. Asumir la forma funcional del campo de desplazamientos dentro de un elemento.
2. Expresar el campo de desplazamientos en términos de los desplazamientos
definidos en los nodos.
3. Introducir las ecuaciones que relacionan las tensiones con los desplazamientos y
determinar el estado de tensiones del elemento correspondiente a determinado
campo de desplazamientos.
4. Escribir las ecuaciones que expresan las leyes físicas asociadas al sistema, e
introducir la influencia de las propiedades del material del elemento.
5. Escribir las ecuaciones de equilibrio para el elemento para establecer las
relaciones entre los desplazamientos nodales y las fuerzas nodales.
6. Combinar los resultados de los pasos 1 a 5 y derivar algebraicamente la matriz
del elemento.

La siguiente etapa consiste en compaginar las matrices elementales en una única


matriz que describa el sistema. Para ello se establecen los siguientes pasos:
1. Definir un conjunto de matrices nulas de n x n y de n x 1, donde n es el número
de nodos del sistema.
2. Transformar –si es necesario- el sistema de coordenadas local al global de cada
elemento en el orden de definición.
3. Ajustar la matriz de cada elemento en términos de la estructura general.
4. Ajustar los índices locales a los índices globales del sistema.
5. Insertar estos términos en las matrices maestras en la localización
correspondiente al subíndice.
6. Recorrer todos los elementos –desde el paso 2- y sumar las matrices
elementales para confeccionar la matriz del sistema.
44

La matriz resultante en general tiene un aspecto diagonal en una banda de cierto


ancho, dependiente de la conectividad de los nodos. Este tipo de matrices suele tener
métodos de solución relativamente más simples que una matriz general de n x n.

Deben introducirse las condiciones de contorno, procurando la restricción de al


menos un grado de libertad al sistema para que tenga solución y no se presente una
matriz singular (determinante nulo).

La aplicación de métodos variacionales permite ampliar la aplicación del método de


elementos finitos.

El problema de los dominios irregulares, para los cuales se propuso el uso de


modelos anidados, admite también la utilización de los elementos finitos, de amplia
aplicación en diversas ramas de la ciencia y la ingeniería. Como todos los métodos
propuestos, ofrecen tanto ventajas como desventajas.

Si planteamos un problema diferencial genérico, lo que se pretende es hallar la


función f(x,t) que lo resuelva. En general puede pensarse que la función puede
descomponerse en funciones ortogonales, dependientes de las coordenadas espaciales
(i(x)) y coeficientes dependientes del tiempo ci(t), de manera tal que la solución se
escriba

f(x,t) =  ci(t) i(x).

En esta descomposición ortogonal, las funciones i(x) pueden ser armónicos de


Fourier, polinomios ortogonales o alguna otra descomposición. Una vez que se dispone
de las funciones i(x) sólo se requiere conocer la evolución temporal de los coeficientes
para obtener la evolución de la solución con el tiempo.

El planteo general es escribir el problema diferencial D(f) = F(x,t) y proponer una


solución alternativa. En general D(f) – F(x,t)  0 y D(f) – F(x,t) = R, donde R es un
residuo a minimizar. Se procura minimizar la integral sobre todo el dominio espacial del
cuadrado de los residuos.

Proponemos una expresión para D(f) de la forma D(f) = bii(x), con lo cual resulta

R² dx dy dz =  bii(x) – F(x,t)² dx dy dz,

que al ser derivada con respecto a bj e igualada a cero resulta

2j(x,t) bii(x) – F(x,t) dx dy dz = 0,

reemplazando luego a f(x,t) =  ci(t) i(x) y a bii(x) por D(f), e intercambiando la


sumatoria e integral por la ortogonalidad e independencia entre los modos de variación,
queda

cijD(i) dx dy dz = j F(x,t) dx dy dz

que puede escribirse sintéticamente en la forma


45

ci Aji = (j, F),

donde los Aji = jD(i) dx dy dz y (j, F) = j F(x,t) dx dy dz. Puede verse así que
queda un sistema de ecuaciones en los ci(t) donde t corresponde al de F(x,t) y es posible
así obtener la evolución temporal de los coeficientes.

Resulta así que la aplicación de condiciones de ortogonalidad, minimización


cuadrática, resolución de ecuaciones lineales y aun la integración numérica forman parte
de la aplicación de la discretización en elementos finito

Anda mungkin juga menyukai