Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

from explicit QR to compact form?



I use LAPACK_dgeqrf to compute QR factorization and this one returns a compact representation in which the Q is not formed explicitly (I believe is in the WY compact form), then I use the documented two methods to use such compact QR to solve systems of equations.

I found an algorithm that updates the QR when blocks of rows are added to the corresponding matrix but this algorithm gives back a Q and R explicitly. Now I need to convert these explicitly formed Q and R into the compact form needed to interface with MKL or LAPACK.

Are there helper MKL functions to create the compact representation given the explicit Q and R?

Best regards,

0 Kudos
2 Replies
Hello Giovanni,

You could obtain the WY representation of explicitly formed Q by running DGEQRF on the Q. It will return you R equal to identity matrix and the same Q butin the compact form.

Hello Alexander,

Thank you, that's smart :) a good tip indeed but I meant implicitly not having to recompute the QR from scratch. In any case I understood the in and outs of the representation so I would be able to modify it myself directly with updates i.e.

upper trapezoidal: R (including the diagonal)
lower: the householder/givens rotator column vectors v_i
tau: the householder coeffiencients t_i

I can build H = I - t_i*(v_i*v_i') this last bit is an outer product that makes a matrix.

I kind of started to understand how to manually update the QR addrows, addcols, delcols. My problem is translating whatever algorithm I can think of into something that can be most efficiently integrated with MKL.
There are some implementations I know:

but have had trouble integrating it, and besides they are general and my case is simpler e.g. my addcols is always append column at the end.

Best regards,