FLOPS in Complex Array Multiplication
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
nauman
el 4 de Jun. de 2016
Comentada: Walter Roberson
el 5 de Jun. de 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 comentarios
Respuesta aceptada
Roger Stafford
el 5 de Jun. de 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 comentarios
Roger Stafford
el 5 de Jun. de 2016
Editada: Roger Stafford
el 5 de Jun. de 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
el 5 de Jun. de 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.
Más respuestas (1)
Adam
el 4 de Jun. de 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.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!