Sistema de resolução de equações lineares com matriz tridiagonal cíclica

8

Eu tenho esse problema no meu livro:

Sugira um algoritmo eficiente para resolver sistemas de equações lineares com matriz tridimensional cíclica, que é da forma: sem trocar nenhuma linha e coluna. Estimar a complexidade.

[a1b100d1c2a2b20000cn2an2bn200cn1an1bn1d200cnan]

E eu não sei como abordar isso. Eliminação clássico iria trabalhar em muito eficiente o tempo com esta matriz, mas o problema é quando, digamos, quero eliminar com linha -st que é add a segunda linha e quando . Não posso fazer isso e, mesmo que , o mesmo problema possa ocorrer em algum lugar no meio desse processo. Além disso, como o texto do problema declara, não tenho permissão para trocar nenhuma linha ou coluna; portanto, não sei se essa abordagem pode ser corrigida de alguma forma. Alguém pode ajudar?c 2 1 - c 2O(n)c21a1=0a10c2a1[a1b100d1]a1=0a10

xan
fonte
A forma da matriz não impedirá que você encontre um problema com a matriz (ou uma submatriz) sendo singular, mas eu não leio o problema perguntando sobre o que pode dar errado. Em vez disso, solicitando um "algoritmo eficiente ... sem trocar nenhuma linha e coluna", parece que sua "eliminação cássica" sem pivotamento seria uma abordagem razoável. Você vê como estimar a complexidade desse método?
hardmath

Respostas:

4

Não é difícil determinar a complexidade de uma eliminação / redução direta para a forma triangular superior. Observe que a matriz inicial:

[a1b100d1c2a2b20000cn2an2bn200cn1an1bn1d200cnan]

torna-se após um passo de eliminação:

[a1b100d10a2b1c2a1b20d1c2a100cn2an2bn200cn1an1bn10b1d2a10cnand1d2a1]

O custo dessa etapa é constante e deixa uma submatriz cíclica de três diagonais cíclica no canto inferior direito. A redução total implicará, assim, custo. Para resolver um sistema linear, pode-se executar as mesmas operações no lado direito, também com um custo de . Também é necessário executar uma resolução traseira com uma matriz triangular superior com no máximo três entradas diferentes de zero por linha, outra tarefa . Isso representa a complexidade de resolver sistemas com essas matrizes de coeficientes.( nO(1)O ( n ) O ( n ) O ( n )(n1)×(n1)O(n)O(n)O(n)

hardmath
fonte
1
+1, obrigado, mas e se ? Então o primeiro passo será diferente. E pode haver complicações ainda mais. Isso não é um problema? a1=0
xan
É uma limitação da eliminação gaussiana sem girar que, quando zeros aparecem em locais onde queremos (em essência) produzir um líder, ficamos presos! A idéia de rotação parcial está tentando contornar isso trocando linhas taticamente (respectivamente, linhas e colunas de troca dinâmica completa). Mas a declaração do problema proíbe a troca de linhas ou colunas, que eu interpreto como uma tentativa de manter sua análise da complexidade o mais simples possível. Certas condições (como dominância diagonal ) podem manter e garantir o sucesso sem girar.
hardmath