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" = {v1..., "vk"} với và tạo ra từ tập đã cho một tập vectơ trực giao } 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. 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.
Ta định nghĩa toán tử chiếu vectơ bởi
trong đó formula_2 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 formula_3, tức là ánh xạ chiếu formula_4 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:
Dãy u1..., u"k" là dãy vectơ trực giao cần tìm, và các vectơ được chuẩn hóa e1..., e"k" tạo thành một tập hợp "trực chuẩn". Việc tính toán dãy u1..., u"k" được gọi là "trực giao hóa" "Gram–Schmidt", còn việc tính toán dãy e1..., 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 formula_6 bằng cách thế vào công thức ở trên cho u2: ta được 0. Sau đó sử dụng điều này để tính formula_7 bằng cách lại thế vào công thức ở trên cho u3: 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 u1..., u"i"−1, mà đó cũng là không gian con sinh bởi v1..., 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 v1..., v"n" cũng chính là span của u1..., 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 . 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.
Ví dụ.
Không gian Euclide.
Xét hệ vectơ sau trong R2 (với tích trong quy ước chính là tích vô hướng)
Bây giờ, thực hiện Gram–Schmidt để có được hệ các vectơ trực giao:
Ta kiểm tra rằng các vectơ u1 và u2 chắc chắn là trực giao:
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: