• Nenhum resultado encontrado

Algumas classes matriciais importantes

2 Tópicos elementares

2.2 Algumas classes matriciais importantes

Nesta seção, apresentamos e discutimos algumas classes de matrizes, em es- pecial, as Z-matrizes. Muitos problemas de diversas áreas podem ser reduzidos a problemas envolvendo matrizes com uma determinada estrutura especial e, conse- quentemente, pertencentes a classes especiais de matrizes como as das M -matrizes. Definiremos tais classes que serão mencionadas durante o trabalho e em seguida, deremo-nos a algumas questões e resultados interessantes sobre elas.

Definição 2.9 A = (aij) ∈ Mn(R) é não negativa se aij > 0, ∀i, j.

Definição 2.10 A matriz P = (Pij)16i,j6n é uma matriz estocástica se

i) pij > 0 para todos i, j; ii) Para todo i,

n X

j=1

pij = 1.

Em outras palavras, todas as entradas de uma matriz estocástica são não negativas e qualquer linha tem soma um.

O espectro de matrizes não negativas é discutido pelo Teorema de Perron- Frobenius, veja (AXELSSON, 1996). O estudo destas matrizes é motivado pelo es-

tudo de Cadeias de Markov onde aparecem matrizes estocásticas.

Definição 2.11 A é Z-matriz se aij 6 0, ∀i 6= j.

Em outras palavras, A é Z-matriz se, e somente se, A = sI − B com s ∈ R e B não negativa. As Z-matrizes estudadas neste trabalho terão sempre diagonal estritamente positiva.

Resulta que cada M -matriz é também Z-matriz.

Alguns chamam de M -matrizes o que chamamos M -matriz inversível, veja (MESSAOUDI, 1995).

As M -matrizes foram introduzidos em 1937 por Alexander M. Ostrowski, em (OSTROWSKI, 1937), em (PLEMMONS, 1977).

Ainda sobre este brilhante matemático, devido à diversas contribuições em difentes áreas da Matemática como a Álgebra Linear, Teoria dos Números, Geo- metria, Topologia, Análise Numérica, Equações Diferenciais etc; encontra-se um trabalho sobre "His life, work, and students"(GAUTSCHI, 2010) donde vale desta- car:

"The theory of M -matrices and the related theory of H-matrices, stemming from Ostrowski’s 1937 paper, have proved to be powerful tools in the analysis of iterative methods for solving large systems of linear equations. In addition, this theory forms the basis for the general theory of eigenvalue inclusion regions for matrices, as in the case of the well-known Gershgorin Theorem."

De fato, M -matrizes surgem em diversos campos científicos, entre eles: métodos de elementos finitos ou de diferenças de EDPs, análise input-output em economia e cadeias de Markov em processos estocásticos (PLEMMONS, 1977).

Mais detalhes sobre outras classes de matrizes com inversa positiva e B- matrizes, estreitamente relacionadas com as M -matrizes e um histórico sobre os problemas antecedentes da área podem ser encontrados em (RODRIGUEZ, 2012).

A fatoração incompleta LU (ILU) consiste em conseguir um splitting da matriz esparsa A em que A = LU − R, onde L é uma matriz triangular inferior e U , triangular superior e R é a matriz residual, idealmente com padrão predeterminado kRk << 1, ver (MEIJERINK; VORST, 1977). O caso particular clássico de fatoracao LU , ocorre quando R = 0.

1. A é M -matriz invertível;

2. A possui menores principais positivos;

3. A admite fatoração LU ;

4. A−1 existe e é não negativa;

5. Existe um splitting A = C − R com C−1, N não negativas e ρ(C−1R) < 1 implicando convergência do método iterativo 2.3.

Para este resultado, veja (PLEMMONS, 1977), onde são acrescentadas outras

condições equivalentes a mais.

Definição 2.13 A matriz de comparação M(A) = (bij) para uma matriz arbitrá- ria A ∈ Mn(C) com A = (aij) é definida por

bij =    |aij| se i = j −|aij| se i 6= j. (2.5)

Em (BRU et al., 2008), na literatura sobre métodos iterativos de sistemas li- neares, H-matrizes são amplamente utilizadas porque elas aparecem em muitas aplicações envolvendo discretização de certas equações parabólicas não lineares e no LPC. Além disso, H-matrizes estão intimamente relacionados com M -matrizes.

Definição 2.14 A ∈ Mn(C) é uma H-matriz se M(A) é uma M -matriz.

