title: Correct way to use scipy.signal.spectral.lombscargle
body: <p>I'm refering to the following post : <a href="https://stackoverflow.com/questions/13349181/using-scipy-signal-spectral-lombscargle-for-period-discovery">Using scipy.signal.spectral.lombscargle for period discovery</a></p>
  
  <p>I realize the answer given correct for certain case.</p>
  
  <h2>Frequency for sin(x), which is 1/(2* pi)</h2>
  
  <pre><code># imports the numerical array and scientific computing packages
  import numpy as np
  import scipy as sp
  from scipy.signal import spectral
  
  # generates 100 evenly spaced points between 1 and 1000
  time = np.linspace(1, 1000, 100)
  
  # computes the sine value of each of those points
  mags = np.sin(time)
  
  # scales the sine values so that the mean is 0 and the variance is 1 (the documentation specifies that this must be done)
  scaled_mags = (mags-mags.mean())/mags.std()
  
  # generates 1000 frequencies between 0.01 and 1
  freqs = np.linspace(0.01, 1, 1000)
  
  # computes the Lomb Scargle Periodogram of the time and scaled magnitudes using each frequency as a guess
  periodogram = spectral.lombscargle(time, scaled_mags, freqs)
  
  # returns the inverse of the frequence (i.e. the period) of the largest periodogram value
  print "1/2pi = " + str(1/(2*np.pi))
  print "Frequency = " + str(freqs[np.argmax(periodogram)] / 2.0 / np.pi)
  </code></pre>
  
  <p>The following is printed. Is fine. I guess. The reason we divide the <code>lombscargle</code> result with <code>2pi</code> is that, we need to convert radian to frequency. (f = radian / 2pi)</p>
  
  <pre><code>1/2pi = 0.159154943092
  Frequency = 0.159154943092
  </code></pre>
  
  <p>However, thing seems goes wrong for the following case.</p>
  
  <h2>Frequency for sin(2x), which is 1/(pi)</h2>
  
  <pre><code># imports the numerical array and scientific computing packages
  import numpy as np
  import scipy as sp
  from scipy.signal import spectral
  
  # generates 100 evenly spaced points between 1 and 1000
  time = np.linspace(1, 1000, 100)
  
  # computes the sine value of each of those points
  mags = np.sin(2 * time)
  
  # scales the sine values so that the mean is 0 and the variance is 1 (the documentation specifies that this must be done)
  scaled_mags = (mags-mags.mean())/mags.std()
  
  # generates 1000 frequencies between 0.01 and 1
  freqs = np.linspace(0.01, 1, 1000)
  
  # computes the Lomb Scargle Periodogram of the time and scaled magnitudes using each frequency as a guess
  periodogram = spectral.lombscargle(time, scaled_mags, freqs)
  
  # returns the inverse of the frequence (i.e. the period) of the largest periodogram value
  print "1/pi = " + str(1/(np.pi))
  print "Frequency = " + str(freqs[np.argmax(periodogram)] / 2.0 / np.pi)
  </code></pre>
  
  <p>The following is being printed.</p>
  
  <pre><code>1/pi = 0.318309886184
  Frequency = 0.0780862900972
  </code></pre>
  
  <p>Seem incorrect. Any step that I had missed out?</p>