Nel 1979, Freivalds mostrò che la verifica dei prodotti della matrice su qualsiasi campo poteva essere effettuata in tempi randomizzati . Più formalmente, date tre matrici A, B e C, con voci da un campo F, il problema di verificare se AB = C ha un algoritmo temporale randomizzato .O ( n 2 )
Questo è interessante perché l'algoritmo più veloce conosciuto per la moltiplicazione delle matrici è più lento di così, quindi controllare se AB = C è più veloce del calcolo C.
Voglio sapere qual è la struttura algebrica più generale su cui la verifica del prodotto matrice ha ancora un algoritmo tempo (randomizzato). Poiché l'algoritmo originale funziona su tutti i campi, suppongo che funzioni anche su tutti i domini integrali.
La migliore risposta che ho potuto trovare a questa domanda è stata nelle equivalenze subcubiche tra problemi di percorso, matrice e triangolo , in cui si dice che "la verifica del prodotto matriciale su anelli può essere eseguita in tempo randomizzato [BK95]". ([BK95]: M. Blum e S. Kannan. Progettazione di programmi che controllano il loro lavoro. J. ACM, 42 (1): 269–291, 1995.)
Innanzitutto, gli anelli sono la struttura più generale su cui questo problema ha un algoritmo randomizzato ? In secondo luogo, non sono riuscito a vedere come i risultati di [BK95] mostrano un algoritmo temporale su tutti gli anelli. Qualcuno può spiegare come funziona?O ( n 2 )