Entre as razões pelas quais a teoria matricial é assunto de interesse da comu- nidade científica é devido às diversas aplicações onde surgem matrizes com certas propriedades especiais. Um exemplo importante é o problema do LPC (Problema da Complementariedade Linear) usado em problemas logísticos de grande porte da programação linear. Para mais detalhes, ver (MURTY; YU, 1988).

Em 2010, no texto de Cottle, ”Over the years, many authors have compiled lists of classes related to the LCP, and a few authors have created diagrams indicating the inclusion relationships between most of the matrix classes known at the time“, ver (COTTLE, 2010).

Em geral, nota-se que há muitos trabalhos direcionados à determinação de pro- priedades das matrizes pertencentes a certa classe, mas poucos trabalhos feitos, no sentido de mostrar diagramas de inclusões e também de se criar técnicas computa- cionais eficientes para determinar se uma matriz pertence ou não a alguma classe. Para mais detalhes sobre abordagens em termos de caracterizações o leitor pode consultar os seguintes clássicos: (ROTHBLUM, 1979), (PLEMMONS, 1977).

A verificação eficiente se uma matriz pertence ou não a uma determinada classe é uma tarefa muito importante tanto teórica como prática. Em particular, a veri- ficação das propriedades M ou H pode ser complicada, por exemplo, por requerer o cálculo de A−1. Não nos debruçaremos sobre esta questão. Conforme (POOLE; BOULLION, 1974), “Most of the work in M -matrices has been in the area of deter- mining the properties of such matrices. Some work has been done in determining which matrices from a particular class of matrices are M -matrices.“

Em (PEÑA, 2004), é apresentado um teste estável para verificar se uma matriz é uma M -matrix não singular. Recentemente, em (GUILLEARD; ANTONIO, 2015), discute-se sobre determinação e caracterizações de H-matrizes, expõe um levanta- mento sobre algoritmos propostos na literatura que buscam estabelecer de maneira automática se uma dada matriz é ou não H-matriz.

Neste trabalho, não faremos estudos sobre questões relacionadas a esparsi- dade, operações matriciais, invertibilidade, convergência de splittings ou métodos iterativos envolvendo matrizes dessas classes.

Vejamos agora algumas considerações relacionadas à estabilidade da fatoração LU baseadas nos textos de (HIGHAM, 2002), (MESSAOUDI, 1995), (IPSEN, 2009).

Existe vasta literatura sobre a estabilidade da fatoração LU . Como parâmetro principal, considera-se a razão

α = kL.U k kAk

(para qualquer norma matricial) onde A = LU é a fatoração dada e L e U são obtidas de L e de U usando o valor absoluto termo a termo.

Na literatura, podemos encontrar limitantes para α para várias classes ma- triciais intimamente relacionadas com as Z-matrizes, como as M -matrizes, as H- matrizes, matrizes não negativas, entre outras; mas não para as Z-matrizes (onde a fatoração LU não é garantida). Em particular, veja o seguinte teorema:

Teorema 2.3 (MESSAOUDI, 1995),(MEIJERINK; VORST, 1977) A fatoração LU incompleta de uma H-matriz é tão estável como a fatoração LU incompleta de sua matriz de comparação M(A).

Existe também resultados sobre a estabilidade de algumas classes de matrizes esparsas, como as matrizes de Hessenberg, de banda, em particular, para matrizes tridiagonais. Para mais detalhes, o leitor pode consultar (SAAD, 2003).

Há muitos trabalhos sobre fatorações LU ou ILU (LU incompleta) para a clas- ses das M -matrizes e H-matrizes, ver (MEIJERINK; VORST, 1977). Entre eles, men-

cionamos trabalhos sobre a fatoração LU para M -matrizes (VARGA; CAI, 1981), estatibilidade da fatoração LU para H-matrizes (AHAC; BUONI; OLESKY, 1988), so- bre a estabilidade das fatorações LU incompletas e caracterizações de H-matrizes, (MESSAOUDI, 1995).

Na sequência, definiremos as matrizes denotadas por K, sendo geradas de tal forma a não serem mais Z-matrizes.

mos gerar uma matriz K da seguinte forma

K = Z1 − βZ2 1 + β .

Esta construção será útil quando formos discutir sobre a influência nos algorit- mos numéricos quanto à estrutura das matrizes, em particular, K terá aproxima- damente o mesmo padrão de esparsidade de Z1 e de Z2. Porém, K não será mais Z-matriz. Para matrizes aleatórias Z1, Z2 com a mesma distribuição dos termos, a melhor escolha a priori é β = 1 pois não teremos uma preferência quanto aos sinais dos elementos de Z1 e de Z2.

Agora, discutiremos sobre precondicionadores onde faremos o uso da fatoração LU incompleta.

