DORMQR operation or flop count

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

DORMQR operation or flop count

Postby bravegag » Sat Sep 08, 2012 8:02 am

Hello,

Can anyone please advice what's the flop count of the function DORMQR? Should be the cost of forming Q plus the cost of the MVM applying it to C (2mn).

Any citation to a paper or article discussing this would be greatly appreciated.

TIA,
Best regards,
Giovanni
bravegag
 
Posts: 12
Joined: Sat Mar 24, 2012 3:23 pm

Re: DORMQR operation or flop count

Postby Julien Langou » Sat Sep 08, 2012 11:02 am

Hi Giovanni,

Flops count of (sone of the) LAPACK subroutines is given in Appendix C of the Installation Guide for LAPACK, LAPACK Working Note 41, Susan Blackford and Jack Dongarra.
See http://www.netlib.org/lapack/lawnspdf/lawn41.pdf
For DORMQR go and look at the bottom of page 12, you have two cases SIDE=R or SIDE=L.

And FYI, the cost of DORMQR is NOT the cost of DORGQR (generating Q) + the cost of DGEMM (multiplying with Q), it is significantly less.
In particular since you seems to indicate you only have one vector (since you say the multiplication is 2mn) to multiply with, forming the
whole Q would be a big time consumption and a big memory requirement.

Cheers,
Julien.
Julien Langou
 
Posts: 734
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

Re: DORMQR operation or flop count

Postby bravegag » Tue Sep 11, 2012 7:51 am

Thank you Julien! That's exactly what I was looking for ... and it matches the Golub cost at least for the first term.

Once more your feedback is most helpful!

Best regards,
Giovanni
bravegag
 
Posts: 12
Joined: Sat Mar 24, 2012 3:23 pm


Return to User Discussion

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 2 guests