Giải hệ phương trình tuyến tính với ma trận tam giác tuần hoàn


8

Tôi có vấn đề này trong sách giáo khoa của tôi:

Đề xuất thuật toán hiệu quả để giải hệ phương trình tuyến tính với ma trận ba đường chéo tuần hoàn, có dạng: mà không hoán đổi bất kỳ hàng và cột nào. Ước tính độ phức tạp.

[một1b100d1c2một2b20000cn-2mộtn-2bn-200cn-1mộtn-1bn-1d200cnmộtn]

Và tôi không biết làm thế nào để tiếp cận điều này. Loại bỏ cổ điển sẽ hoạt động trong thời gian rất hiệu quả với ma trận này, nhưng vấn đề là khi nào, giả sử, tôi muốn loại bỏ với hàng thứ được thêm vào hàng thứ hai và khi . Tôi không thể làm điều đó và ngay cả khi thì vấn đề tương tự có thể xảy ra ở đâu đó ở giữa khu vực này. Hơn nữa, như văn bản vấn đề nêu rõ, tôi không được phép trao đổi bất kỳ hàng hoặc cột nào, vì vậy tôi không biết cách tiếp cận này có thể được khắc phục bằng cách nào đó. Ai có thể giúp đỡ?Ôi(n)c21-c2một1[một1b100d1]một1= =0một10


Hình thức của ma trận sẽ không ngăn bạn gặp vấn đề với ma trận (hoặc một hàm con) là số ít, nhưng tôi không đọc vấn đề khi hỏi về những gì có thể xảy ra. Thay vào đó bằng cách yêu cầu một "thuật toán hiệu quả ... mà không hoán đổi bất kỳ hàng và cột nào", có vẻ như "loại bỏ lassic" mà không cần xoay vòng sẽ là một cách tiếp cận hợp lý. Bạn có thấy làm thế nào để ước tính độ phức tạp của phương pháp này?
hardmath

Câu trả lời:


4

Không khó để xác định mức độ phức tạp của việc loại bỏ / giảm đơn giản đối với dạng tam giác trên. Lưu ý rằng ma trận ban đầu:

[một1b100d1c2một2b20000cn-2mộtn-2bn-200cn-1mộtn-1bn-1d200cnmộtn]

trở thành sau một bước loại bỏ:

[một1b100d10một2-b1c2một1b20-d1c2một100cn-2mộtn-2bn-200cn-1mộtn-1bn-10-b1d2một10cnmộtn-d1d2một1]

Chi phí của bước này là hằng số và nó để lại một chu trình con ba đường chéo theo chu kỳ ở góc dưới bên phải. Giảm hoàn toàn do đó sẽ đòi hỏi chi phí . Để giải quyết một hệ thống tuyến tính, người ta có thể thực hiện các hoạt động tương tự ở phía bên tay phải, cũng là chi phí . Sau đó, người ta cũng phải thực hiện backsolve với ma trận tam giác trên có nhiều nhất ba mục nhập khác nhau trên mỗi hàng, một tác vụ . Vì vậy, điều đó thể hiện sự phức tạp của các hệ thống giải quyết với ma trận hệ số như vậy.Ôi(1)(n-1)×(n-1)Ôi(n)Ôi(n)Ôi(n)


1
+1, cảm ơn, nhưng nếu thì sao? Sau đó, bước đầu tiên sẽ khác nhau. Và có thể có các biến chứng hơn nữa. Đó không phải là một vấn đề? một1= =0
xan

Đó là một hạn chế của việc loại bỏ Gaussian mà không xoay vòng rằng khi các số 0 xuất hiện ở những nơi mà chúng ta muốn (về bản chất) tạo ra một vị trí dẫn đầu, thì chúng ta bị mắc kẹt! Ý tưởng về xoay vòng một phần đang cố gắng khắc phục điều này bằng cách hoán đổi các hàng một cách chiến thuật (tương ứng với các hàng và cột hoán đổi toàn bộ trục xoay). Nhưng tuyên bố vấn đề cấm trao đổi hàng hoặc cột, điều mà tôi diễn giải là cố gắng giữ cho phân tích về độ phức tạp của bạn đơn giản nhất có thể. Một số điều kiện (như thống trị đường chéo ) có thể giữ và đảm bảo thành công mà không cần xoay vòng.
hardmath
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.