Então, eu tenho cerca de 100-200 matrizes booleanas quadradas muito esparsas com comprimento lateral ~ várias dezenas, e preciso calcular o produto delas. Sei que se os multiplicar em série, o produto geralmente permanecerá tão escasso a cada etapa.
Existem algoritmos de produtos em cadeia de matrizes que funcionam particularmente rápido nesse caso?
Em um nível mais alto, o problema é calcular a composição de uma série de mapeamentos um para muitos em um gráfico razoavelmente pequeno (funções de transição de uma NFA), onde a maioria dos elementos é mapeada para não mais que 0-3.
(observe que este não é o problema usual do "produto em cadeia da matriz", porque todas as matrizes são do mesmo tamanho e não preciso escolher o parênteses ideal)