Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En problemas matemáticos, en especı́fico en el área donde nos movemos, es decir, buscar soluciones a
problemas computacionalmente, existen dos tipos de resolución, directos e iterativos. El primero busca
la solución del problema mediante el cálculo explicito de la solución y en el segundo se busca resolver
el problema aproximandose sucesivamente a la solución. Además, en contraste, el segundo tiene la
particularidad de que es mejor en uso de recursos cuando ingresamos estructuras más masivas, de aqui
la importancia en Large Sparse Systems. Por ejemplo, la importancia de estos en algoritmos de algebra
lineal es que los metodos no iterativos (la mayoria, hay casos que logran un mejor desempeño) alcanzan
una complejidad de O(m3 )(Gaussian elimination, QR factorization,etc). Es por esto que en el sentido
de solucionar Ax = b, A ∈ Rm×m con ciertas condiciones está el CG. También existen extensiones de
esto y relacionados, como método del bigradiente conj. o casos no lineales, pero solo nos importa el
CG naturalmente.
En este trabajo no incluiremos demostraciones de los resultados por estructura misma de la presenta-
ción.
El método
sentido podemos considerar la norma || · ||A definida por ||x||A = xT Ax (es fácil verificicar que lo es).
El sentido de esto es que con el método del gradiente conjugado lo que buscamos es minimizar el error
en = x − xn , es decir, buscamos una secuencia {xn ∈ Kn } que satiface ||en ||A es minimizado. Ahora,
1
UTFSM MAT-274
lo interesante de considerar estos espacios es que hay propiedades de ortogonalidad que nos aseguran
estabilidad que veremos como resultados.
Por otro lado, notemos que, naturalmente, también podemos verlo como un algoritmo de optimización:
minimizamos ||en ||A en cada paso n en todos los x ∈ Kn . En efecto, existe x que lo cumple por un
resultado clásico de análisis funcional sobre proyecciones ortogonales.
0 = v T (b − Axm ) = v T A(x − xm ) para todo v ∈ Km (A, b) ||x − xm ||A = mı́n ||x − y||A
y∈Km (A,b)
xn = xn−1 + αn pn−1
es decir, actualizamos desde xn−1 a xn con distancia αn y dirección pn−1 (dirección de busqueda). Un
problema de esta formulación es que la función, que lógicamente vamos a minimizar, ||en ||A o ||en ||2A ,
necesita del valor x (xm → x) para ser evaluada. Por esto consideramos la función
1
ϕA,b (x) = xT Ax − xT b, x ∈ Rm
2
ésta función y la norma del error se comportan casi de la misma forma, a excepcion de unas cons-
tantes, entonces podemos formular el GC como una minimización de ϕ(x) que es algo que podemos
encontrar mas recurrentemente en aplicaciones en fı́sica y similares. En cada paso xn = xn−1 + αn pn−1
minimizamos ϕ en el espacio 1-dimensional xn + hpn−1 i(∼ Kn ).
Por el lado de la programación como tal en [1], el CG fue formulado por Hestenes y Stiefel como vemos
en el siguiente código implementado el Matlab (y el que usaremos posteriormente)
MAT-274 UTFSM
CG algorithm
De aqui en adelante presentaremos algunos resultados relevantes sobre ortogonalidad y que efectiva-
mente buenas formas para la convergencia de la formulación del método:
Theorem 2 (38.1 trefethen). Sea la iteración del GC (GC alg.) aplicado a una matriz simetrica
definida positiva del problema Ax = b. Mientras que la iteración no haya convergido (ie, rn−1 6= 0), el
algoritmo procede sin divisiones por cero (rT · r) y tenemos las siguientes propiedades:
Kn = hx1 , x2 , ..., xn i = hp0 , p1 , ..., pn−1 i
= hr0 , r1 , ..., rn−1 i = hb, Ab, .., An−1 bi
Además, los residuales son ortogonales
rnT rj = 0, j<n
y las direcciones de busqueda son A-conjugadas
Axn
||rn ||
~b
Theorem 3 (38.2 trefethen). Sea la iteración del GC (GC alg.) aplicado a una matriz simetrica
definida positiva del problema Ax = b. Mientras que la iteración no haya convergido (ie, rn−1 6= 0),
entonces xn es el único punto en Kn que minimiza ||en ||A . La convergencia es monótona,
||en ||A ≤ ||en−1 ||A
y en = 0 es alcanzado para un n ≤ m
Dentro del área de métodos iterativos, también podemos carcaterizar el problema a traves de una
perspectiva de problema de aproximación polinómica, esto condicionado por la norma tomada (|| · ||A ).
Por ejemplo, junto con otros métodos presentamos unos ejemplos para concretizar la idea
donde e0 = x − x0 es el error inicial y P n lo polinomios de grado menor o igual a n con p(0) = 1. Incluso
para esto podemos asegurar que la estructura del problema tiene sentido. En efecto, por el teorema de
Cayley-Hamilton, toda matriz cuadrada en un anillo conmutativo anula su polinomio caracterı́stico:
n
p(λ) = det(λIn − A) = pi λi
X
i=0
siguiendo la idea, el plantamiento es el mismo salvo la norma como dijimos. De esto tenemos el siguiente
resultado que nos aporta información adicional sobre convergencia del problema
MAT-274 UTFSM
Un resultado que se puede desprender de esto y que es útil en el sentido de que habla de que es
importante cómo sea estructuralmente las matrices de una forma más explicita aún que el anterior, en
concreto, cómo es el espectro de la matriz:
Theorem 5 (38.4 trefethen). Si A tiene solo n distintos valores propios, entonces el algoritmo 1
converge como máximo en n pasos.
Otro caso, incluso mucho más general ya que pide menos información, es cuando disponemos no de la
distribución pero sı́ de qué tan alejados están del origen, caracterización debido a los valores máx − mı́n
del espectro:
Theorem 6 (38.5 trefethen). sea el CG aplicado a una matriz simetrica definida positiva en el problema
Ax = b. donde A tiene el número de condición norma-2 κ = λmáx /λmı́n . Entonces el error satisface
en la norma || · ||A lo siguiente
√
||en ||A 2 κ−1 n
≤ √ n √ −n ≤ 2 √
||e0 ||A κ+1 κ+1 κ+1
√
κ−1
+ √κ−1
más tarde expondremos algunos casos explı́citos donde se ve mejor esto. Por ahora veamos el siguiente
ejemplo que concretiza los puntos básicos
Example 0.1. Consideremos una matriz aleatoria A ∈ R500×500 simetrica y con diagonal conformada
por unos, con entradas Aij valores en [−1, 1]. Tomemos un parámetro τ > 0 relativamente cercano a
0 con el fin de hacer 0 las componentes |Aij | > τ , ası́ obtenemos una matriz dispersa. Consideremos
entonces una cantidad finita para valores de tau. En matlab implementar esto y verificar gráficamente
algunos puntos que hemos enunciado. Graficamos ||rn ||A vs n, la cantidad de pasos que toma llegar a
un error de 10−10
Cada gráfica, de izquierda a derecha, representa a un tau en particular en el orden [0,01 0,05 0,1 0,2],
es decir, para una matriz dispersa, como planeamos, se cumplen las condiciones y obtenemos que hay
convergencia. Por otro lado, para matrices que son relativamente más densas no se aclara el panorama
y en concreto el método no asegura nada. Podemos extender la gráfica hasta n=500 y una cantidad
más grande de τ (ocupamos un linspace(0,1))
En este otro caso, también notamos que posible la convergencia para alguna casos como en le ima-
gen derecha, pero es mera coincidencia e incluso no nos dice mucho ya que de aproximadamente 90
UTFSM MAT-274
curvas solo 2 lo lograron, no es confiable, mientras que cuando nos acotamos a las condiciones dichas
obtenemos el resultado con un error en las iteraciones de quiza uno más abajo o uno más arriba como
mucho. También podemos ver cómo son las matrices a nivel de dispersión (gráficas que denotan solo
puntos no nulos).
MAT-274 UTFSM
UTFSM MAT-274
En esta sección enunciaremos algunos casos donde se encontró uso del método seguido de un caso en
particular con más trabajo y análisis/verificación de algunas propiedades dichas.
Campo de aplicación
En general con este método, como vimos anteriormente buscamos 2 tipos de cosas posibles, resolver
distintos problemas de valores de frontera de forma iterativa o resolver sistemas lineales Ax = b. Por
ejemplo, en [2] podemos encontrar aplicaciones en restauración de imagenes o también en [3] podemos
encontrar su aplicación en problemas de fı́sica de minimización de energı́a.
Ejemplo
k6=n
Cualitativamente la matriz se describe por su diespersión y espectro (cosas que nos interesa dentor del
análisis)
UTFSM MAT-274
notar que está en escala logaritmica, ie, el espectro va desde poco más de 0 hasta ∼ 105 . Las lineas
rojas denotan el máximo y mı́nimo del espectro, entonces efectivamente es definida positiva. Al aplicar
al método a un vector aleatorio P con el fin de obtener θ en Bθ = P antes dicha (esto es válido ya
que solo nos interesa cómo es que funciona el algoritmo y no hay dependencia con este vector en la
convergencia), tenemos el resultado
Como vemos en el último gráfico, la matriz no tiene muy buen comportamiento con nuestro algoritmo
como son otras que veremos (y vimos) seguido de esto. Tenemos que tener en cuenta que existe un
continuo entre las consideraciones que ya hemos tenido y la realidad. También notemos que efectiva-
mente lo que se lleva más de los recursos es la operación matricial ya discutida, en concreto, podemos
encontrar un gasto 95 % <. También, podemos notar que la tolerancia usada tol = 10−10 es alcanzada
MAT-274 UTFSM
en un no muy buen número de iteraciones, lo cual vamos a contrastar después con matrices de mejor
comportamiento dentro de lo pedido.
En concreto, del primero ejemplo podemos notar otras cosas. Lo espectros de las matrices generadas
son
entonces efectivamente tendremos el comportamiento buscaso para los tau más pequeños donde el
espectro es positivo.
También podemos verificar el consumo que tienen matrices densas. Tomamos un vector de densida-
des en escala logaritmica dado por logspace(1, j, j)/10j y generamos matrices con cada componente
del vector con la función sprandsym(n,density). Después la hacemos simétrica y definida positiva
operando
A → A + A0
A → A ∗ A0 + eye(n)
Obtenemos que
UTFSM MAT-274
Podriamos considerar una escala logaritmica pero no cambia mucho el panorama. Lo importante a
recalcar es que efectivamente tenemos un crecimiento exponencial, ya que en este caso tenemos 100
datos y el dato extremo se escapa de la escala dada.
Respecto a un resultado más fuerte, el teorema 6, podemos verificar el enunciado Aunque tenemos que
tener en consideración que ocupamos una matriz del ejemplo 1 para esto. Para las otras matrices el
comportamiento es un poco más azaroso dentro de los rangos posible, pero a grandes rasgos siguen
cumpliendo lo que deberı́an.
nota: en la presentación se pueden ver más casos pero estos son relevantes o introductorios.
Conclusiones
El método del gradiente conjugado dentro de los parametros mencionados actua con una buena con-
vergencia como quisieramos, pero hay que entender que existe un continuo entre lo óptimo que le
puedes entregar al algoritmo y lo que no. En concreto, podemos tener convergencia fuera de la estruc-
tura buscada dentro del rango de lo posible dependiendo de lo ingresado. Vimos que efectivamente
MAT-274 UTFSM
es dependiente de la densidad de la matriz de una forma exponencial y que el error el casos ideales
deberia converger monotonamente. También es de importancia considerar que un espectro mejor dis-
tribuido nos lleva a un desempeño mejor. En nuestro ejemplo en particular notamos que varias de estas
caracterı́sticas no se satifacian tan bien y, en efecto, el desempeño no fue tan bueno.
nota: ver codigos en carpeta adjunta
Referencias
[1] M. Hestenes E. Stiefel. Methods of conjugate gradients for solving linear systems, volume 49.
Journal of research of the National Bureau of standards, 1952.
[2] Tingting Li Wujie Hu Gonglin Yuan. A conjugate gradient algorithm and its application in
large-scale optimization problems and image restoration. Journal of Inequalities and Applications,
2019.
[3] D. J. Chadi. Energy-Minimization Approach to the Atomic Geometry of Semiconductor Surfaces,
volume 41. Physical Review Letters, 1978.
[4] LLoyd N. Trefethen David Bau. Numerical linear algebra. S.I.A.M., (10):293–301, 1997.
[5] Donald Knuth. Knuth: Computers and typesetting.
[6] Marc Timme Dirk Witthaut Henrik Ronellenfitsch. A Dual Method for Computing Power Transfer
Distribution Factors, volume 13. Journal of Latex class files, 2014.
[7] https://electricgrids.engr.tamu.edu/electric-grid-test-cases/activsg10k/