Các tiêu chí dừng cho các bộ giải tuyến tính lặp được áp dụng cho các hệ thống gần như số ít


16

Xét với gần như số ít có nghĩa là có một giá trị riêng của rất nhỏ. Tiêu chí dừng thông thường của phương pháp lặp dựa trên và liên quan đến các lần lặp có thể dừng khi với n số lần lặp. Nhưng trong trường hợp chúng tôi đang xem xét, có thể có lỗi lớn v sống trong không gian eigens không liên quan đến eigenvalue nhỏ \ lambda_0 mang lại số dư nhỏ Av = \ lambda_0v . Giả sử r_0 còn lại ban đầu lớn, thì có thể chúng ta dừng lại ởMột λ 0 Một r n : = b - Một x nr n/r 0< t o l n v λ 0 Một v = λ 0 v r 0r n/r 0< T o lMộtx= =bMộtλ0Mộtrn: =b-Mộtxnrn/r0<tolnvλ0Av=λ0vr0rn/r0<tol nhưng lỗi xnx vẫn còn lớn. Một chỉ báo lỗi tốt hơn trong trường hợp này là gì? Là xnxn1một ứng cử viên tốt?


3
Bạn có thể muốn nghĩ về định nghĩa của bạn về "gần như số ít". Ma trận (với và ma trận danh tính) có một giá trị riêng rất nhỏ, nhưng khác xa so với bất kỳ ma trận nào. Iϵϵ1I
David Ketcheson

1
Ngoài ra,có vẻ như ký hiệu sai. | | r_n | | / | | r_0 || là điển hình hơn, không? ||rn/r0||||rn||/||r0||
Bill Barth

Vâng, bạn nói đúng, Bill! Tôi sẽ sửa lỗi này.
Hui Zhang

1
Thế còn? và thuật toán của bạn, chính xác là gì? bAx/b
shuhalo

2
Phụ lục: Tôi nghĩ rằng bài báo sau đây khá nhiều về các hệ thống điều hòa mà bạn lo lắng, ít nhất là nếu bạn đang sử dụng CG: Axelson, Kaporin: Ước tính định mức lỗi và dừng tiêu chí trong các lần lặp độ dốc liên hợp tiền điều kiện. DOI: 10.1002 / nla.244
shuhalo

Câu trả lời:


13

Vui lòng không bao giờ sử dụng sự khác biệt giữa các lần lặp liên tiếp để xác định tiêu chí dừng. Điều này chẩn đoán sai sự trì trệ cho sự hội tụ. Hầu hết các lần lặp ma trận không đối xứng không phải là đơn điệu, và thậm chí GMRES trong số học chính xác không có khởi động lại có thể bị đình trệ cho một số lần lặp tùy ý (lên đến kích thước của ma trận) trước khi hội tụ đột ngột. Xem các ví dụ trong Nachtigal, Reddy và Trefethen (1993) .

Một cách tốt hơn để xác định sự hội tụ

Chúng tôi thường quan tâm đến độ chính xác của giải pháp của chúng tôi nhiều hơn kích thước của phần dư. Cụ thể, chúng tôi có thể muốn đảm bảo rằng sự khác biệt giữa một giải pháp gần đúng và giải pháp chính xác x thỏa mãn | x n - x | < c cho một số người dùng chỉ định c . Nó chỉ ra rằng có thể đạt được điều này bằng cách tìm một x n sao cho | A x n - b | < C ε nơi ε là giá trị đơn lẻ nhỏ nhất của A , doxnx

|xnx|<c
cxn
|Axnb|<cϵ
ϵA

|xnx|=|A1A(xnx)|1ϵ|AxnAx|=1ϵ|Axnb|<1ϵcϵ=c

trong đó chúng ta đã sử dụng là giá trị số đơn lớn nhất của A - 1 (dòng thứ hai) và x chính xác giải A x = b (dòng thứ ba).1/ϵA1xAx=b

Ước tính giá trị đơn lẻ nhỏ nhất ϵ

