Em 1979, Freivalds mostrou que a verificação de produtos matriciais em qualquer campo pode ser feita em tempo aleatório . Mais formalmente, dadas três matrizes A, B e C, com entradas de um campo F, o problema de verificar se AB = C possui um algoritmo de tempo aleatório .
Isso é interessante porque o algoritmo mais rápido conhecido para multiplicar matrizes é mais lento que isso, portanto, verificar se AB = C é mais rápido que calcular C.
Quero saber qual é a estrutura algébrica mais geral sobre a qual a verificação de produtos matriciais ainda possui um algoritmo de tempo (randomizado). Como o algoritmo original funciona em todos os campos, acho que também funciona em todos os domínios integrais.
A melhor resposta que pude encontrar para essa pergunta foi em Equivalências subcúbicas entre problemas de caminho, matriz e triângulo , onde eles dizem que "a verificação do produto da matriz por anéis pode ser feita no tempo aleatório [BK95]". ([BK95]: M. Blum e S. Kannan. Criando programas que verificam seu trabalho. J. ACM, 42 (1): 269–291, 1995.)
Primeiro, os anéis são a estrutura mais geral na qual esse problema possui um algoritmo randomizado? Segundo, eu não conseguia ver como os resultados de [BK95] mostram um algoritmo de tempo em todos os anéis. Alguém pode explicar como isso funciona?