Định nghĩa của hệ thống ODE cứng


17

Hãy xem xét IVP cho hệ thống ODE , . Thông thường nhất, sự cố này được coi là cứng khi ma trận Jacobi part part có cả giá trị riêng với phần thực âm rất lớn và giá trị riêng với phần thực âm rất nhỏ (tôi chỉ coi là ổn định trường hợp).y ( x 0 ) = y 0 fy'= =f(x,y)y(x0)= =y0fy(x0,y0)

Mặt khác, trong trường hợp chỉ có một phương trình, ví dụ phương trình Prothero-Robinson , nó được gọi là cứng khi .λ « - 1y'= =λy+g'+λgλ«-1

Vì vậy, có hai câu hỏi:

  1. Tại sao giá trị riêng nhỏ được đưa vào định nghĩa độ cứng cho hệ thống ODE? Tôi tin rằng sự hiện diện của các phần thực âm rất lớn là khá đủ để hệ thống bị cứng, bởi vì điều này khiến chúng ta sử dụng các dấu thời gian nhỏ cho các phương thức rõ ràng.

  2. Vâng, tôi biết rằng các vấn đề cứng phổ biến nhất (ví dụ phát sinh từ các PDE parabol) có cả giá trị riêng lớn và nhỏ. Vì vậy, câu hỏi thứ hai: có một ví dụ tự nhiên tốt về hệ thống cứng lớn mà không có giá trị riêng rất nhỏ (hoặc thay thế với tỷ lệ nhẹ )?λtối đa/λtối thiểu


OK, hãy sửa đổi câu hỏi. Hãy xem xét hai hệ thống ODE tuyến tính hai chiều: thứ nhất với giá trị riêng {-1000000, -0.00000001} và thứ hai với {-1000000, -999999}. Đối với tôi, cả hai đều cứng. Nhưng nếu chúng ta xem xét định nghĩa tỷ lệ độ cứng, hệ thống thứ hai thì không. Câu hỏi chính: tại sao tỷ lệ độ cứng được xem xét ở tất cả?

Và phần thứ hai của câu hỏi vẫn còn quan trọng, hãy diễn giải nó: Tôi đang tìm kiếm một hệ thống ODE lớn "tự nhiên" với các giá trị riêng âm lớn và tỷ lệ độ cứng nhẹ (không lớn hơn, giả sử, 100).


2
Chào mừng đến với scicomp.se. Câu hỏi của bạn được trả lời kỹ lưỡng trên wikipedia: en.m.wikipedia.org/wiki/Stiff_equation
David Ketcheson

Tôi nghĩ giữa nhận xét của @DavidKetcheson và một số nguồn tôi đã trích dẫn, bạn sẽ thấy tỷ lệ độ cứng chỉ là một hướng dẫn. Nó không hoàn hảo; đó là lý do tại sao nó không có trong định nghĩa. Nó xảy ra là một đặc điểm của nhiều, nhưng không phải tất cả, các hệ thống cứng. Và đối với phần thứ hai, tôi nghĩ bạn sẽ khó tìm thấy nó trừ khi nó có cấu trúc đặc biệt hoặc phát sinh trong một ứng dụng. Tôi đã cho bạn một ví dụ về một ứng dụng như vậy trong đó tỷ lệ độ cứng không phải lúc nào cũng lớn và tôi khuyến khích bạn xem cuốn sách của Hairer và Wanner.
Geoff Oxberry

1
@David: Tôi không thể đồng ý với bạn. Lấy ví dụ bài toán một chiều y '= - 50 (y-cos x). "Giá trị riêng" là -50. Người ta không thể giải quyết vấn đề này với Euler rõ ràng với số bước lớn hơn 2/50. Nếu chúng ta thay thế -50 bằng -50000, hạn chế về dấu thời gian trở thành 2/50000. "Đơn vị" nào chúng ta có thể chọn ở đây để vượt qua rào cản này?
faleichik

2
@faleichik Phần trong ví dụ của bạn sửa thang thời gian của "đa tạp chậm" (có thể là thang thời gian mà bạn quan tâm, mặc dù có thể hiểu rằng bạn sẽ quan tâm đến thang thời gian ngắn hơn nhiều). Tôi không tin rằng có thể xác định độ cứng mà không chọn thang thời gian quan sát (có thể ngầm định bằng cách nêu các thuộc tính mà bạn muốn bảo tồn trong thời gian dài hơn). Tỷ lệ độ cứng chỉ định lượng sự phân chia tỷ lệ giữa các thang thời gian nhanh nhất và chậm nhất của hệ thống tự trị . cosx
Jed Brown

