Mercurial > hg > octave-avbm
view test/octave.test/linalg/qr-7.m @ 4030:22bd65326ec1
[project @ 2002-08-09 18:58:13 by jwe]
author | jwe |
---|---|
date | Fri, 09 Aug 2002 19:00:16 +0000 |
parents | fcb4931ec48a |
children | 7787c144d5d9 |
line wrap: on
line source
function retval = testqr (q, r, a, p) tol = 512*eps; retval = 0; if (nargin == 3) n1 = norm (q*r-a) n2 = norm (q'*q-eye(columns(q))) retval = (n1 < tol && n2 < tol) else n1 = norm (q'*q-eye(columns(q))) retval = (n1 < tol); if (isvector (p)) n2 = norm (q*r-a(:,p)) retval = (retval && n2 < tol); else n2 = norm (q*r - a*p) retval = (retval && n2 < tol); endif endif endfunction t = zeros (16, 1); j = 1; a = rand(5000,20); [q,r]=qr(a,0); t(j++) = testqr(q,r,a); [q,r]=qr(a',0); t(j++) = testqr(q,r,a'); [q,r,p]=qr(a,0); t(j++) = testqr(q,r,a,p); [q,r,p]=qr(a',0); t(j++) = testqr(q,r,a',p); a = a+1i*randn(size(a))*sqrt(eps); [q,r]=qr(a,0); t(j++) = testqr(q,r,a); [q,r]=qr(a',0); t(j++) = testqr(q,r,a'); [q,r,p]=qr(a,0); t(j++) = testqr(q,r,a,p); [q,r,p]=qr(a',0); t(j++) = testqr(q,r,a',p); a = [ ones(1,15); sqrt(eps)*eye(15) ]; [q,r]=qr(a); t(j++) = testqr(q,r,a); [q,r]=qr(a'); t(j++) = testqr(q,r,a'); [q,r,p]=qr(a); t(j++) = testqr(q,r,a,p); [q,r,p]=qr(a'); t(j++) = testqr(q,r,a',p); a = a+1i*randn(size(a))*sqrt(eps); [q,r]=qr(a); t(j++) = testqr(q,r,a); [q,r]=qr(a'); t(j++) = testqr(q,r,a'); [q,r,p]=qr(a); t(j++) = testqr(q,r,a,p); [q,r,p]=qr(a'); t(j++) = testqr(q,r,a',p); all (t)