En 1979, Freivalds demostró que la verificación de los productos matriciales en cualquier campo se puede hacer en un tiempo aleatorizado de . Más formalmente, dadas tres matrices A, B y C, con entradas de un campo F, el problema de verificar si AB = C tiene un algoritmo de tiempo O ( n 2 ) aleatorio .
Esto es interesante porque el algoritmo más rápido conocido para multiplicar matrices es más lento que esto, por lo que verificar si AB = C es más rápido que calcular C.
Quiero saber cuál es la estructura algebraica más general sobre la cual la verificación de productos de matriz todavía tiene un algoritmo de tiempo (aleatorio). Dado que el algoritmo original funciona en todos los campos, creo que también funciona en todos los dominios integrales.
La mejor respuesta que pude encontrar a esta pregunta fue en Equivalencias subcúbicas entre problemas de trayectoria, matriz y triángulo , donde dicen que "la verificación del producto matricial sobre los anillos se puede hacer en tiempo aleatorio [BK95]". ([BK95]: M. Blum y S. Kannan. Diseño de programas que verifican su trabajo. J. ACM, 42 (1): 269–291, 1995.)
Primero, ¿son los anillos la estructura más general sobre la cual este problema tiene un algoritmo aleatorio ? En segundo lugar, no pude ver cómo los resultados de [BK95] muestran un algoritmo de tiempo O ( n 2 ) en todos los anillos. ¿Alguien puede explicar cómo funciona?