Hai bước đầu tiên của quá trình Gram–Schmidt
Trong toán học, đặc biệt là trong lĩnh vực đại số tuyến tính và giải tích số , quá trình Gram–Schmidt là một phương pháp trực chuẩn hóa một tập hợp các vectơ trong một không gian tích trong, thường là không gian Euclid R n được trang bị tích trong tiêu chuẩn . Quá trình Gram–Schmidt xử lý một tập hợp vectơ hữu hạn và độc lập tuyến tính S = {v 1 ,..., v k } với k ≤ n và tạo ra từ tập đã cho một tập vectơ trực giao S′ = {u 1 ,..., u k } sinh ra không gian con k chiều của R n tương tự không gian sinh bởi tập S .
Phương pháp này được đặt tên theo Jørgen Pedersen Gram và Erhard Schmidt , nhưng Pierre-Simon Laplace đã quen thuộc với nó trước Gram và Schmidt.[ 1] Trong lý thuyết phân rã nhóm Lie nó được tổng quát hóa bởi phân rã Iwasawa .
Áp dụng quá trình Gram–Schmidt vào các vectơ cột của một ma trận với hạng cột đầy đủ, ta có phép phân rã QR (ma trận đó được phân rã thành một ma trận trực giao và tam giác ).
Quá trình Gram-Schmidt (có cải tiến) được thực hiện trên ba vectơ độc lập tuyến tính không trực giao của một cơ sở cho không gian R 3 . Nhấp vào ảnh để xem chi tiết.
Ta định nghĩa toán tử chiếu vectơ bởi
p
r
o
j
u
(
v
)
=
⟨
u
,
v
⟩
⟨
u
,
u
⟩
u
,
{\displaystyle \mathrm {proj} _{\mathbf {u} }\,(\mathbf {v} )={\langle \mathbf {u} ,\mathbf {v} \rangle \over \langle \mathbf {u} ,\mathbf {u} \rangle }{\mathbf {u} },}
trong đó
⟨
u
,
v
⟩
{\displaystyle \langle \mathbf {u} ,\mathbf {v} \rangle }
ký hiệu tích trong của hai vectơ u và v . Toán tử chiếu trực giao vectơ v vào đường thẳng span bởi vectơ u . Nếu u = 0 , ta định nghĩa
p
r
o
j
0
(
v
)
:=
0
{\displaystyle \mathrm {proj} _{0}\,(\mathbf {v} ):=0}
, tức là ánh xạ chiếu
p
r
o
j
0
{\displaystyle \mathrm {proj} _{0}}
là ánh xạ không , nó biến mọi vectơ thành vectơ không .
Quá trình Gram–Schmidt sau đó được tiến hành như sau:
u
1
=
v
1
,
e
1
=
u
1
‖
u
1
‖
u
2
=
v
2
−
p
r
o
j
u
1
(
v
2
)
,
e
2
=
u
2
‖
u
2
‖
u
3
=
v
3
−
p
r
o
j
u
1
(
v
3
)
−
p
r
o
j
u
2
(
v
3
)
,
e
3
=
u
3
‖
u
3
‖
u
4
=
v
4
−
p
r
o
j
u
1
(
v
4
)
−
p
r
o
j
u
2
(
v
4
)
−
p
r
o
j
u
3
(
v
4
)
,
e
4
=
u
4
‖
u
4
‖
⋮
⋮
u
k
=
v
k
−
∑
j
=
1
k
−
1
p
r
o
j
u
j
(
v
k
)
,
e
k
=
u
k
‖
u
k
‖
.
{\displaystyle {\begin{aligned}\mathbf {u} _{1}&=\mathbf {v} _{1},&\mathbf {e} _{1}&={\mathbf {u} _{1} \over \|\mathbf {u} _{1}\|}\\\mathbf {u} _{2}&=\mathbf {v} _{2}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{2}),&\mathbf {e} _{2}&={\mathbf {u} _{2} \over \|\mathbf {u} _{2}\|}\\\mathbf {u} _{3}&=\mathbf {v} _{3}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{3})-\mathrm {proj} _{\mathbf {u} _{2}}\,(\mathbf {v} _{3}),&\mathbf {e} _{3}&={\mathbf {u} _{3} \over \|\mathbf {u} _{3}\|}\\\mathbf {u} _{4}&=\mathbf {v} _{4}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{4})-\mathrm {proj} _{\mathbf {u} _{2}}\,(\mathbf {v} _{4})-\mathrm {proj} _{\mathbf {u} _{3}}\,(\mathbf {v} _{4}),&\mathbf {e} _{4}&={\mathbf {u} _{4} \over \|\mathbf {u} _{4}\|}\\&{}\ \ \vdots &&{}\ \ \vdots \\\mathbf {u} _{k}&=\mathbf {v} _{k}-\sum _{j=1}^{k-1}\mathrm {proj} _{\mathbf {u} _{j}}\,(\mathbf {v} _{k}),&\mathbf {e} _{k}&={\mathbf {u} _{k} \over \|\mathbf {u} _{k}\|}.\end{aligned}}}
Dãy u 1 ,..., u k là dãy vectơ trực giao cần tìm, và các vectơ được chuẩn hóa e 1 ,..., e k tạo thành một tập hợp trực chuẩn . Việc tính toán dãy u 1 ,..., u k được gọi là trực giao hóa Gram–Schmidt , còn việc tính toán dãy e 1 ,..., e k được gọi là trực chuẩn hóa Gram–Schmidt bởi vì các vectơ đã được chuẩn hóa.
Để kiểm tra xem các công thức trên liệu có cho một dãy trực giao, đầu tiên ta tính
⟨
u
1
,
u
2
⟩
{\displaystyle \langle \mathbf {u} _{1},\mathbf {u} _{2}\rangle }
bằng cách thế vào công thức ở trên cho u 2 : ta được 0. Sau đó sử dụng điều này để tính
⟨
u
1
,
u
3
⟩
{\displaystyle \langle \mathbf {u} _{1},\mathbf {u} _{3}\rangle }
bằng cách lại thế vào công thức ở trên cho u 3 : ta tiếp tục được 0. Chứng minh tổng quát sau đó được tiếp tục nhờ phép quy nạp toán học .
Nói một cách hình học, phương pháp này được tiếp tục như sau: để tính u i nó chiếu trực giao vectơ v i vào không gian con U sinh bởi u 1 ,..., u i −1 , mà đó cũng là không gian con sinh bởi v 1 ,..., v i −1 . Vectơ u i sau đó được định nghĩa là hiệu giữa v i và hình chiếu này và đảm bảo là trực giao với tất cả các vectơ trong không gian con U .
Quá trình Gram–Schmidt cũng áp dụng cho một dãy độc lập tuyến tính và vô hạn đếm được {v i }i . Kết quả là một dãy trực giao (hay trực chuẩn) {u i }i sao cho với một số tự nhiên n : span đại số của v 1 ,..., v n cũng chính là span của u 1 ,..., u n .
Nếu quá trình Gram–Schmidt được áp dụng cho một dãy phụ thuộc tuyến tính, nó sẽ cho ra vectơ 0 ở bước thứ i , giả sử v i là một tổ hợp tuyến tính của v 1 ,..., v i −1 . Nếu cần phải có một hệ cơ sở trực chuẩn thì thuật toán nên tìm ra các vectơ không trong các kết quả và loại bỏ chúng vì không có một bội nào của vectơ không mà có độ dài bằng 1. Số vectơ đầu ra của thuật toán sẽ bằng số chiều của không gian được span bởi các vectơ đầu vào.
Xét hệ vectơ sau trong R 2 (với tích trong quy ước chính là tích vô hướng )
S
=
{
v
1
=
(
3
1
)
,
v
2
=
(
2
2
)
}
.
{\displaystyle S=\left\lbrace \mathbf {v} _{1}={\begin{pmatrix}3\\1\end{pmatrix}},\mathbf {v} _{2}={\begin{pmatrix}2\\2\end{pmatrix}}\right\rbrace .}
Bây giờ, thực hiện Gram–Schmidt để có được hệ các vectơ trực giao:
u
1
=
v
1
=
(
3
1
)
{\displaystyle \mathbf {u} _{1}=\mathbf {v} _{1}={\begin{pmatrix}3\\1\end{pmatrix}}}
u
2
=
v
2
−
p
r
o
j
u
1
(
v
2
)
=
(
2
2
)
−
p
r
o
j
(
3
1
)
(
(
2
2
)
)
=
(
2
2
)
−
8
10
(
3
1
)
=
(
−
2
/
5
6
/
5
)
.
{\displaystyle \mathbf {u} _{2}=\mathbf {v} _{2}-\mathrm {proj} _{\mathbf {u} _{1}}\,(\mathbf {v} _{2})={\begin{pmatrix}2\\2\end{pmatrix}}-\mathrm {proj} _{({3 \atop 1})}\,({{\begin{pmatrix}2\\2\end{pmatrix}})}={\begin{pmatrix}2\\2\end{pmatrix}}-{8 \over 10}{\begin{pmatrix}3\\1\end{pmatrix}}={\begin{pmatrix}-2/5\\6/5\end{pmatrix}}.}
Ta kiểm tra rằng các vectơ u 1 và u 2 chắc chắn là trực giao:
⟨
u
1
,
u
2
⟩
=
⟨
(
3
1
)
,
(
−
2
/
5
6
/
5
)
⟩
=
−
6
5
+
6
5
=
0
,
{\displaystyle \langle \mathbf {u} _{1},\mathbf {u} _{2}\rangle =\left\langle {\begin{pmatrix}3\\1\end{pmatrix}},{\begin{pmatrix}-2/5\\6/5\end{pmatrix}}\right\rangle =-{\frac {6}{5}}+{\frac {6}{5}}=0,}
lưu ý rằng nếu tích vô hướng của hai vectơ bằng 0 thì chúng trực giao.
Đối với các vectơ khác vectơ không, ta có thể chuẩn hóa các vectơ đó bằng cách chia cho độ dài của chúng như dưới đây:
e
1
=
1
10
(
3
1
)
{\displaystyle \mathbf {e} _{1}={1 \over {\sqrt {10}}}{\begin{pmatrix}3\\1\end{pmatrix}}}
e
2
=
1
40
25
(
−
2
/
5
6
/
5
)
=
1
10
(
−
1
3
)
.
{\displaystyle \mathbf {e} _{2}={1 \over {\sqrt {40 \over 25}}}{\begin{pmatrix}-2/5\\6/5\end{pmatrix}}={1 \over {\sqrt {10}}}{\begin{pmatrix}-1\\3\end{pmatrix}}.}
Bau III, David; Trefethen, Lloyd N. (1997), Numerical linear algebra , Philadelphia: Society for Industrial and Applied Mathematics, ISBN 978-0-89871-361-9 .
Golub, Gene H. ; Van Loan, Charles F. (1996), Matrix Computations (ấn bản thứ 3), Johns Hopkins, ISBN 978-0-8018-5414-9 .
Greub, Werner (1975), Linear Algebra (ấn bản thứ 4), Springer .
Soliverez, C. E.; Gagliano, E. (1985), “Orthonormalization on the plane: a geometric approach” (PDF) , Mex. J. Phys. , 31 (4): 743–758, Bản gốc (PDF) lưu trữ ngày 7 tháng 3 năm 2014, truy cập ngày 25 tháng 2 năm 2021 .