1
Có một câu trả lời mới, tốt hơn cho câu hỏi này trong bài viết này .
David Ketcheson

Câu trả lời:


10

Độ cứng liên quan đến một số tách vảy. Nói chung, nếu bạn quan tâm đến pha của chế độ nhanh nhất trong hệ thống, thì bạn phải giải quyết nó và hệ thống không bị cứng. Nhưng thường xuyên, bạn quan tâm đến các động lực dài hạn của một "đa tạp chậm" hơn là tốc độ chính xác mà tại đó một giải pháp từ đa tạp chậm tiếp cận nó.

Phản ứng hóa học và dòng phản ứng là ví dụ phổ biến của các hệ thống cứng. Bộ tạo dao động van der Pol là một vấn đề chuẩn phổ biến đối với các nhà tích hợp ODE có một tham số độ cứng có thể điều chỉnh.

Một đại dương là một ví dụ khác có lẽ hữu ích để hình dung. Sóng thần (sóng trọng lực bề mặt) truyền đi với tốc độ của một chiếc máy bay và tạo ra cấu trúc sóng phức tạp, nhưng tiêu tan theo quy mô thời gian dài và chủ yếu không liên quan đến động lực học dài hạn của đại dương. Eddies, hoặc mặt khác, di chuyển chậm hơn khoảng 100 lần ở tốc độ khá dành cho người đi bộ, nhưng gây ra sự pha trộn và vận chuyển nhiệt độ, độ mặn và các dấu vết hóa sinh có liên quan. Nhưng cùng một vật lý truyền sóng trọng lực bề mặt cũng hỗ trợ một xoáy (cấu trúc cân bằng gần đúng), do đó vận tốc xoáy, đường đi dưới Coriolis và tốc độ tiêu tán phụ thuộc vào tốc độ sóng trọng lực. Đây là cơ hội cho sơ đồ tích hợp thời gian được thiết kế cho các hệ thống cứng để bước qua thang thời gian của sóng trọng lực và chỉ giải quyết các thang thời gian động có liên quan. XemMousseau, Knoll và Reisner (2002) để thảo luận về vấn đề này với việc so sánh các sơ đồ tích hợp thời gian tách rời và hoàn toàn ẩn.

Liên quan: Khi nào nên sử dụng các phương pháp ngầm trong việc tích hợp các PDE hyperbol?

Lưu ý rằng các quá trình khuếch tán thường được coi là cứng vì thang thời gian nhanh nhất trong hệ thống rời rạc phụ thuộc vào lưới, tỷ lệ với , nhưng thang thời gian của vật lý liên quan là độc lập với lưới. Trong thực tế, các thang đo thời gian nhanh nhất cho một lưới nhất định thể hiện sự thư giãn cục bộ cho đa tạp chậm hơn trên đó các thang đo không gian dài hơn phát triển, vì vậy các phương pháp ngầm có thể rất chính xác ngay cả trong các quy tắc mạnh mặc dù không giải quyết các thang đo nhanh nhất.(Δx)2


10

Phần 1

Các giá trị riêng nhỏ không được bao gồm trong định nghĩa độ cứng cho các hệ thống ODE (vấn đề giá trị ban đầu). Không có định nghĩa thỏa mãn về độ cứng mà tôi biết, nhưng các định nghĩa tốt nhất tôi gặp phải là:

Nếu một phương pháp số có vùng ổn định tuyệt đối, áp dụng cho hệ thống với bất kỳ điều kiện ban đầu nào, buộc phải sử dụng trong một khoảng thời gian tích hợp nhất định, độ dài quá nhỏ so với độ mịn của giải pháp chính xác trong khoảng đó , sau đó hệ thống được cho là cứng trong khoảng đó. (Lambert, JD (1992), Phương pháp số cho các hệ thống khác biệt thông thường , New York: Wiley.)

[0,b]