2.3

Precondicionadores

Ao lado do splitting, outra técnica para resolver sistemas grandes, esparsos ou mal condicionados, Ax = b, é pré- (ou pós-) multiplicação de A por uma matriz M−1 que, de um lado, aproxima A−1 e, portanto, acelera a convergência e, por outro lado, mais fácil de se construir assim que seu uso não torne o sistema mais complicado ou mude suas características (e.g., esparso).

Precondicionamento é uma técnica usada para acelerar um método iterativo. A idéia é reduzir o número de condição da matriz do sistema linear. Idealmente, o precondicionador da matriz A é uma matriz M tal que M−1A deve ter um número de condição menor

Cond(M−1A) < Cond(A).

Além disso, diminuir a dispersão espectral. Seu uso é indicado para matrizes mal condicionadas e/ou de grande porte.

uma das tranformações: pela esquerda, M−1Ax = M−1b; pela direita, AM−1y = b, com M−1y = x; ou ambos os lados. No caso do GMRES, o precondicionador é usado durante o procedimento de Arnoldi, para mais detalhes, veja (CARVALHO et al., 2010).

Neste trabalho, a técnica de precondicionamento é usada à esquerda e considera- se o precondicionador ILU (0) onde M = LU .

O início da história dos precondicionadores é marcado pelo trabalho de Cesari em 1937, ver (FERRONATO, 2012), (MEDEIROS, 2014). Existem vários candidatos de precondicionador na literatura, por exemplo, (BENZI, 2002), (VORST, 2003), (FERRONATO, 2012), porém ainda não existe uma teoria unificada justificando o sucesso de seu uso com quaisquer matrizes e aplicado ao GMRES. Dessa forma, podemos tentar fazer o uso de determinados precondicionadores além do método baseado na fatoração ILU (0) para certos problemas e tentar encontrar algum padrão de convergência. Em geral, outras fatorações incompletas, inversa aproxi- mada, decomposição de domínio, multigrid são alguns exemplos clássicos de classes de precondicionadores na literatura, (CARVALHO et al., 2010), (FERRONATO, 2012).

2.3.1

Fatoração incompleta LU (ILU)

Existem várias variações desse tipo de fatoração onde se impõe certas restrições sobre a matriz R como ter zeros em certas posições em que A tem elementos não nulos. Entre elas, existe a fatoração de preenchimento zero (zero fill-in), ILU (0); a fatoração ILU (l) com nível de preenchimento l, esta não descarta tantos elementos como a ILU (0) e pode ser mais precisa; a fatoração ILU modificada, M ILU ; entre outras.

Na fatoração ILU (0), descarta-se todos os preenchimentos por coefientes não nulos em posições originalmente nulas. Dessa forma, espera-se que o conjunto dos elementos não nulos da matriz A e o da LU sejam iguais e assim, quanto ao número de elementos não nulos, temos nz(A) = nz(LU ) que pode ser facilmente verificado

no MATLAB. Isto é sempre verdade quando A = LU .

Um dos motivos de fazer modificações nessa fatoração é a questão de preservar a estrutura da matriz A tal como o grau de esparsidade após uma fatoração . É de se esperar, muitas vezes, que ocorra um preenchimento conhecido como fill- in onde os elementos não nulos surgem de R após a fatoração em posições na matriz A onde originalmente tinham elementos nulos, com isso, diminui o grau de esparsidade de A e consequentemente, exige-se mais espaço de memória para armazenar A aumentando o custo computacional.

Sobre precondicionadores e certas classes matriciais, veja (BROYDEN; VES- PUCCI, 2004), ”Thus if A is an M -matrix or an H-matrix, not only is incomplete factorisation always possible but this factorisation will provide a workable pre- conditioner. Since many important applications derived from partial differential equations give rise to just such matrices, the results of Meijerink, van der Vorst and Manteuffel are of very considerable practical and theoretical importance.“

Em (CHEN, 2005), Chen também relata sobre a fatoração ILU para certas classes de matrizes.

A seguir, veremos um pouco sobre métodos de Krylov, entre eles, o GMRES, o GMRES(m).

2.4

Métodos de Krylov

Os Métodos de Krylov são centrais no processamento de sistemas lineares de grande porte. Por exemplo, (DONGARRA; SULLIVAN, 2000) os consideram entre os 10 algoritmos mais importantes do século XX: ”We tried to assemble the 10 algorithms with the greatest influence on the development and practice of science and engineering in the 20th century”. Para mais detalhes, veja (CIPRA, 2000).

Definição 2.16 Sequência de Krylov

(b, Ab, A2b, . . . , Aj−1b)

