Kĩ thuật tiền tác động

Một phần của tài liệu (LUẬN văn THẠC sĩ) về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn (Trang 26)

2.2.1 Giới thiệu

Cho hệ phương trình tuyến tính (1.1) Có 3 cách để tiền tác động vào hệ trên:

Cách 1:M−1Ax =M−1b.

Cách 2:AM−1x =b, x =M−1u.

Khi đó, hệ được tác động trở thành

ML−1AMR−1u=b.

2.2.2 Phân tích ILU

Phát biểu:AlàM - ma trận,Ai là ma trận thu được bởiA từ bước thứ nhất của khử Gauss. Khi đó,AilàM - ma trận.

ĐặtP ⊂ {(i, j) |i =6 j,1< i, j ≤ n}là vị trí những phần tử ta muốn đưa nó về0.

Algorithm 2.1Mẫu tĩnh tổng quát (ilu) 1: Với mỗi cặp(i, j)∈ P , đặtaij = 0 2: fork = 1,· · · , n−1,do 3: fori =k+ 1, n,và nếu(i, k) ∈/ P,do 4: aik := aik akk 5: for j = k+ 1,· · · , nvà(i, j)∈/ P,do 6: aij :=aij −aik∗akj 7: end for 8: end for 9: end for

Định lí 2.1. ChoA M−ma trận vàP là phần không của ma trậnA, thỏa mãn

P ⊂ {(i, j)|i =6 j; 16i, j 6n}.

Thuật toán trên không bị dừng và cho ta một phân tích thiếu

A=LU −R, Chứng minh. Đặt Lk = I − I ak kk   Ok A(k+ 1n, k)   eTk,

Từ đó, ˜

An−1 =Ln−1+L1A+Ln−1...L2R1+...+Ln−1Rn−2+Rn−1

Thật vậy,L= (Ln...L1)−1,U = ˜An−1,R =R1 +...+Rn−1vàA =LU −R.

2.2.3 Phân tích Cholesky thiếu (IC)

Giả sửAcó được phân tích CholeskyA =GGT, ta tìm ma trận tam giác dướiH

i) Có cấu trúc thưa. ii) Xấp xỉG.

Khi đó, ma trận tiền tác động làM =HHT. Giả sử rằng

i) Tồn tại duy nhất ma trậnC đối xứng và xác định dương sao choM = C2.

ii) Tồn tại ma trậnQtrực chuẩn sao choC =QHT.

Khi đó, ˜ A =C−1AC−1 = (HQT)−1A(QHT)−1 =QH−1GGTH−TQT ' I, nên nếuH xấp xỉQtốt thìR( ˜A)sẽ nhỏ. Cách làm là xuất phát từGta đặthij = 0khiaij = 0.

2.3 Tiền tác động khối thiếu

2.3.1 Phân tích Cholesky khối thiếu

A =      A1 E1T 0 E1 A2 E2T 0 E2 A3     

là ma trận đối xứng và xác định dương, ma trận ba đường chéo khối có dạng G=      G1 0 0 F1 G2 0 0 F2 G3      ,

là nhân tử Cholesky của khốiA. Dễ thấy

G1GT1 =B1 ≡A1, F1 =E1G−11, G2GT2 =B2 ≡A2−F1F1T = A2−E2B1−1E2T F2 =E2G−21, G3GT3 =B3 ≡A3−F2F2T = A3−E2B2−1E2T. Ta sẽ tìm xấp xỉ: ˜ G=      ˜ G1 0 0 ˜ F1 G˜2 0 0 F˜2 G˜3      ,

sao cho hệ phương trình với ma trận hệ sốM =˜G ˜G dễ giải. NếuAi là ba đường chéo ,Ei là chéo thì

˜ G1G˜T1 = ˜B1 ≡A1 ˜ F1 = ˜E1G˜−11 ˜ G1G˜2 = ˜B2 ≡A2−E1Λ1E1T,Λ1 'B˜1−1.