Các phương trình cứng là các phương trình trong đó các phương thức ngầm định, đặc biệt là BDF, thực hiện tốt hơn, thường tốt hơn rất nhiều, so với các phương trình rõ ràng. (CF Curtiss & JO Hirschfelder (1952): Tích hợp các phương trình cứng. PNAS, tập 38, trang 235-243)

Bài viết Wikipedia về phương trình cứng tiếp tục quy các "câu lệnh" sau cho Lambert:

  1. Một hệ thống hệ số không đổi tuyến tính là cứng nếu tất cả các giá trị riêng của nó có phần thực âm và tỷ lệ độ cứng lớn.

  2. Độ cứng xảy ra khi yêu cầu độ ổn định, thay vì độ chính xác, hạn chế độ dài bước. [Lưu ý rằng "quan sát" này thực chất là định nghĩa từ Ascher và Petzold.]

  3. Cứng khớp xảy ra khi một số thành phần của giải pháp phân rã nhanh hơn nhiều so với những người khác.

Mỗi trong số các quan sát này đều có phản ứng mẫu (mặc dù phải thừa nhận rằng tôi không thể tạo ra một cái trên đỉnh đầu).

Phần 2

Có lẽ ví dụ tốt nhất tôi có thể đưa ra là tích hợp bất kỳ loại hệ thống phản ứng đốt cháy lớn nào trong động học hóa học trong các điều kiện dẫn đến đánh lửa. Hệ thống các phương trình sẽ cứng cho đến khi đánh lửa, và sau đó nó sẽ không còn cứng nữa vì hệ thống đã vượt qua một thoáng qua ban đầu. Tỷ lệ giữa giá trị riêng lớn nhất và nhỏ nhất không được lớn ngoại trừ xung quanh sự kiện đánh lửa, mặc dù các hệ thống như vậy có xu hướng gây nhiễu các tích hợp cứng trừ khi bạn đặt dung sai tích hợp quá nghiêm ngặt.

Cuốn sách của Hairer và Wanner cũng đưa ra một số ví dụ khác trong phần đầu tiên (Phần IV, phần 1) minh họa nhiều ví dụ khác về phương trình cứng. (Wanner, G., Hairer, E., Giải các phương trình vi phân thông thường II: Các vấn đề đại số và khác biệt (2002), Springer.)

Cuối cùng, đáng để chỉ ra sự quan sát của CW Gear:

Mặc dù người ta thường nói về "phương trình vi phân cứng," một phương trình cho mỗi gia nhập không phải là gay gắt, một vấn đề giá trị ban đầu đặc biệt đối với phương trình mà bạn có thể gay gắt, ở một số vùng, nhưng kích thước của các khu vực này phụ thuộc vào các giá trị ban đầu các khả năng chịu lỗi. (CW Gear (1982): Tự động phát hiện và xử lý các phương trình vi phân thông thường dao động và / hoặc cứng. Trong: Tích hợp số phương trình vi phân, Ghi chú bài giảng trong Toán học, Tập 968, trang 190-206.)


Kính gửi Geoff, cảm ơn vì sự khoan dung :-) Tôi muốn giữ câu hỏi của mình đơn giản, nhưng cuối cùng lại bị coi là thiếu kinh nghiệm. Trong thực tế, tôi biết tất cả các định nghĩa, nhưng.
faleichik

1. Các giá trị riêng nhỏ ngầm hành động theo định nghĩa về tỷ lệ độ cứng: nó lớn khi kẻ hủy diệt nhỏ. 2. Đối với trường hợp tuyến tính một chiều, tỷ lệ độ cứng luôn luôn là một, ngay cả đối với các phương trình cứng. 3. Bạn có bất cứ tài liệu tham khảo nào cho vấn đề động học hóa học mà bạn đã mắc phải không? Và 4. Tôi sẽ cố gắng làm rõ câu hỏi trong các bình luận.
faleichik

2
Bạn có thể tìm thấy các cơ chế hóa học ở định dạng CHEMKIN tại đây . Các vấn đề đủ lớn để các tệp đầu vào là cần thiết và các phương trình được thiết lập tự động bằng cách sử dụng gói hóa học. Tôi đề nghị sử dụng các tệp đầu vào kết hợp với gói hóa học Cantera và bộ giải quyết ODE / DAE SUNDIALS , cả hai đều là nguồn mở. Sau đó, bạn có thể giải quyết các vấn đề như vậy trong C ++ hoặc MATLAB.
Geoff Oxberry

