You are on page 1of 7

CƠ SỞ LÝ THUYẾT

I. Mở đầu:
Trong đại số tuyến tính, phép phân tích QR hay còn gọi là phương pháp thừa số
QR là sự phân tích ma trận [A] kích thước m×n thành tích của hai ma trận [Q]
và [R], trong đó [Q] là ma trận trực giao và [R] là ma trận tam giác trên có kích
thước m×n. Phương pháp phân tích này cực kì hữu ích trong cuộc sống, đóng
góp rất nhiều ứng dụng quan trọng vào trong nhiều lĩnh vực như Kinh tế, Khoa
học Dữ liệu, Thống kê dữ liệu, Phân tích dữ liệu. Đặc biệt phương pháp này là
một trong những phương pháp giải nhanh nhất của dạng toán Bình phương tối
thiểu.
Ta có 3 phương pháp để hoàn thành phép phân tích này:
+ Phép quay Givens.
+ Biến đổi Household.
+ Phương pháp Gram-Schmidt.
Và trong đề tài này chúng ta sẽ tập trung chủ yếu về cơ sở lý thuyết, các bước
thực hiện, ứng dụng,… của phép quay Givens.

II. Phép quay Given:


1. Khái niệm:

- Phép quay Givens (Givens rotation) trong không gian nhiều chiều là một khái
niệm thuộc môn đại số tuyến tính. Nếu chúng ta có một điểm trong không gian
với một tọa độ bất kì, khi ta xoay nó theo một không gian con được xác định bới
các vector độc lập tuyến tính thì khi đó ta đang thực hiện một phép quay
Givens. Nó là một phương pháp toán học để phân tích ma trận [A] thành tích
của ma trận [Q] và [R] bằng cách làm cho các phần tử của ma trận [A] lần lượt
về bằng 0 cho đến khi có được ma trận tam giác trên. Ý tưởng cho phương pháp
này là dùng một ma trận quay đơn giản dạng 2x2 đặt dọc theo đường chéo chính
của một ma trận đơn vị và làm cho phần tử của ma trận [A] bằng 0.
- Ma trận trực giao: là một ma trận vuông, có tính chất ma trận chuyển vị của nó
chính bằng ma trận nghịch đảo: QT = Q−1
( )(
1 0 0
1 0 −1 0
Ví dụ về ma trận trực giao: 0 1 0 , 0 1 , 0 1 , ...
0 0 1
)( )
- Ma trận để quay một vecto ngược chiều kim đồng hồ một góc θ có dạng là:

Q θ= (cosθ
s inθ
−sinθ
c osθ )
Nếu ta muốn quay một vecto [ x y ]T và làm cho y bằng 0 thì quay theo chiều kim
đồng hồ một góc θ ( hay ngược chiều kim đồng hồ một góc −θ ) trong đó:
x
θ=arctan
y

Thì ma trận quay để thực hiện phép quay này theo chiều kim đồng hồ một góc θ
có dạng là:

Q θ= (−sinθ
cosθ sinθ
cosθ )
Khi đó, với ma trận A n×n ta thay thế các phần tử của [Qθ] vào ma trận đơn vị
xác định tại các hàng và cột thứ i, j hay nói cách khác là thay ma trận 2 × 2 nào
vào dọc đường chéo chính của ma trận đơn vị của ma trận A ta sẽ được một ma
trận mới có dạng:

