Membentuk komplemen Schur
Misalkan Anda telah mengijinkan dan mempartisi matriks Anda ke dalam formulir
A=(A11A21A12A22),
sedemikian rupa sehingga mengandung derajat kebebasan Anda dan jauh lebih kecil dari A 11 , maka seseorang dapat membentuk komplemen SchurA22A11
S22:=A22−A21A−111A12,
baik melalui faktorisasi LU yang tampak benar parsial atau rumus eksplisit, dan kemudian dapat dipahami dalam pengertian berikut:S22
S22x=y→(A11A21A12A22)(⋆x)=(0y),
di mana mewakili bagian 'tidak menarik' dari solusi. Dengan demikian, disediakan sisi kanan yang hanya nol dalam derajat kebebasan komplemen Schur S 22 , kita hanya perlu menyelesaikan terhadap S 22 untuk mendapatkan bagian dari solusi yang sesuai dengan derajat kebebasan tersebut.⋆S22S22
Kompleksitas komputasi dalam kasus padat yang tidak terstruktur
Pengaturan dengan tinggi A dan n dengan tinggi A 22 , maka metode standar untuk komputasi S 22 adalah untuk Faktor pertama L 11 U 11 : = A 11 (mari kita mengabaikan berputar untuk saat ini) di sekitar 2 / 3 ( N - n ) 3 bekerja, lalu membentukNAnA22S22L11U11:=A112/3(N−n)3
S22:=A22−(A21U−111)(L−111A12)=A22−A21A−111A12
menggunakan dua penyelesaian segitiga yang masing - masing membutuhkan kerja, dan kemudian melakukan pembaruan ke A 22 dalam 2 n 2 ( N - n ) bekerja.n(N−n)2A222n2(N−n)
Dengan demikian, total pekerjaan adalah sekitar . Ketika n sangat kecil, N - n ≈ N , sehingga biaya dapat dilihat secara kasar 2 / 3 N 3 , yang merupakan biaya faktorisasi penuh.2/3(N−n)3+2n(N−n)2+2n2(N−n)nN−n≈N2/3N3
The benefit is that, if there is a very large number of right-hand sides to be solved with the same system of equations, then S22 could potentially be reused a large number of times, where each solve would only require 2n2 work (rather than 2N2 work) if S22 is factored.
Computational complexity in the (typical) sparse case
If your sparse system arose from some type of finite-difference or finite-element approximation, then sparse-direct solvers will almost certainly be able to exploit some of the structure; 2d systems can be solved with O(N3/2) work and O(NlogN) storage, while 3d systems can be solved with O(N2) work and O(N4/3) storage. The factored systems can then be solved with the same amount of work as the storage requirements.
The point of bringing up the computational complexities is that, if n≈N−−√ and you have a 2d system, then since the Schur complement will likely be dense, the solve complexity given the factored Schur complement will be O(n2)=O(N), which is only missing a logarithmic factor versus solving the full system! In 3d, it requires O(N) work instead of O(N4/3).
It is thus important to keep in mind that, in your case where n=N−−√, there will only be significant savings if you're working in several dimensions and have many right-hand sides to solve.