Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

dormqr trick?


I couldn't figure out from the documentation how to achieve the following use-case.

I have a matrix A for which I compute its QR factorization using geqrf. For some sound reasons (I need you to trust me here so the story is short) I need to apply Q to a c vector but with an identity appended to the bottom of the Q and using dormqr. I do this by appending a row of zeros to my compact QR decomposition and a zero element to my tau vector and this works fine.

Now I would like to accomplish the same with dormqr but without having to use this artifact that pollutes my QR with an extra row of zero. How can I do that? I have searched all over but can't find the solution unless I give up with dormqr and loop over and invoke dlarf.

The problem is that the appending a row of zeros to my QR in column-major is very expensive and sort of defeats the gain I get by doing QR updates (this is the reason).

Many thanks in advance,
Best regards,
0 Kudos
1 Reply
I solved this one, I only had to pass an m and corresponding ldx to dormqr substracting first the block size in rows of the newly appended rows so the main QR is only applied to the part of the vector with a row size before the update and it works, thankfully I didn't have to loop over dlarf for this.
0 Kudos