- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
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,
Giovanni
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,
Giovanni
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page