Ta phải chọnΛisao choB˜

ilà ma trận đối xứng và xác định dương nênG˜

ilà2đường chéo dưới.

Khi giải phương trình

M ω =r, hay      ˜ G1 0 0 ˜ F1 G˜2 0 0 F˜2 G˜3           ω1 ω2 ω3      =      r1 r2 r3      .

Từ đó, ta có:          ˜ G1ω1 =r1 ˜ G2ω2 =r2−F˜1ω1 = r2−E1G˜−11ω1 ˜ G3ω3 =r3−F˜2ω2 = r3−E2G˜−21ω2 Chú ý 2.1. Vấn đề còn lại xấp xỉ A1B˜−1 2 bởi Λ1. Đặt T = ˜B1−1 = (tij) là phần 3 đường chéo đối xứng và xác định dương. Chúng ta có vài cách

Cách 1:Λ = diag

1 tii

Cách 2:Λlà phần3đường chéo củaT−1.

Cách 3: ĐặtU là phần2đường chéo dưới củaG−1, trong đóT = GGT. Sau đó, đặtΛ = UTU.

2.3.2 Ý tưởng phân chia miền

Xử lí những ma trận dạng khối         A1 · · · B1 · · · · · · · Ap Bp B1T · · · BpT Q         .

2.3.3 Ma trận ba đường chéo khối

Xét A=            D1 E2 F2 ... ... ... ... ... ... ... Em Fm Dm            .

ĐặtDlà phần đường chéo,Llà phần dưới,U là phần trên. Khi đó,

ta được,M = (L+ ∆)∆−1(∆ +U),trong đó,

∆ =diag(∆i), ∆i =Di−FiΩi−1Ei

vàΩj−1là xấp xỉ thưa của∆−j1. Đây là điều khó khăn.

Trong trường hợp đặc biệt, khi Di là ba đường chéo với Ei, Fi là chéo. Ta có được công thức tính.

2.3.4 Ma trận với cấu trúc đều

Thường xuất phát từ việc rời rạc hóa phương trình cụ thể nào đó. Chẳng hạn rời rạc

−∆u+−→

b Ou=f inΩ, u=on∂Ω,

bằng phương pháp sai phân trung tâm. Ta có công thức cụ thể để tínhD, E, F.Ta có

M = (D−E)D−1(D−F).

2.3.5 Xấp xỉ nghịch đảo

Ý tưởng xấp xỉ ma trận nghịch đảo hệ số

Tìm ma trận thưa để tối thiểu hóa bằng một trong ba cách sau

F(M) =kI −AMk2F (2.1)

F(M) =kI −M Ak2F

F(L, U) =kI −LAUk2F

Bài toán (2.1) có thể được phân rã thành

F(M) =

n

X

j=1

kej−Amjk22 (2.2)

ej, mj là cột thứj củaI vàM. Tuy nhiên, cách làm này không hiệu quả nếu ma trận lớn.

2.3.6 Phép lặp toàn cục

Tối ưu hóa với M là biến, như là ma trận thưa và sử dụng phương pháp kiểu - giảm (descent-type) để giảm thiểu hàm mục tiêu (2.1). Hàm này là hàm bậc hai trên không gian của các ma trận cỡ n×n, với biến là phần tử trongRn2. Tích vô hướng trên không gian các ma trận, với bình phương của chuẩn (2.2) là

hX, Yi= tr(YTX). (2.3) Ở phần sau, biểu diễn một ma trận của mộtn2- vectơX, nghĩa là, ma trận cỡn×n

mà các vectơ cột là cácn- vectơ củaX.

Trong thuật toán giảm, một phép lặp mớiMnew được tính bằng cách dọc theo hướng chọnG, tức là

Mnew =M +αG,

trong đó,αlà độ dài bước, được chọn để hàm mục tiêuF(Mnew) nhỏ nhất. Dễ thấy,