Một ước tính chính xác của giá trị số ít nhất thường không có sẵn trực tiếp từ vấn đề, nhưng nó có thể được ước tính như một sản phẩm phụ của độ dốc liên hợp hoặc phép lặp GMRES. Lưu ý rằng mặc dù ước tính về giá trị riêng lớn nhất và giá trị đơn lẻ thường là khá tốt chỉ sau một vài lần lặp lại, một ước tính chính xác của nhỏ eigen / giá trị đơn lẻ thường chỉ thu được một lần hội tụ là đạt. Trước khi hội tụ, ước tính nhìn chung sẽ lớn hơn đáng kể so với giá trị thực. Điều này cho thấy rằng bạn thực sự phải giải quyết các phương trình trước khi bạn có thể xác định chính xác sự khoan dung c ε . Dung sai hội tụ tự động có độ chính xác do người dùng cung cấp cϵcϵccho các giải pháp và dự toán giá trị đơn lẻ nhỏ nhất với tình trạng hiện thời của phương pháp Krylov có thể hội tụ quá sớm vì ước lượng ε là lớn hơn nhiều so với giá trị thực.ϵϵ

Ghi chú

  1. Các cuộc thảo luận ở trên cũng hoạt động với thay thế bằng toán tử tiền điều kiện bên trái P - 1 A và phần dư P - 1 ( A x n - b ) tiền điều kiện hoặc với toán tử tiền điều kiện bên phải A P - 1 và lỗi P ( x n - x ) . Nếu P - 1AP1AP1(Axnb)AP1P(xnx)P1là một điều kiện tiên quyết tốt, toán tử tiền điều kiện sẽ được điều hòa tốt. Đối với điều kiện tiên quyết trái, điều này có nghĩa là phần dư tiền điều kiện có thể được làm nhỏ, nhưng phần dư thực sự có thể không. Đối với điều kiện tiên quyết đúng, dễ dàng thực hiện nhỏ, nhưng lỗi thực sự | x n - x | có thể không. Điều này giải thích tại sao điều kiện tiên quyết bên trái là tốt hơn để tạo ra lỗi nhỏ trong khi điều kiện tiên quyết bên phải là tốt hơn để làm cho phần dư nhỏ (và để gỡ lỗi các điều kiện tiên quyết không ổn định).|P(xnx)||xnx|
  2. Xem câu trả lời này để biết thêm thảo luận về các tiêu chuẩn được tối thiểu hóa bởi GMRES và CG.
  3. Các ước tính của các giá trị số ít cực có thể được theo dõi bằng -ksp_monitor_singular_valuebất kỳ chương trình PETSc nào. Xem KSPComputeExtremeSingularValues ​​() để tính các giá trị số ít từ mã.
  4. Khi sử dụng GMRES để ước tính các giá trị số ít, điều quan trọng là không khởi động lại (ví dụ như -ksp_gmres_restart 1000trong PETSc).

1
'' cũng hoạt động với A được thay thế bởi toán tử tiền điều kiện '' - Tuy nhiên, sau đó nó chỉ áp dụng cho phần dư còn lại trước khi sử dụng P - 1 A , resp. đến lỗi tiền điều kiện P - 1 δ x nếu A P - 1 được sử dụng. P1rP1AP1δxAP1
Arnold Neumaier

1
Điểm tốt, tôi chỉnh sửa câu trả lời của tôi. Lưu ý rằng trường hợp tiền điều kiện bên phải cung cấp cho bạn quyền kiểm soát , giải phóng bộ điều kiện tiên quyết (áp dụng P - 1 ) thường khuếch đại các chế độ năng lượng thấp trong lỗi. PδxP1
Jed Brown

6

Một cách khác để xem xét vấn đề này là xem xét các công cụ từ các vấn đề nghịch đảo rời rạc, đó là các vấn đề liên quan đến việc giải hoặc min | | A x - b | | 2 nơi A là rất ốm lạnh (tức là tỷ lệ giữa giá trị đặc biệt đầu tiên và cuối cùng σ 1 / σ n là lớn).Ax=bmin||Axb||2Aσ1/σn

Ở đây, chúng tôi có một số phương pháp để chọn tiêu chí dừng và đối với phương pháp lặp, tôi sẽ đề xuất tiêu chí đường cong L vì nó chỉ liên quan đến số lượng đã có sẵn (DISCLAIMER: Cố vấn của tôi đã tiên phong cho phương pháp này, vì vậy tôi chắc chắn thiên về phương pháp này nó). Tôi đã sử dụng điều này với thành công trong một phương pháp lặp.

Ý tưởng là theo dõi định mức dư và định mức giải pháp η k = | | x k | | 2 , trong đó x k là lần lặp thứ k . Khi bạn lặp lại, điều này bắt đầu vẽ hình dạng của L trong một biểu đồ loglog (rho, eta), và điểm ở góc của L là lựa chọn tối ưu.ρk=||Axkb||2ηk=||xk||2xkk

