## QR factorization using dgeqrt

Open discussion regarding features, bugs, issues, vendors, etc.

### QR factorization using dgeqrt

I take a matrix as following and do dgeqrt

A = 0.1029 0.0322 0.0543 -0.0907
-0.0756 -0.0338 -0.0896 0.0760
-0.0412 0.0034 0.0267 -0.0858
0.0671 0.1131 -0.1209 -0.0248

then I updated value of A is following

A = 0.1500 0.0888 0.0210 -0.0881
1.6056 0.0842 -0.1267 -0.0091
0.8747 -1.9381 0.0991 -0.1043
-1.4239 -1.1942 0.6984 0.0573

Now when I apply the reflectors generated in the previous step using dlarfb on a matrix whose values is same as initial value of A
i.e.

B = 0.1029 0.0322 0.0543 -0.0907
-0.0756 -0.0338 -0.0896 0.0760
-0.0412 0.0034 0.0267 -0.0858
0.0671 0.1131 -0.1209 -0.0248

B after dlarfb

Q.B= 0.150005 0.088763 0.021032 -0.088050
-0.000000 0.084232 -0.126670 -0.009072
-0.000000 -0.000000 0.099144 -0.104275
0.000000 0.000000 0.000000 -0.057265

So it is expected that all entry above and on diagonal of A and B should be same , Since its the same transform in the both case. But if see the B(4,4) and A(4,4) they have different signs. I've following things to ask

1. I've tried it many data sets for n=4,n=5 and it seems only in some cases above kind of error occures. So I'm not able to decide which of the two dlarfb or dgeqrt has bug.
2. what is relative cost of dgeqrf->dorgqr->dormqr Vs. dgeqrt->dlarfb given that I've to do dgeqrt ones and apply the same in many blocks using dlarfb.

Following are details of passed arguments to dlarfb

char SIDE = 'L', TRANS='T', DIRECT='F', STOREV='C';
int K=3, LDV=4, LDWORK=4,LDC=4;
piyush

Posts: 3
Joined: Sat Jun 19, 2010 7:12 pm

### Re: QR factorization using dgeqrt

Hi,

WORK is DOUBLE PRECISION array, dimension (NB*N)

I want to know about the content of WORK array. What will store in this matrix? ( I did a test with dgeqrt, but the entries of WORK matrix did not changed)
ssnima

Posts: 3
Joined: Wed Jan 28, 2015 9:13 am