Definição 2.17 Dada A ∈ Mn e um vetor não nulo b ∈ Rn, definimos o subes- paço de Krylov por

Kj = span{b, Ab, A2b, . . . , Aj−1b}.

Definição 2.18 Matriz de Krylov

Kn×j = h

b Ab A2b . . . Aj−1b i

2.4.1

Base para subespaço de Krylov

Uma matriz de Krylov Kn×j que contem uma base para o subespaço de Krylov Kj não é adequada para a implementação numérica pois com o aumento de j as colunas ficam mais próximas da dependência linear, pela Proposição 2.1. Suponha λ1 seja um autovalor dominante, sendo o quociente

λk−1 λ1

pequeno, espera-se um mal condicionamento de Kn×j uma vez que duas colunas tornam-se quase linear- mente dependentes. Assim, não basta tentar ortogonalizar a base do subespaço, pois como os vetores são quase linearmente dependentes, o processo de ortogonali- zação seria numericamente instável. Uma solução para esse problema será discutida onde apresentaremos o método de Arnoldi.

Dado Ax0 = b, pela Proposição 2.1, veja que (enquanto Axj−1 6= 0)

k = j − 1 xj = Axj−1 kAxj−1k = A j−1b kAj−1bk. (2.6)

O processo de Arnoldi é um algoritmo para construir uma base ortogonal do subespaço de Krylov Kl. Uma variante desse método é a seguinte:

Algoritmo: Arnoldi

Para j = 1, 2, · · · , m Faça:

Calcule hij = hAvj, vii para i = 1, 2, · · · , j

Calcule wj := Avj− j X i=1 hijvi hj+1,j = kwjk2 Se hj+1,j = 0 então Para vj+1 = wj hj+1,j Fim Faça

Agora, veremos sobre métodos de projeção.

2.4.2

Métodos de projeção

A maioria dos métodos iterativos para resolução de sistemas lineares de grande porte usam algum processo de projeção para obter, de maneira canônica, a melhor solução aproximada dentro de um subespaço aproximado e de dimensão menor, conhecido como subespaço de busca. Para uma visão mais geral sobre métodos de projeção, consulte (SAAD, 2003), (ARAUJO, 2011).

Figura 2: A ideia é buscar a solução aproximada de um sistema de equações Ax = b em um subespaço de dimensão menor.

Veja que

xn∈ x0+ Kk, rn ∈ ro+ Ln

onde as restrições desejadas para determinar xn são dadas por

rn ⊥ Ln, L⊥n ⊕ Ln = Rn, Kn é o subespaço de busca e Ln é o subespaço de restrição.

r0 = r0 |AKn +r0 |Ln⊥= r0 |AKn +rn, r0 ∈ K ⊥ n.

Nosso tratatamento do subespaços de Krylov acima é baseado em (STRAKOŠ et al., 2009).

Normalmente, a escolha é uma das seguintes: se Ln= Kntemos uma projeção ortogonal; se Ln = AKn, a projeção é chamada oblíqua.

Figura 3: Projeção de r, resíduo, sobre K e ortogonal a L.

Métodos que fornecem melhores aproximações em subespaços de Krylov são conhecidos como Métodos de Krylov (MK), isto é, utilizam o subespaço de Krylov como subespaço de busca, ver (VORST, 2003). Para uma abordagem sobre a evo- lução desses métodos de projeção, em particular, os de Kylov, veja (EIERMANN; ERNST, 2001).

Os métodos de Krylov para encontrar xl∈ Kl são divididos em quatro classes de projeção de acordo com a condição imposta, a saber,

1. de Ritz-Galerkin: Ll = Kl = (A, r0), isto é, busca xl∈ Kl tal que rl⊥ Kl;

2. da norma mínima residual: busca xl ∈ Kl tal que krnk2 é mínima sobre Kl= (A, r0);

3. de Petrov-Galerkin: Ll = AKl e Kl = Kl(A, r0), isto é, busca rl ⊥ Ll e x ∈ Kl;

4. da norma mínima do erro: Ll = Kl(AT, r0) e Kl = Kl(A, r0), isto, é deter- mina xl∈ ATKk(A, r0) tal que kxl− xk2 seja mínima.

Note, então, que as diferentes versões dos Métodos de Krylov decorrem, prin- cipalmente, das diferentes escolhas de Ln e do produto interno considerado. Por

exemplo, se tomarmos a condição de Ritz-Galerkin, que define um problema a ser resolvido, temos um algoritmo específico para tal solução, temos o FOM (Método da Ortogonalização Completa) dependendo do produto interno considerado; se a escolha for a condição 3., entre os métodos mais conhecidos dessa classe, temos o GMRES, objeto de estudo desse trabalho.