α= hR, AGi hAG, AGi =

tr(RTAG)

tr((AG)TAG). (2.4) Mẫu có thể tính bằngkAGk2

F. Kết quả, ma trậnM gần trù mật sau mỗi bước giảm và do đó, cần thiết phải áp dụng một chiến lược giảm số để đạt kết quả. Tuy nhiên, việc giảm ở bước này là rất chậm, tức là, nó không đảm bảo rằng M F(Mnew) ≤

F(M). Một phép lặp muốn có áp dụng một chiến lược giảm số thì phải có hướng tìmGtrước khi nói đến chuyện giảm số bước. Trong trường hợp này, số lượng hoàn thành trongM có không thể điều khiển được.

Cách chọn hướng giảm cho G đơn giản nhất là lấy nó bằng ma trận thặng dư

R =I −AM, trong đó,M là bước lặp mới. Ngoại trừ thuật toán MR giảm số bước, các thuật toán giảm tương ứng là không có, với hệ tuyến tính AM = I cỡ n2 ×n2. Sau đây, chúng tôi trình bày thuật toán giảm sâu nhất toàn cục; đó là một trường hợp riêng của thuật toán kiểu - giảm.

Algorithm 2.2Thuật toán giảm MR toàn cục (mr) 1: Chọn ma trận ban đầuM, ngưỡng dừngtol

2: repeat 3: TínhC :=AM vàG:=I −C 4: Tínhα =tr(GTAG)/kCk2 F 5: TínhM := M +αG 6: Ứng dụng số giảm đếnM 7: untilkGkF < tol

2.4 Kỹ thuật tiền tác động với các phương pháp lặp

2.4.1 PCG

ChoAx =bvớiAlà ma trận đối xứng và xác định dương.

i) Bảo toàn tính đối xứng

Giả sửM =LLT phân tích Cholesky khuyết. Khi đó, hệ (1.1) đưa về

L−1AL−Tu= L−1b, x =L−1u.

Cách khác, để bảo toàn tính đối xứng là đổi tích vô hướng.

Giả sửM là ma trận đối xứng và xác định dương, ta định nghĩa tích vô hướng (x, y)M = (M x, y) = (x, M y).

Ta có

(M−1Ax, y)M = (Ax, y) = (x, Ay) = (x, M−1Ay)M.

Vậy nên trong các thuật toán ta đổi tích vô hướng Euclid thành tích theo M thì thuật toán vẫn cho ma trận đối xứng. Ta có vòng lặp

1:αj = (zj, zj)M (M−1Apj, pj)M. 2 : xj+1 =xj +αjpj.

3 : rj+1 =rj −αjApj vàzj+1 :=M−1rj+1.

Lưu ý là

(zj, zj)M = (rj, zj)(M−1Apj, pj)M = (Apj, pj).

Ở đây ta không dùng tích vô hướng theo Euclid.

Algorithm 2.3Thuật toán tiền tác động gradient liên hợp (pcg) 1: Nhập ngưỡng dừngtol.

2: Tínhr0 :=b−Ax0,z0 =M−1r0vàp0 :=z0

3: forj = 0,1,· · · ,cho đến khi hội tụ, do

4: αj := (ri, zj) (Apj, pj) 5: xj+1 := xj+αjpj 6: rj+1 := rj −αjApj 7: Nếu krj+1k kbk < tolthì dừng vòng lặp. 8: zj+1 := M−1rj+1 9: βj := (rj+1, zj+1) rj, zj 10: pj+1 := zj+1+βjpj 11: end for

Chú ý 2.2. Thuật toán PCG này và tiền tác động tách trùng nhau.

2.4.2 PGMRES

