MATLABでグラムシュミット直交化

a, b, c, dがそれぞれ列ベクトルで、4次元の斜交基底を成しているとする。直交基底はqr関数を用いれば簡単に求められる。

>> base = [a, b, c, d];
>> [new_base, ~] = qr(base);

new_baseの各列が直交基底を成す。n次元に応用可能。やっていることはGram Schmidt orthogonalizationに同じ。