Clear Filters
Clear Filters

FLOPS in Complex Array Multiplication

34 views (last 30 days)
Hi all
I have two complex number arrays of size N. If i do element by element multiplication of these two arrays, how can i calculate total no of "FLOPs" for this array multiplication?
Kindly help me. Thanks

Accepted Answer

Roger Stafford
Roger Stafford on 5 Jun 2016
I count six floating point operations per complex multiplication. If your matrix is N-by-N, that would be a total of 6*N^2 flops for an element-by-element multiplication.
  3 Comments
Roger Stafford
Roger Stafford on 5 Jun 2016
Edited: Roger Stafford on 5 Jun 2016
It depends on what you mean by "N size". If you mean N-by-1 or 1-by-N, then 6*N is correct. The fundamental fact is that a multiplication of one complex number by another complex number takes six flops, consisting of four floating point multiplications and two floating point additions.
Walter Roberson
Walter Roberson on 5 Jun 2016
If the arrays have N elements then Yes.
a .* b = complex( real(a).*real(b) - imag(a).*imag(b), real(a).*imag(b) + imag(a).*real(b) )
2 multiplications and one addition (or subtraction) on each side, for a total of 6 operations.

Sign in to comment.

More Answers (1)

Adam
Adam on 4 Jun 2016
doc timeit
Put the multiplication in a function, use timeit and divide the number of floating point operations (easy to calculate) by the time you get.
  1 Comment
nauman
nauman on 5 Jun 2016
Hi Adam Thanks for help. Actually i need to theoretically calculate FLOPs for N size complex arrays multiplication

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!