Trong trường hợp thặng dư cực tiểu suy rộng (GMRES) hoặc các phương pháp lặp không đối xứng khác, ta có ba lựa chọn tương tự để áp dụng tiền tác động giống như là phương pháp CG(cụ thể, tiền tác động trái, tách và phải). Tuy nhiên, sẽ có sự khác nhau cơ bản: Tiền tác động phải sẽ dẫn tới một khái niệm được gọi là biến linh hoạt khác, tức là, cái tiền tác động có thể thay đổi trong mỗi bước lặp.

i) GMRES tiền tác động trái

Cũng tương tự như các phấn trước, định nghĩa thuật toán tiền tác động trái GM- RES như thuật toán GMRES mà áp dụng vào hệ

M−1Ax =M−1b, (2.5) ứng dụng trực tiếp của GMRES vào hệ phương trình tuyến tính trên sẽ cho ta thuật toán sau.

Algorithm 2.4Thuật toán GMRES với tiền tác động trái (lp_gmres) 1: Tínhr0 =M−1(b−Ax0),β =kr0k2, vàv1 = r0 β 2: forj = 1,· · · , m, do 3: Tínhw :=M−1Avj 4: fori = 1,· · · , j,do 5: hi,j := (w, vi) 6: w :=w−hi,jvi 7: end for 8: Tínhhj+1,j =kwk2vàvj+1 = w hj+1,j 9: end for 10: ĐặtVm := [v1, ..., vm],Hm ={hi,j}1≤i≤j+1,1≤j≤m 11: Tínhym =argminykβe1−Hmyk2 vàxm =x0+Vmym

12: Nếu thỏa mãn thì dừng, ngược lại đặtx0 := xm và chuyển đến bước 1.

Điểm cơ bản của thuật toán này là sử dụng vòng lặp Arnoldi để xây dựng một cơ sở trực chuẩn của không gian con Krylov tiền tác động trái.

span

r0, M−1Ar0, ....,(M−1A)m−1r0 .

Nó sử dụng quá trình Gram-Schmidt cải biên (MGS), mà trong đó vectơ mới sẽ được trực chuẩn hóa thu được từ vectơ trước đó trong suốt quá trình. Mọi vectơ thặng dư và chuẩn của nó sinh ra từ thuật toán tương ứng với thặng dư tiền tác động, cụ thể,

thay vì thặng dư ban đầu

b−Axm.

ii) GMRES tiền tác động phải

Thuật toán GMRES tiền tác động phải dựa trên việc giải hệ

AM−1u=b, u =M x.

Chúng ta sẽ chỉ ra không cần phải tính biến mớiu một cách tường minh. Thật vậy, một khi thặng dư ban đầu

b−Ax0 = b−AM−1u0

đã được tính rồi, mọi các vectơ sau đó của không gian con Krylov có thể được thu được mà không cần đến biến u. Cũng xin lưu ý rằng ta không cần khởi tạo giá trị

u0. Thặng dư ban đầu cho hệ tiền tác động có thể được tính bằngr0 =b−Ax0. Nó chính làb−AM−1u0. Trong thực tiễn, thông thường thì giá trị khởi tạox0được cho chứ không phải làu0. Tại bước lặp cuối cùng, nghiệm xấp xỉucủa

um =u0+

m

X

i=1

viηi,

vớiu0 =M x0. NhânM−1 vào bên trái sẽ cho ta nghiệm xấp xỉ cần tìm

xm =x0+M−1 " m X i=1 viηi # .

Do đó, ta cần một thao tác tiền tác động vào bước lặp cuối cùng thay vì bước lặp đầu tiên trong trường hợp tiền tác động trái.

Từ phân tích trên ta có Thuật toán 2.5. Trong trường hợp này, vòng lặp Arnoldi xây dựng một cơ sở trực chuẩn cho không gian con Krylov tiền tác động phải

span

r0, AM−1r0, ....,(AM−1)m−1r0 .

Chú ý rằng, chuẩn của thặng dư là tương đối đối với hệ ban đầu, tức làb−Axm, vì thuật toán ngầm tính toán thặng dư