Điều này cho phép bạn thực hiện một tiêu chí mà bạn để mắt đến khi bạn đã vượt qua góc (tức là nhìn vào độ dốc của ), sau đó chọn lặp đi lặp lại ở góc.(ρk,ηk)

Con đường tôi đã làm nó liên quan đến lưu trữ 20 lặp cuối cùng, và nếu gradient là lớn hơn so với một số ngưỡng 20 lần lặp liên tiếp, tôi biết rằng tôi là trên một phần thẳng đứng của đường cong và rằng tôi đã vượt qua góc. Sau đó, tôi lấy lần lặp đầu tiên trong mảng của mình (tức là lần lặp 20 lần trước) làm giải pháp của tôi.abs(log(ηk)log(ηk1)log(ρk)log(ρk1))

Ngoài ra còn có các phương pháp chi tiết hơn để tìm góc, và chúng hoạt động tốt hơn nhưng yêu cầu lưu trữ một số lượng đáng kể các lần lặp. Chơi xung quanh với nó một chút. Nếu bạn đang ở trong MATLAB, bạn có thể sử dụng Công cụ chính quy hóa hộp công cụ, thực hiện một số điều này (cụ thể là chức năng "góc" được áp dụng).

Lưu ý rằng phương pháp này đặc biệt phù hợp với các vấn đề quy mô lớn, vì thời gian tính toán thêm có liên quan là rất nhỏ.


1
Cảm ơn rất nhiều! Vì vậy, trong cốt truyện loglog (rho, eta), chúng ta bắt đầu từ bên phải của đường cong L và kết thúc ở đầu L, phải không? Tôi chỉ không biết nguyên tắc đằng sau tiêu chí này. Bạn có thể giải thích tại sao nó luôn luôn hoạt động như một đường cong L và tại sao chúng ta chọn góc không?
Hui Zhang

||Axb||2=||e||2ebexact=b+e. Để biết thêm phân tích, xem Hansen, PC, & O'Leary, DP (1993). Việc sử dụng đường cong L trong việc chính quy hóa các vấn đề đặt ra rời rạc. Tạp chí SIAM về tính toán khoa học, 14. Lưu ý rằng tôi chỉ thực hiện một bản cập nhật nhỏ cho bài đăng.
OscarB

4
@HuiZhang: không phải lúc nào cũng là chữ L. Nếu chính quy hóa không rõ ràng, nó có thể là chữ L kép, dẫn đến hai ứng cử viên cho giải pháp, một người có khả năng giải quyết tốt hơn, người còn lại với một số chi tiết nhất định được giải quyết tốt hơn. (Và tất nhiên, hình dạng ecomplex mor có thể xuất hiện.)
Arnold Neumaier

Liệu đường cong L có áp dụng cho các vấn đề không có điều kiện trong đó cần có một giải pháp duy nhất không? Đó là, tôi quan tâm đến các vấn đề Ax = b trong đó b được biết là "chính xác" và A gần như là số ít nhưng vẫn không thể đảo ngược về mặt kỹ thuật. Dường như với tôi rằng nếu bạn sử dụng một cái gì đó như GMRES, định mức của dự đoán x hiện tại của bạn sẽ không thay đổi quá nhiều theo thời gian, đặc biệt là sau lần lặp đầu tiên tuy nhiên nhiều lần lặp lại. Dường như với tôi rằng phần dọc của đường cong L xảy ra do không có giải pháp duy nhất / hợp lệ trong một vấn đề không chính đáng; tính năng dọc này sẽ có mặt trong tất cả các vấn đề điều hòa?
nukeguy

Tại một thời điểm, bạn sẽ đạt được một đường thẳng đứng như vậy, thường là do các lỗi số trong phương pháp giải pháp của bạn dẫn đến | | Ax-b | | không giảm. Tuy nhiên, bạn đã đúng rằng trong các vấn đề không có tiếng ồn như vậy, đường cong không phải lúc nào cũng trông giống chữ L, nghĩa là bạn thường có một vài góc để chọn và chọn một góc khác có thể khó khăn. Tôi tin rằng bài báo mà tôi tham chiếu trong bình luận của tôi ở trên thảo luận ngắn gọn về các tình huống không có tiếng ồn.
OscarB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.