Search code examples
pythonnumpyabsolute-value

The Absolute Value of a Complex Number with Numpy


I have the following script in Python. I am calculating the Fourier Transform of an array. When I want to plot the results (Fourier transform) I am using the absolute value of that calculation. However, I do not know how the absolute value of complex numbers is being produced. Does anyone know how it calculates? I need this to reproduce in Java.

import numpy as np
import matplotlib.pyplot as plt
from numpy import fft

inp = [1,2,3,4]

res = fft.fft(inp)

print(res[1]) # returns (-2+2j) complex number

print(np.abs(res[1])) # returns 2.8284271247461903

Solution

  • sqrt(Re(z)**2 + Im(z)**2)
    

    for z = a + ib this becomes:

    sqrt(a*a + b*b)
    

    It's just the euclidean norm. You have to sum the square of real part and imaginary part (without the i) and do the sqrt of it.

    absolute of complex number

    https://www.varsitytutors.com/hotmath/hotmath_help/topics/absolute-value-complex-number