rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
orthonormalize.m
1 function onvec = orthonormalize(vec,A,epsilon,method)
2 % function onvec = orthonormalize(vec[,A,epsilon,method])
3 %
4 % orthonormalization of vector a wrt 'A'-scalarproduct. Epsilon can
5 % be set and as methods ''gram-schmidt' (default) and 'qr' are supported.
6 
7 % Bernard Haasdonk 13.6.2002
8 
9 if nargin < 4
10  method = 'gram-schmidt';
11 end;
12 
13 if nargin < 3 || isempty(epsilon)
14  epsilon = 1e-7; % => for nonlinear evolution this value is required.
15 end;
16 
17 if nargin<2 || isempty(A)
18  A = 1;
19 end;
20 
21 switch method
22  case 'gram-schmidt'
23  warning('gram-schmidt used in orthonormalize might be inaccurate!');
24  onvec = orthonormalize_gram_schmidt(vec,A,epsilon);
25  case 'qr'
26  onvec = orthonormalize_qr(vec,A,epsilon);
27  otherwise
28  error('orthonormalization method unknown');
29 end;
30 %| \docupdate