Các hạn chế về giá trị riêng thường được đưa ra dưới dạng một số điều kiện . Đây là mà bạn thấy trong tất cả thời gian chạy trong bảng của mình. trong đó và lần lượt là các giá trị riêng tối đa và tối thiểu .κκ = | λm a x/ λm i n|λm a xλm i n
Trong tất cả các thời gian chạy được liệt kê trong bảng của bạn, người ta cho rằng số điều kiện đã biết. Người ta thường không nghĩ đến việc "tính số điều kiện" như là một phần của thuật toán để giải chẳng hạn. Nếu số điều kiện lớn hơn, hệ thống khó giải quyết hơn và nếu nhỏ hơn, hệ thống sẽ dễ giải quyết hơn (giả sử tất cả các tham số khác, bao gồm cả lỗi mong muốn tối đa được giữ cố định). A x = bε
Về mặt cần phải biết rằng và , có rất nhiều ví dụ mà chúng ta có thể biết các giới hạn về giá trị bản địa mà không thực sự đi qua nỗ lực tính toán giá trị bản địa. Theo cách này, HHL có thể là một cách tuyệt vời để tìm trạng thái bạn đang tìm kiếm mà không phải trả chi phí tính số điều kiện hoặc bất kỳ giá trị riêng nào.λm a x< Mλm i n> L
Hãy để tôi chỉ đưa ra một ví dụ thực tế. Giả sử tôi muốn tìm trạng thái dao động phân tử sao cho sau khi ps tiến hóa dưới Hamilton của nó , phân tử kết thúc ở trạng thái . Điều này có thể được mô tả bởi phương trình:| ψ⟩t = 10H| b⟩
e- tôi Ht| ψ⟩= | b⟩
trong đó thỏa mãn phương trình này là những gì bạn muốn biết. Bạn có thể tìm thấy mong muốn của mình bằng cách sử dụng thuật toán HHL với và .| ψ⟩| ψ⟩A = e- tôiℏHt| ψ⟩= | x⟩
Có được giá trị riêng nhỏ nhất và lớn nhất của Hamiltonian phân tử đến độ chính xác tùy ý là cực kỳ tốn kém trên một máy tính cổ điển, nhưng biết rằng chúng nằm trong phạm vi có thể được xác định miễn phí. Ví dụ: nếu phân tử là dimer nitơ, chúng ta biết trạng thái dao động thấp nhất và cao nhất có năng lượng (giá trị riêng) trong khoảng từ 0 đến 10 eV và vì chúng ta có và . Bạn có thể chuyển đổi eV thành Hz và ps thành giây để đánh giá( L , M)e0= 1L = 1M= e- tôiℏ10 e V ⋅ 10 p sMbằng số, và sau đó bạn có thể có được các giới hạn dưới và trên mà bạn cần sử dụng khi nhân rộng ma trận theo cách bạn đã mô tả trong câu hỏi trước đó. Tôi không cần phải tính toán giá trị riêng của phân tử Hamilton 14 electron (sẽ cực kỳ khó khăn và sẽ đánh bại mục đích sử dụng HHL, bởi vì nếu tôi có thể tính được giá trị riêng tôi có thể tính và đảo ngược để có được ). Tôi chỉ sử dụng năng lượng phân ly của phân tử để đưa ra các giới hạn về năng lượng rung động của nó. Tôi có thể đã đưa ra các giới hạn thậm chí tốt hơn bằng cách sử dụng xấp xỉ WKB bán cổ điển , với chi phí thấp hơn nhiều so với việc tính toán giá trị bản địa, nhưng ví dụ đầu tiên là đủ.Một| ψ⟩
Vì vậy, bây giờ hãy giải quyết tất cả các câu hỏi cá nhân của bạn:
Nhóm câu hỏi đầu tiên: Tôi đã đọc rất nhiều bài viết về HHL và không ai trong số họ thậm chí đề cập đến hạn chế này. Tại sao? Là hạn chế này được biết đến nhưng được coi là yếu (tức là dễ dàng có loại thông tin này)? Hoặc hạn chế không được biết đến? Có bài nghiên cứu nào đề cập đến hạn chế này không?
Trong số 539 bài báo (hiện tại) đã trích dẫn bài báo HHL gốc, nhiều người trong số họ sẽ không biết các chi tiết tốt hơn như sự phụ thuộc của hiệu suất của nó vào số điều kiện hoặc giá trị bản địa. Một số bài báo chắc chắn sẽ biết rằng hiệu suất của thuật toán sẽ phụ thuộc vào số điều kiện hoặc giá trị riêng của ma trận, cụ thể là các bài viết được liệt kê trong bảng của bạn về các cải tiến cho thuật toán HHL. Robin Kothari cũng đã đề cập đến nó, ví dụ, vào lúc bắt đầu bài nói chuyện năm 2016 về thuật toán CKS (được đề cập trong bảng của bạn).
Nhóm câu hỏi thứ hai: Có thuật toán nào tốt hơn về độ phức tạp không? Nếu không, thì tại sao thuật toán HHL vẫn được trình bày như một sự cải tiến theo cấp số nhân so với các thuật toán cổ điển?
Thuật toán mà bạn đề cập, được đề xuất bởi DaftWulie, để ước tính giới hạn về giá trị bản địa, sẽ không được cải thiện so với vì chi phí vượt trội trong thuật toán đó là tìm kiếm qua tất cả hàng cho các giá trị tối đa và tối thiểu. Chi phí của tất cả mọi thứ khác chỉ là nhỏ vì ma trận được giả định có một thưa thớt của . Không có cách nào để thực hiện tìm kiếm này nhanh hơn thời gian (trừ khi bạn có một số kiến thức bổ sung khác về hệ thống) vì thuật toán của Grover đã được chứng minh là tối ưu.Ô ( N--√)Ns ⋘ NÔ ( N--√)
Bạn đã đúng, mọi người nên đề cập đến sự cẩn thận của các thuật toán thường xuyên hơn trong các bài báo của họ. Về câu hỏi cụ thể của bạn "tại sao thuật toán HHL vẫn được trình bày như là một cải tiến theo cấp số nhân so với thuật toán cổ điển", tôi nghĩ rằng các tác giả ban đầu HHL đã làm hết sức mình trong việc giải thích thuật toán và cảnh báo của nó, trong đó họ nói rằng có một hàm mũ nhân rộng nhưng chi phí tăng theo phương trình bậc hai với số điều kiện và độ thưa thớt và nghịch đảo với kích thước của lỗi bạn sẵn sàng chịu đựng. Tại sao hầu hết những người khác sau HHL không đề cập đến tất cả các cảnh báo? Chà, nhiều người trong số họ không biết những lời cảnh báo và những người có thể cảm thấy không cần thiết vì tính toán số điều kiện không phải là một phần của thuật toán. Biết số điều kiện sẽ cho bạn biết thuật toán sẽ hoạt động tốt như thế nào,