[ ] {
1 ⋯ 0 ⋯ 0 ⋯ 0
⋮ ⋱ ⋮ ⋱ ⋮ ⋱ ⋮ qii =q jj=c
0 ⋯ c ⋯ −s ⋯ 0 qi j =s
Q(i , j ,θ)= ⋮ ⋱ ⋮ ⋱ ⋮ ⋱ ⋮ Trong đó: q ji =−s
0 ⋯ s ⋯ c ⋯ 0 c=cos θ
⋮ ⋱ ⋮ ⋱ ⋮ ⋱ ⋮ s=sin θ
0 ⋯ 0 ⋯ 0 ⋯ 1

[Q] được gọi là ma trận phép quay Givens.


Với giới hạn kích thước về hàng, cột i và j cụ thể, ta có thể áp dụng quay [Q]
một góc θ sao cho:

{
x
c=
r
( cs −sc )( xy)=( r0) tại s=

r
y

r= √ x + y 2 , r ≠ 0
2

Cho ma trận Am × n chúng ta sẽ tìm các ma trận trực giao Q1 ,Q2 , Q3 ,… Qn


Sao cho: R=(Q ¿ ¿ n . … Q3 .Q2 . Q1) . A ¿
Nhân bên trái của 2 vế cho (Q ¿ ¿ n . … Q3 .Q2 .Q 1)−1 ¿ta được:
(Q ¿ ¿ n . … Q3 .Q2 .Q 1) .(Q ¿ ¿ n . … Q3 . Q2 .Q1 ). A ¿ ¿= (Q ¿ ¿ n . … Q3 .Q2 .Q 1) . R ¿
−1 −1

−1
⇔ A=(Q ¿ ¿ n . … Q3 . Q2 .Q1 ) . R ¿

Đặt Q=(Q ¿ ¿ n . … Q3 .Q2 .Q1 )−1=(Q ¿ ¿ n . … Q3 . Q2 .Q1 )T ¿ ¿ (Do Q là các ma trực giao)
Ta được: A = QR với Q=(Q ¿ ¿ n . … Q3 .Q2 .Q1 )−1=(Q ¿ ¿ n . … Q3 . Q2 .Q1 )T ¿ ¿
Và R=(Q ¿ ¿ n . … Q3 .Q2 . Q1) . A ¿

2. Phương pháp tính toán phân tích phép quay Givens


Để phân tích A=QR bằng phép quay Givens ta làm như sau:
- Đầu tiên, ta sẽ biến đổi ma trận A về ma trận tam giác trên bằng cách lần lượt
chọn phần tử mình muốn để đưa về 0.
- Rút cột chứa phần tử đã chọn ở bước 1, ta được ma trận P. Tìm các giá trị x, y
và r, chọn y là phần tử muốn đưa về 0.
- Viết ma trận phép quay Givens Q1.
- Thực hiện phép nhân 2 ma trận Q1 ×A.
- Coi ma trận Q1 ×A như 1 ma trận mới và lặp lại các bước trên cho đến khi tích
các ma trận Q1 .Q2 .Q 3 … Qn . 𝐴 tạo thành ma trận tam giác trên.
- Viết kết quả Q và R theo công thức sau:
T
Q=(Q ¿ ¿ n . … Q3 .Q2 .Q1 ) ¿
R=Qn . … Q3 .Q 2 . Q1 . A

( )
0 −1 1
Ví dụ: Cho ma trận 𝐴 = 4 2 0 phân tích 𝐴 = 𝑄𝑅 bằng phép quay Givens.
3 4 0

Bước 1: Biến đổi ma trận A về ma trận tam giác trên. Bắt đầu với phần tử A21.
Bước 2: Rút cột đầu tiên của ma trận ta được:

()()
0 x
4= y ⇒ x=0 , y =4 ⇒ r=4 ⇒ c=0 , s=−1
3 3
( )( )
c −s 0 0 1 0
Q
Bước 3: Viết ma trận quay 1 = s c 0 = −1 0 0
0 0 1 0 0 1

( )( )( )
0 1 0 0 −1 1 4 2 0
Bước 4: Q1 . A= −1 0 0 . 4 2 0 = 0 −1 1
0 0 1 3 4 0 3 4 0

Lúc này phần tử A21 đã bằng 0.


Bước 5: Tiếp tục như bước 1, xem ma trận Q1 . A như là 1 ma trận bình thường.

( )
4 2 0
Q1 . A= 0 −1 1 , ta tiếp tục chọn phần tử ở hàng 3 cột 1 để biến đổi về 0.
3 4 0

()()
4 x
4 −3
Rút cột 1 ta được: 0 = 0 ⇒ x=4 , y=3 ⇒ r=5 ⇒ c= , s=
5 5
3 y

( )
4 3
0

( )
c 0 −s 5 5
Q =
Viết ma trận quay 2 0 1 0 = 0 1 0
s 0 c −3 4
0
5 5

( )(
4 3
0

)( )
5 5 4 2 0 5 4 0
Q2 .Q1 . A= 0 1 0 . 0 −1 1 = 0 −1 1
−3 4 3 4 0 0 2 0
0
5 5

Tương tự tiếp tục chọn phần tử ở hàng 3 cột 2 của ma trận Q2 .Q1 . A để biến đổi
về 0. Lặp lại các bước trên ta được ma trận quay

( )
0 1 0

( )
1 0 0 −1 2
0
Q3= 0 c −s = √5 √5
0 s c −2 −1
0
√5 √5

( )( ) ( )
10 0 5 4 0
−1 2 5 4 0 −1
0 0 √5
⇒ Q3 . Q2 . Q1 . A= √5 √5 . 0 −1 1 = √5
−2 −1 0 2 0 −2
0 0 0
√5 √5 √5
Bước 6: Tìm Q và R theo công thức ta có:
T T T T
Q=( Q3 . Q2 .Q1 ) =Q1 Q2 Q3

( )( )
4 −3 1 0 0
0

( )
0 −1 0 5 5 −1 −2
0
¿ 1 0 0 . 0 1 0 . √5 √5
0 0 1 3 4 2 −1
0 0
5 5 √5 √5

( )
1 2
0
√5 √5
4 −6 3
¿
5 5 √5 5 √5
3 8 −4
5 5 √5 5 √5

( )
0 5 4
−1
0 √5
R=Q3 . Q2 .Q1 . A= √5
−2
0 0
√5

( )( )
1 2
0 5 4 0
√5 √5 −1
4 −6 3 0 √5
⇒ A=QR=
5 5 √5 5 √5
. √5
−2
3 8 −4 0 0
√5
5 5 √5 5 √5

III. Ứng dụng của phép quay Givens.

1. Giải hệ phương trình tuyến tính:


Phép quay Givens có thể được sử dụng để giải các hệ phương trình tuyến tính.
Khi sử dụng trong phương pháp Jacobi để tìm nghiệm của hệ phương trình, các
phép quay Givens được áp dụng để biến đổi ma trận ban đầu thành một dạng
tam giác hoặc đường chéo.

2. Phát Hiện và Loại Bỏ Nhiễu (Noise Removal):


Trong xử lý tín hiệu, phép quay Givens có thể được áp dụng để loại bỏ nhiễu
hoặc cải thiện chất lượng tín hiệu bằng cách xoay và điều chỉnh các thành phần
không mong muốn. Áp dụng trong làm rõ hình ảnh và khử nhiễu và tạp âm
trong cắt ghép video, khử nhiễu đốm trong siêu âm, ...

3. Tính Toán Kỹ Thuật (Engineering Computations):


Trong tính toán kỹ thuật và mô
phỏng, Givens rotation có thể được
sử dụng để giải quyết các bài toán
liên quan đến độ chính xác và hiệu
suất.

4. Xoay và Phân Tích Hình Học:


Trong đồ họa máy tính và xử lý hình ảnh, phép quay Givens được sử dụng để
xoay và biến đổi hình ảnh, đối tượng hoặc không gian 3D. Ngoài ra còn được áp
dụng trong chế tạo máy móc và thiết kế cơ khí lẫn kiến trúc xây dựng.

5. Nén Dữ Liệu (Data Compression):


Trong việc nén dữ liệu hoặc biểu diễn dữ liệu ứng dụng trong lĩnh vực như nén
hình ảnh hoặc âm thanh, phép quay Givens có thể được sử dụng để giảm chiều
dữ liệu mà vẫn giữ được thông tin quan trọng.

6. Tạo Ra Ma Trận Tốn Ít Bộ Nhớ (Low-Memory Matrix


Generation):
Trong môi trường có hạn chế bộ nhớ, phép quay Givens có thể được sử dụng để
tạo ra các ma trận mới mà không cần lưu trữ một lượng lớn dữ liệu trung gian.

7. Phân tích QR trong khoa học máy:


- Chúng ta đã biết đến các phần mềm, ứng dụng,
AI có thể xóa, tách một vật thể khỏi hình ảnh, hay
thậm chí là cả 1 đoạn phim. Kĩ thuật này đã sử
dụng phép phân tích QR. Ví dụ, nếu muốn tách
riêng hình ảnh của một người từ một tấm ảnh, ta
sẽ chuyển tấm ảnh đó thành dạng vecto 1D và tạo
ma trận các vecto tương ứng với mỗi vật thể. Sau
đó ta sẽ chạy một giá trị phân tích cho tấm ảnh ở
dạng 1D. Sự phân tích này cho phép tách các vật
thể mong muốn khỏi nền của bức ảnh, thu được
một tấm ảnh chỉ có vật thể cần tách. Tương tự với
cách này, khi muốn tách vật thể từ một đoạn
phim, ta chỉ cần chia đoạn phim đó thành nhiều khung hình(ảnh) khác nhau và
tách vật thể ra trong từng tấm ảnh.

You might also like