Figura 4: Representação esquemática da condição de ortogonalidade do resíduo do GMRES. Essa figura é a mesma encontrada em (CARVALHO et al., 2010) porém, a reproduzimos colocando tais cores.

A seguir, descreveremos brevemente o GMRES.

2.4.3

GMRES

O GMRES ((SAAD; SCHULTZ, 1986)) é um método de projeção baseado em tomar K = Km e L = AKm, no qual Km é o m-ésimo subespaço de Krylov, com v1 = r0

kr0k2

. É uma técnica que minimiza norma residual sobre todos os vetores x0+ Km.

Usando a relação de Arnoldi (AVm = Vm+1Hm˜ onde Hm˜ é uma matriz de Hessenberg), temos que qualquer vector x em x0 + Km pode ser escrita como

onde y ∈ Rm. Definindo

kb − Axk2 = kb − A(x0+ Vmy)k2,

da relação de Arnoldi, rm = b − Axm = b − A(x0 + Vmym) = r0− AVmym = r0− Vm+1H˜mym = Vm+1(kr0k2e1+ ˜Hmym)

Desde que as colunas de Vm+1 sejam ortonormais, então

krmk2 = kkr0k2e1− ˜Hmymk2

Temos então que resolver o sistema linear de ordem reduzida

˜

Hmym = kr0k2e1.

Algoritmo do GMRES(m)

1. Início: Escolha x0 e calcule r0 = b − Ax0 e v1 = r0 kr0k. ∗ Processo de Arnoldi.

2. Itere: Para j = 1, . . . , m faça:

4. ˜vj+1 = Avj − j X i=1 hijvi 5. hj+1,j = k˜vj+1k, e 6. vj+1 = v˜j+1 hj+1,j

7. Forme a solução aproximada: x = X0+ Vmym onde ym minimiza ||βe1− Hmym||, ym ∈ Rm, β = ||r0|| e e1 = (1, 0, · · · , 0)t um vetor.

8. Recomeço: Calcule rm = b−Axm; se o critério de convergência for satisfeito Pare

9. senão compute x0 := xm, v1 := rm/||rm||.

10. Volte para a linha 2.

Observe que o algoritimo acima é chamado apenas GM RES quando desconsidera- se a atualização em item 9.

O precondicionamento do GM RES à esquerda resolve

M−1Ax = M−1b

em vez de resolver Ax = b.

O precondicionamento no MATLAB é feito de modo que o precondicionador M é dado por uma matriz ou são dadas duas matrizes M1 e M2 tais que M = M1.M2 e aplica-se M−1Ax = M−1b à Ax = b. No caso, quando o GMRES(m) é precondicionado com ILU (0), tem-se M1 = L e M2 = U .

No caso do GM RES(m) precondicionado com uma matriz M à esquerda, na linha 1., inicia-se com r0 = M−1(b − Ax0) e na linha 3., no lugar de Avj, calcula-se M−1Avj.

Sobre o uso do GMRES(m) precondicionado aplicado a sistemas lineares com M -matrizes não singulares, encontramos o artigo do (WANG; SONG, 2009), onde os

autores sugerem que, em geral, o GMRES(m) precondicionado funcione melhor que o GMRES(m). Também há outro trabalho envolvendo sistemas singulares surgidos da modelagem de cadeias de Markov onde aplica-se o GMRES(m) precondicionado em que matriz do sistema possivelmente é M -matriz singular, (BENZI; UÇAR, 2007). Em (VIRNIK, 2007), trabalha-se com o GMRES precondicionado para resolver sistemas lineares grandes singulares do tipo (I − Tt)x = 0 onde T é assumida como a matriz de transição de um processo de Markov. Observe que T (matriz estocástica) satisfaz ρ(T ) = 1 assim que I − Tt é uma matriz M .

No entanto, há poucos trabalhos envolvendo o GMRES(m) precondicionado aplicado a certas classes especiais como essas.

Sobre resultados relacionados à convergência do GMRES e do GMRES(m), o leitor pode consultar (SAAD; SCHULTZ, 1986), (STRIKWERDA; STODDER, 1995), (SIMONCINI; SZYLD, 2007), (MEURANT, 2012), (MEURANT, 2014), (TEBBENS et al., 2014) e (TEBBENS; MEURANT, 2015).

Neste trabalho, encontramos alguns resultados numéricos interessantes para o conjunto de dados que trabalhamos onde alguns padrões de repetem. No próximo capítulo, nos deteremos a esses resultados.

Documentos relacionados