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.
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 2a1=0a1≠0
fonte
Respostas:
Não é difícil determinar a complexidade de uma eliminação / redução direta para a forma triangular superior. Observe que a matriz inicial:
torna-se após um passo de eliminação:
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 )( n - 1 ) × ( n - 1 ) O ( n ) O ( n ) O ( n )
fonte