Algorithm 2.5Thuật toán GMRES với tiền tác động phải (rp_gmres) 1: Tínhr0 =b−Ax0,β =kr0k2, vàv1 = r0 β 2: forj = 1,· · · , m, do 3: Tínhw :=AM−1vj 4: fori = 1,· · · , j,do 5: hi,j := (w, vi) 6: w :=w−hi,jvi 7: end for 8: Tínhhj+1,j =kwk2vàvj+1 = w hj+1,j 9: end for 10: ĐặtVm := [v1, ..., vm],Hm ={hi,j}1≤i≤j+1,1≤j≤m 11: Tínhym =argminykβe1−Hmyk2 vàxm =x0+M−1Vmym

12: Nếu thỏa mãn thì dừng, ngược lại đặtx0 := xm và chuyển đến bước 1. Đây là điểm khác biệt mấu chốt so với thuật toán GMRES tiền tác động trái.

iii) GMRES tiền tác động tách

Trong rất nhiều trường hợp,M đã được phân tích dưới dạng

M =LU.

Khi đó, ta có thể sử dụng GMRES cho hệ tiền tác động tách

L−1AU−1u =L−1b, x =U−1u.

Trong tình huống này, ta phải tác động vào thặng dư ban đầu bởi L−1 khi bắt đầu thuật toán và tác động lên tổ hợp tuyến tính Vmym bởiU−1 để tạo nên nghiệm xấp xỉ. Khi đó, chuẩn của thặng dư là chuẩn củaL−1(b−Axm).

iv) So sánh tiền tác động phải và trái

Có thể thấy rằng tập các giá trị riêng của các ma trậnM−1, AM−1,vàL−1AU−1

tự nhau, mặc dù có thể biết giá trị riêng lúc nào cũng không điều khiển sự hội tụ. Trong mục này, chúng ta so sánh tính chất tối ưu đạt được bởi tiền tác động trái, phải GMRES.

Đối với tiền tác động trái, GMRES tối tiểu hóa chuẩn thặng dư

kM−1b−M−1Axk2

trên tập các vectơ của không gian con affine

x0+KLm =x0+span{z0, M−1Az0, ...,(M−1A)m−1z0}, (2.6) trong đóz0là thặng dư tiền tác động ban đầuz0 = M−1r0. Vì vậy, nghiệm xấp xỉ có thể biểu diễn như là

xm = x0 +M−1sm−1(M−1A)z0,

vớism−1 là đa thức bậcm−1mà cực tiểu hóa đại lượng

kz0−M−1As(M−1A)z0k2

trên tập các đa thứcsbậc không vượt quá m−1. ta luôn luôn có thể biểu diễn điều kiện tối ưu ứng với vectơ thặng dư ban đầur0. Thật vậy,

z0−M−1As(M−1A)z0 =M−1[r0−As(M−1A)M−1r0].

một tính toán đại số đơn giản cho ta

s(M−1A)M−1r =M−1s(AM−1)r, (2.7)

với đa thứcsbất kì. Từ đó, chúng ta thu được

z0−M−1As(M−1A)z0 =M−1[r0−AM−1s(AM−1)r0]. (2.8)

Bây giờ, ta xét GMRES tiền tác động phải. Ta cần phải phân biệt biếnxban đầu và biến chuyển đổiumà quan hệ vớixbởix=M−1u. Với biến u, GMRES tiền tác động phải cực tiểu theo chuẩn hai củar= b−AM−1u, ở đâyuthuộc

u0 +KmR =u0+span

với r0 = b −AM−1u0. Thặng dư này đồng nhất với thặng dư tương ứng với biến

x ban đầu vìM−1u0 = x0. NhânM−1 vào bên trái (2.9) và từ (2.7) ta thấy biến x

Một phần của tài liệu (LUẬN văn THẠC sĩ) về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn (Trang 26)

Tải bản đầy đủ (PDF)

(44 trang)