Die Beschränkung der Eigenwerte wird üblicherweise in Form einer Bedingungsnummer angegeben . Dies ist das κ , das Sie in allen Laufzeiten in Ihrer Tabelle sehen. κ=|λmax/λmin|wobei λmax und λmin die maximalen bzw. minimalen Eigenwerte sind.
In allen in Ihrer Tabelle aufgeführten Laufzeiten wird davon ausgegangen, dass die Bedingungsnummer bekannt ist. Man denkt normalerweise nicht daran, "die Bedingungsnummer zu berechnen" als Teil des Algorithmus zum Beispiel zum Lösen von Ax=b . Wenn die Bedingungsnummer größer ist, ist das System schwerer zu lösen, und wenn es kleiner ist, ist das System leichter zu lösen (vorausgesetzt, alle anderen Parameter, einschließlich des maximal gewünschten Fehlers ϵ werden festgehalten).
In Bezug auf die Notwendigkeit zu wissen, dass λmax<M und λmin>L , gibt es viele Beispiele, bei denen wir die Grenzen der Eigenwerte kennen können, ohne tatsächlich den Aufwand für die Berechnung der Eigenwerte zu durchlaufen. Auf diese Weise kann HHL eine großartige Möglichkeit sein, den gesuchten Zustand zu finden, ohne die Kosten für die Berechnung der Bedingungsnummer oder Eigenwerte.
Lassen Sie mich nur ein Beispiel aus der Praxis nennen. Sagen wir , ich die molekulare Schwingungszustand finden wollen |ψ⟩ , so daß nach t=10 ps unter der Hamilton - Operator von sich entwickelnden H ist das Molekül , endet im Zustand |b⟩ . Dies kann durch die folgende Gleichung beschrieben werden:
e−iHt|ψ⟩=|b⟩
wo die |ψ⟩ diese Gleichung erfüllt ist , was Sie wissen wollen. Sie finden Ihren gewünschten |ψ⟩ durch den HHL - Algorithmus mit der Verwendung von A=e−iℏHtund|ψ⟩=|x⟩ .
Das Erhalten der kleinsten und größten Eigenwerte eines molekularen Hamilton-Operators mit willkürlicher Genauigkeit ist für einen klassischen Computer äußerst kostspielig, aber das Wissen, dass sie innerhalb des Bereichs (L,M) kann ohne Kosten bestimmt werden. Wenn das Molekül beispielsweise das Stickstoffdimer ist, wissen wir, dass die niedrigsten und höchsten Schwingungszustände Energien (Eigenwerte) zwischen 0 und 10 eV haben, und da e0=1 , haben wir L=1 und M=e−iℏ10eV⋅10ps. Sie können eV in Hz und ps in Sekunden konvertieren, umMnumerischauszuwerten, und dann können Sie die unteren und oberen Grenzen erhalten, die Sie beim Skalieren Ihrer Matrix verwenden müssen, wie Sie es in Ihrer vorherigen Frage beschrieben haben. Zu keinem Zeitpunkt musste ich die Eigenwerte eines 14-Elektronen-Molekül-Hamilton-Operators berechnen (was extrem schwierig wäre und den Zweck der Verwendung von HHL zunichte machen würde, denn wenn ich die Eigenwerte berechnen könnte, könnte ich einfachAberechnenund invertieren, um|zu erhalten& psgr;⟩|ψ⟩). Ich habe nur die Dissoziationsenergie des Moleküls verwendet, um die Grenzen seiner Schwingungsenergien zu ermitteln. Ich hätte mit der halbklassischen WKB-Näherung noch bessere Grenzen finden können , auch mit viel geringeren Kosten als die tatsächliche Berechnung der Eigenwerte, aber das erste Beispiel reicht bereits aus.
Lassen Sie uns nun alle Ihre individuellen Fragen beantworten:
Erste Gruppe von Fragen: Ich habe viele Artikel über HHL gelesen und keiner von ihnen erwähnte diese Einschränkung. Warum? Ist diese Einschränkung bekannt, wird sie jedoch als schwach angesehen (dh es ist einfach, diese Art von Informationen zu haben)? Oder war die Einschränkung nicht bekannt? Gibt es ein Forschungspapier, das diese Einschränkung erwähnt?
Von den 539 Arbeiten, die (derzeit) die ursprüngliche HHL-Arbeit zitiert haben, kennen viele die feineren Details wie die Abhängigkeit ihrer Leistung von der Bedingungszahl oder den Eigenwerten nicht. Einige der Artikel werden sicherlich wissen, dass die Leistung des Algorithmus von der Bedingungsnummer oder den Eigenwerten der Matrix abhängt, nämlich den in Ihrer Tabelle aufgeführten Artikeln zu Verbesserungen des HHL-Algorithmus. Robin Kothari erwähnte dies beispielsweise auch zu Beginn seines Vortrags 2016 über den CKS-Algorithmus (der in Ihrer Tabelle erwähnt wird).
Zweite Gruppe von Fragen: Gibt es einen besseren Algorithmus hinsichtlich der Komplexität? Wenn nicht, warum wird der HHL-Algorithmus dann immer noch als exponentielle Verbesserung gegenüber klassischen Algorithmen dargestellt?
Der von DaftWulie vorgeschlagene Algorithmus zur Schätzung der Grenzen der Eigenwerte wird nicht verbessert O(N−−√)Ns⋘NO(N−−√)
Sie haben Recht, die Leute sollten die Vorbehalte von Algorithmen in ihren Arbeiten häufiger erwähnen. In Bezug auf Ihre spezifische Frage "Warum wird der HHL-Algorithmus immer noch als exponentielle Verbesserung gegenüber klassischen Algorithmen dargestellt?" Skalierung, aber die Kosten steigen quadratisch mit der Bedingungsnummer und der Sparsity und umgekehrt mit der Größe des Fehlers, den Sie tolerieren möchten. Warum erwähnen die meisten anderen Menschen nach HHL nicht alle Vorbehalte? Nun, viele von ihnen kennen die Vorbehalte nicht, und diejenigen, die dies getan haben, haben möglicherweise das Gefühl, dass dies nicht notwendig ist, da die Berechnung der Bedingungsnummer nicht Teil des Algorithmus ist. Wenn Sie die Bedingungsnummer kennen, erfahren Sie, wie gut der Algorithmus funktioniert.