Konsekwencje przybliżenia wyznacznika

16

n×nlog2(n)1A11/poly

W związku z tym, o jakie „poprawne” przybliżenie należy zapytać - multiplikatywne lub addytywne? (patrz jedna z odpowiedzi poniżej).

Lior Eldar
źródło
1
Czy powinny być na prawdziwej pamięci RAM?
Nie jestem pewien, czy właściwie rozumiem pytanie, ale jeśli odwołujesz się do precyzji arytmetyki, to zakładam, że każda liczba rzeczywista jest przechowywana w log (n) bitach.
Lior Eldar

Odpowiedzi:

4

Niebezpieczeństwo niewłaściwego zrozumienia szczegółów pytania: umiejętność przybliżenia wyznacznika w ramach dowolnego czynnika wymaga zdolności do decydowania, czy macierz kwadratowa jest pojedyncza, czy nie, co powinno mieć pewne konsekwencje.

Po pierwsze, daje losowy test sprawdzający, czy ogólny wykres ma idealne dopasowanie (za pomocą macierzy Tutte i Schwarz-Zippel). Nie sądzę, aby to drugie było znane w losowej przestrzeni logicznej (np. Zoo Złożoności wymienia dwustronne idealne dopasowanie jako trudne dla NL).

Magnus Wahlström
źródło
Dzięki Magnus, chociaż tak naprawdę myślałem o addytywnym błędzie aproksymacji, w którym to przypadku nie będziesz musiał rozróżniać, czy macierz jest pojedyncza, czy nie. Interesujące może być również przybliżenie wielopłaszczyznowe, więc nie jestem pewien, jaka jest najlepsza definicja.
Lior Eldar
1
@LiorEldar, z pewnością nawet z błędem aproksymacji addytywnej, jeśli wpisy w macierzy są liczbami całkowitymi, a granica błędu addytywnego jest mniejsza niż 0,5, masz niezawodny test osobliwości?
Peter Taylor
Cześć Peter Taylor, myślę, że tak powiem, powiedz 0,5 precyzji, że najpierw musisz jakoś określić największą obsługiwaną normę operatora. Na przykład, jeśli twoje wejście ma A 1 , to twój błąd addytywności może wynosić 1 / pAA1 . Tak więc, nawet jeśli wejście jest podawany w postaci liczb całkowitych ściętego, każda o l O g ( N ) bitów, a maksymalna norma dla których wymaga się w przybliżeniu wyznacznik byłoby n n chodzi o całkowite, co oznacza, że 0,51/poly(n)log(n)nn0.5błąd aproksymacji jest znacznie mniejszy niż stosunku do A . 1/poly(n)A
Lior Eldar
Myślę, że problem z addytywnym błędem w stosunku do normy polega na tym, że tak naprawdę nie ładnie się skaluje. Powiedzmy, że mam algorytm, który dał błąd aproksymacji stosunku do | | A | | . Teraz niech A ' będzie n 3 × n 3 blokową macierzą ukośną utworzoną przy użyciu n 2 kopii A jako bloków. To | | A | | = | | A | |1/poly(n)||A||An3×n3n2A||A||=||A||, ale , więc a | | A | | / p o l y ( n ) błąd addytywności dla d e t ( A ) jest skalowany do błędu addytywności O ( 1 ) dla d e t ( A ) . det(A)=det(A)n2||A||/poly(n)det(A)O(1)det(A)
Kevin Costello,