Cá nhân tôi lấy câu của Curtiss-Hirschfelder làm định nghĩa làm việc của tôi về độ cứng; nếu RK hoặc Adams rõ ràng đang mất quá nhiều thời gian để giải quyết vấn đề của bạn, thì có khả năng nó sẽ bị cứng.
JM

2

Trong thực tế, Jed Brown đã xóa câu hỏi cho tôi. Những gì tôi đang làm bây giờ chỉ là đặt lời nói của anh ấy vào ngữ cảnh.

  1. Cả hai hệ thống ODE tuyến tính 2d từ trên đều cứng (nghĩa là khó giải quyết bằng các phương pháp rõ ràng) trong các khoảng thời gian lớn tương đối (ví dụ [0,1]).

  2. Các hệ thống tuyến tính với tỷ lệ độ cứng lớn có thể được coi là "cứng hơn" bởi vì rất có thể người ta cần tích hợp chúng vào khoảng thời gian lớn. Điều này là do các thành phần chậm tương ứng với các giá trị riêng nhỏ nhất: giải pháp từ từ có xu hướng đến trạng thái ổn định và trạng thái ổn định này thường rất quan trọng để đạt được.

  3. Mặt khác, việc tích hợp các hệ thống có tỷ lệ độ cứng nhỏ trên các khoảng lớn không phải là điều đáng quan tâm: trong trường hợp này, trạng thái ổn định đạt được rất nhanh và chúng ta chỉ có thể ngoại suy nó.

Cảm ơn tất cả cho cuộc thảo luận này!


1

Độ lớn tuyệt đối của các giá trị riêng (trong một vấn đề tuyến tính, tự trị) không có ý nghĩa gì cả; đó là một tạo tác của các đơn vị bạn chọn để thể hiện vấn đề.

Chuỗi ý kiến ​​đang vượt khỏi tầm kiểm soát, vì vậy tôi sẽ đưa ra câu trả lời này. Tôi sẽ không trả lời câu hỏi đầy đủ; như tôi đã nói, xem wikipedia hoặc các câu trả lời khác ở đây. Tôi chỉ trả lời một chút rằng

Hãy xem xét hai hệ thống ODE tuyến tính hai chiều: thứ nhất với giá trị riêng {-1000000, -0.00000001} và thứ hai với {-1000000, -999999}. Đối với tôi, cả hai đều cứng. Nhưng nếu chúng ta xem xét định nghĩa tỷ lệ độ cứng, hệ thống thứ hai thì không. Câu hỏi chính: tại sao tỷ lệ độ cứng được xem xét ở tất cả?

Được rồi, hãy xem xét một ví dụ về trường hợp thứ hai:

y1'(t)= =-1000000y1(t)
y2'(t)= =-999999y2(t)

t*= =1000000t

y1'(t*)= =-y1(t*)
y2'(t*)= =-0,99999999y2(t*)

Lưu ý 1: Tôi đã chọn một hệ thống đường chéo để làm cho nó hoàn toàn rõ ràng, nhưng nếu bạn thử nó với một hệ thống khác có các giá trị riêng đó, bạn sẽ thấy hiệu ứng tương tự, vì nhân một ma trận với hằng số nhân giá trị riêng của nó với cùng một hằng số.

|λ|»1


David, bạn đã không xem xét khoảng thời gian tích hợp. Hãy để nó là [0,1] trong trường hợp đầu tiên. Giả sử các giới hạn ổn định rõ ràng của Euler, bước tối đa được phép là 2/1000000. Vì vậy, chúng ta cần thực hiện ít nhất 500 000 bước. Khi bạn chia tỷ lệ thời gian, số bước tối đa tăng lên 2, nhưng toàn bộ khoảng thời gian tích hợp trở thành 1 000 000 và chúng tôi lại đạt tối thiểu 500 000 bước.
faleichik

@faleichik Vâng, bây giờ bạn đã có nó. Độ cứng không liên quan đến độ lớn tuyệt đối của giá trị bản địa nhưng với kích thước của chúng so với thời gian quan tâm của bạn, như Jed đã lưu ý ở trên.
David Ketcheson
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.