W 1979 r. Freivalds wykazał, że weryfikacja produktów matrycowych w dowolnym polu może być przeprowadzona w losowym czasie . Bardziej formalnie, biorąc pod uwagę trzy macierze A, B i C, z wpisami z pola F, problem sprawdzania, czy AB = C ma losowy algorytm czasowy O ( n 2 ) .
Jest to interesujące, ponieważ najszybszy znany algorytm mnożenia macierzy jest wolniejszy niż ten, dlatego sprawdzanie, czy AB = C jest szybsze niż obliczanie C.
Chcę wiedzieć, jaka jest najbardziej ogólna struktura algebraiczna, nad którą weryfikacja iloczynu macierzowego nadal ma algorytm czasu (losowego) . Ponieważ oryginalny algorytm działa na wszystkich polach, myślę, że działa również na wszystkich domenach integralnych.
Najlepszą odpowiedzią, jaką mogłem znaleźć na to pytanie, były podklubie Równoważności między ścieżkami, macierzą i problemami trójkąta , w których powiedziano: „weryfikacja iloczynu macierzy przez pierścienie może być wykonana w losowym czasie [BK95]”. ([BK95]: M. Blum i S. Kannan. Projektowanie programów, które sprawdzają ich pracę. J. ACM, 42 (1): 269–291, 1995.)
Po pierwsze, czy pierścienie są najbardziej ogólną strukturą, na której ten problem ma losowy algorytm ? Po drugie, nie widziałem, jak wyniki [BK95] pokazują algorytm czasowy O ( n 2 ) dla wszystkich pierścieni. Czy ktoś może wyjaśnić, jak to działa?