FLOPS in Complex Array Multiplication
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
nauman
le 4 Juin 2016
Commenté : Walter Roberson
le 5 Juin 2016
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
0 commentaires
Réponse acceptée
Roger Stafford
le 5 Juin 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 commentaires
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.
Walter Roberson
le 5 Juin 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.
Plus de réponses (1)
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.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!