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

 Réponse acceptée

Roger Stafford
Roger Stafford le 5 Juin 2016

1 vote

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 commentaires

nauman
nauman le 5 Juin 2016
Hi Roger Thanks. It means if i multiply two N size complex arrays, "element by element", total no of flops would be 6N. Am i right?
Roger Stafford
Roger Stafford le 5 Juin 2016
Modifié(e) : Roger Stafford le 5 Juin 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.
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.

Connectez-vous pour commenter.

Plus de réponses (1)

Adam
Adam le 4 Juin 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 commentaire

nauman
nauman le 5 Juin 2016
Hi Adam Thanks for help. Actually i need to theoretically calculate FLOPs for N size complex arrays multiplication

Connectez-vous pour commenter.

Catégories

En savoir plus sur General Applications dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by