2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

グラムシュミットの直交化法

Last updated at Posted at 2022-06-10

グラムシュミットの直交化法

グラムシュミットの正規直交化法(Gram–Schmidt orthonormalization)とは基底Xを用いて正規直交行列Uを作る方法である。

以下では
https://manabitimes.jp/math/1149
基底Xを用いて正規直交行列Uを作るとは、以下の意味であるとする。

u_1 を x_1 の線形結合、\\
u_2 を x_1とx_2の線形結合、\\
u_3 を x_1, x_2, とx_3の線形結合。

ここで$u_i$は行列Uの列、$x_i$は行列Xの列である。
グラムシュミットの直交化法は、まさにこの条件で直交する正規ベクトルを順次計算する。

グラムシュミットの直交化法のmatlabコード

以下のmatlabコードは正規乱数を用いて4x4の行列xを生成し、グラムシュミットの正規直交化法により正規直交行列を得る。結果が正規直交行列であることを確認するため、行列式の値が1であること、$uu'$が単位行列であることを数値計算により示す。

N = 4;
x = randn( N );

u = gram( x );
det( u )
u*u'

%
% グラムシュミットの直交化法
%
function u = gram(x)
    u = zeros( size( x ) );
    for i = 1:size( x, 2 )
       tp = x( :,i );
       for j = 1:(i-1)
         tp = tp - tp'*u(:,j)*u(:,j);
       end
       u(:,i) = tp/norm(tp);    
    end
end

以上

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?