Quadprog Active Set Method

2 views (last 30 days)
imperial1991
imperial1991 on 27 Jul 2011
Hi guys, I am using MATLAB 2011a. I am using MATLAB's quadprog to solve the QP problem that I have. Is there a way for me to calculate the flop count that quadprog consumes?
I only know of the lightspeed toolbox as a reliable way to count flops. However, to use this toolbox, the matrix operation has to be specified. In other words, you can't type flopcount(quadprog(...)). In this regard, is there a way to display the number of active constraints when using MATLAB's quadprog? If I can't find any other way to count the number of flops, I might as well do it manually but I require some information such as this.
Thanks a lot!

Answers (1)

Walter Roberson
Walter Roberson on 27 Jul 2011
flop count stopped having much relationship to reality in the early 1990s when MIPS brought out the R8000 processor with pipelining and out-of-order execution. You do still see terms like "petaflops" thrown around for supercomputers, but the associated figures quoted are usually for absolute best-case processing on hand-written assembly code, and it is seldom that any real program can achieve even half of the quoted figure.
flop counts do not take in to account that addition and subtraction are very fast, multiplication somewhat slower, and division typically one of the slowest operations. Compilers are free to recode (A*2) as (A+A) and doing so can speed up the code a fair bit. Machines commonly have a "fused multiply and add" that operates at pretty much the same speed as a multiply alone: would you count that as one flop or as two ?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!