Hình thành bổ sung Schur
Giả sử rằng bạn đã hoán vị và phân vùng ma trận của bạn thành biểu mẫu
A=(A11A21A12A22),
sao cho chứa mức độ tự do quan tâm của bạn và nhỏ hơn nhiều so vớiA22 , sau đó người ta có thể tạo thành phần bù SchurA11
S22:=A22−A21A−111A12,
hoặc thông qua một nhân tố LU nhìn đúng một phần hoặc công thức rõ ràng, và sau đó có thể được hiểu theo nghĩa sau:S22
S22x=y→(A11A21A12A22)(⋆x)=(0y),
trong đó đại diện cho phần 'không quan tâm' của giải pháp. Do đó, với điều kiện là bên phải chỉ khác về mức độ tự do của Schur bổ sung S 22 , chúng ta chỉ cần giải quyết với S 22 để có được phần giải pháp tương ứng với các mức độ tự do đó.⋆S22S22
Độ phức tạp tính toán trong trường hợp dày đặc không cấu trúc
Thiết để chiều cao của A và n để chiều cao của Một 22 , sau đó các phương pháp tiêu chuẩn để tính S 22 là lần đầu tiên yếu tố L 11 U 11 : = A 11 (chúng ta hãy bỏ qua xoay vòng cho bây giờ) trong khoảng 2 / 3 ( N - n ) 3NAnA22S22L11U11:=A112/3(N−n)3 công việc, sau đó hình thành
S22:=A22−(A21U−111)(L−111A12)=A22−A21A−111A12
sử dụng hai phép giải tam giác yêu cầu hoạt động, và sau đó thực hiện cập nhật lên A 22 trong 2 n 2 ( N - n ) .n(N−n)2A222n2(N−n)
Như vậy, tổng số công việc là khoảng . Khi n là rất nhỏ, N - n ≈ N , vì vậy chi phí có thể được xem là khoảng 2 / 32/3(N−n)3+2n(N−n)2+2n2(N−n)nN−n≈N , đó là chi phí của một thừa số đầy đủ.2/3N3
Lợi ích là, nếu có một số lượng rất lớn các phía bên phải được giải quyết với cùng một hệ phương trình, thì có thể có khả năng được sử dụng lại một số lượng lớn, trong đó mỗi lần giải chỉ cần 2 n 2 công việc (chứ không phải 2 N 2 hoạt động) nếu S 22 được tính.S222n22N2S22
Độ phức tạp tính toán trong trường hợp thưa thớt (điển hình)
Nếu hệ thống thưa thớt của bạn phát sinh từ một số loại xấp xỉ phần tử hữu hạn hoặc phần tử hữu hạn, thì người giải quyết trực tiếp thưa thớt gần như chắc chắn sẽ có thể khai thác một số cấu trúc; Hệ thống 2d có thể được giải quyết với công việc và O ( N log N ) lưu trữ, trong khi hệ thống 3d có thể được giải quyết với O ( N 2 ) công việc và O ( N 4 / 3O(N3/2)O(NlogN)O(N2) lưu trữ. Các hệ thống bao thanh toán sau đó có thể được giải quyết với cùng một lượng công việc như các yêu cầu lưu trữ.O(N4/3)
Mục đích của việc đưa lên sự phức tạp tính toán là, nếu và bạn có hệ thống 2d, do đó phần bù Schur có thể sẽ dày đặc, độ phức tạp giải quyết được bổ sung Schur bao gồm sẽ làO(n2)=O(N), chỉ thiếu yếu tố logarit so với giải toàn bộ hệ thống! Trong 3d, nó đòi hỏiO(N)công việc thay vìO(N 4 / 3 )n≈N−−√O(n2)=O(N)O(N)O(N4/3) .
Do đó, điều quan trọng là phải nhớ rằng, trong trường hợp của bạn trong đó , sẽ chỉ có những khoản tiết kiệm đáng kể nếu bạn làm việc ở nhiều chiều và có nhiều mặt phải để giải quyết.n=N−−√