Gram–Schmidt işlemi

Matematikte, özellikle doğrusal cebir ve sayısal analizde, Gram–Schmidt süreci bir dizi vektörleri bir iç çarpım uzayı içinde ortonormal etmek için kullanılan bir yöntemdir. İç çarpım uzayında olan vektörler, genellikle Öklid uzayında Rn donatılmış olan standart iç çarpım vektörlerdir. Gram–Schmidt süreci bir sonlu, doğrusal bağımsız kümeni, S = {v1, ..., vk}, k ≤ n, alıp ve R'in aynı k-boyutlu alt uzayında yayılan ortogonal kümeni, S′ = {u1, ..., uk}, üretmektedir. 

Bu yöntem ismini Jørgen Pedersen Gram ve Erhard Schmidt, den almaktadır. Ancak, daha önce Laplace ve Cauchynin çalışmalarında da ortaya çıkmıştı. Yalan grup parçalanması teorisinde Iwasawa ayrışma tarafından genelleştirilmiş.

 Gram–Schmidt işlemi 
çerçeveli|Değiştirilmiş Gram-Schmidt süreci üç doğrusal bağımsız olmayan ve R3 için temel olan vektörler için çalıştırılmaktadır. Ayrıntılar için resmin üstüne Tıklayınız. 
Projeksiyon operatörü aşağıdaki gibi tanımlanmaktadır,

  u ve v vektörlerin iç çarpımını:  (veya  Bu operatör v vektörünü u vektörü üzerine yayılmış olan çizginin üstüne yansıtıyor. Eğer u = 0, . Projeksiyon  sıfır-yansıtma olarak kullanılmaktadır. Bütün vektörleri sıfır vektöre göndermekte.

Gram–Schmidt işlemi aşağıdaki gibi çalışır:

 Örnek 
Aşağıdaki vektörler kümesini R2 de düşünün (geleneksel iç çarpımla birlikte)

Şimdi, ortogonal vektörler kümesini elde etmek için, Gram–Schmidt işlemini gerçekleştirin,


u1 ve u2 vektörlerinin gerçekten ortogonal olduğunu kontrol edin:

iki vektörün nokta çarpımının sıfır olduğunda, iki vektörun ortogonal olduğunu biliyoruz.

Sıfır olmayan vektörler için, vektörleri, yukarıda gösterilmiş olan boyutlarına bölünmesi yoluyla vektörleri normalize edebiliriz:



 Algoritma 
Aşağıdaki MATLAB algoritma Öklid Vektörler için yazılmış olan Gram–Schmidt ortonormalleştirme yöntemidir. v1, ..., vk vektörleri (V(:,j) j. vektördür) ortonormal vektörler (U'nün sütunleri) tarafından değiştirilmiştir.

function [U]=gramschmidt(V)
[n,k] = size(V);
U = zeros(n,k);
U(:,1) = V(:,1)/norm(V(:,1));
for i = 2:k
    U(:,i)=V(:,i);
    for j=1:i-1
        U(:,i)=U(:,i)-(U(:,j)'*U(:,i)) 
               /(norm(U(:,j)))^2 * U(:,j);
    end
    U(:,i) = U(:,i)/norm(U(:,i));
end
end

Bu algoritmanın zaman açısından maliyeti O(nk2) derecesinden dir. Burada n vektörlerin olduğu boyutluluktur ().

 Kaynakça 

 Bibliyografya 

 .

Kategori:Fonksiyonel analiz
Kategori:Lineer cebir