se eu quero apenas um elemento da matriz inversa, existe um algoritmo rápido?


9

Eu uso o Mathematica para resolver problemas. Eu tenho uma pergunta sobre matriz inversa.

se eu quero apenas um elemento da matriz inversa, existe um algoritmo mais rápido do que usar Inversepara calcular toda a matriz inversa e extrair o elemento que eu quero?


O resumo deste artigo diz que eles podem calcular a diagonal da matriz inversa em , mas não sei se há algo para uma entrada arbitrária. O(n32)
G. Bach

A questão subjacente aqui pode ser mais sobre matemática do que ciência da computação .
Dukeling 17/10

11
Aqui está algo além da diagonal para matrizes esparsas, e aqui está algo sobre um algoritmo paralelo para matrizes esparsas estruturadas.
G. Bach

@ G.Bach obrigado pela sua informação
user15964

2
@ G.Bach Muitas das minhas respostas são assim. Usar o Google efetivamente não é trivial. Se a informação é útil, ela responde à pergunta.
Yuval Filmus

Respostas:


1

Eu não vi exatamente isso no Mathematica, mas acho que poder resolver um conjunto de equações para apenas um desconhecido pode ser suportado.

A maneira direta seria, obviamente, implementar os algoritmos de matriz inversa e fazê-los parar quando o elemento específico for determinado. Provavelmente seria interessante ver quais otimizações você pode ter para cada algoritmo se o objetivo é obter apenas um elemento.

Mas, de acordo com o primeiro parágrafo, uma idéia poderia ser expressar sua matriz inversa como desconhecida no sistema de equações e tentar resolver apenas o desconhecido de que você precisa (já que a solução de equações definidas para um único desconhecido deve ser suportada). Se você obtiver um desempenho melhor da memória e da CPU, pode ser seguro dizer que o Mathematica não resolveu toda a equação, mas apenas fez suas otimizações para determinar apenas o seu desconhecido. Você pode obter pior desempenho, é claro, já que não está usando algoritmos inversos diretamente. Se você decidir tentar, informe-nos se funcionou!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.