title: FFT with Math.NET 4.0 - Complex32[] vs. Complex[]
body: <p>I have a problem calculating the FFT from my data set, using Math.NET with .NET4.0.</p>
  
  <p>I used .NET 3.5 with Math.NET like this without any errors:</p>
  
  <pre><code>    public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data) 
      {
         Complex[] samples = new Complex[data.Length];
         double[] FFT_abs_1d = new double[data.Length / 2];
  
         int zaehler = 0;
         foreach(double val in data)
         {
            samples[zaehler] = new Complex(val, 0);
            Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1) / 2) / (sigma * (samples.Length - 1) / 2)), 2)); // Gauß
            samples[zaehler] = samples[zaehler].Real * Fenster[zaehler];
            zaehler++;
         }   
         MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
      }
  </code></pre>
  
  <p>Now I want to use .NET 4.0 and Complex[] is no longer known - only Complex32. 
  When I now change Complex[] to Complex32[]:</p>
  
  <pre><code>    public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data) 
      {
         Complex32[] samples = new Complex32[data.Length];
         double[] FFT_abs_1d = new double[data.Length / 2];
  
         int zaehler = 0;
         foreach(double val in data)
         {
            samples[zaehler] = new Complex32((float)val, 0);
            Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1) / 2) / (sigma * (samples.Length - 1) / 2)), 2)); // Gauß
            samples[zaehler] = samples[zaehler].Real * (float)Fenster[zaehler];
            zaehler++;
         }       
  
         MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
      }
  </code></pre>
  
  <p>this error-message occurs:</p>
  
  <blockquote>
    <p>Error 7   The best overloaded method match for 'MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(System.Numerics.Complex[], MathNet.Numerics.IntegralTransforms.FourierOptions)' has some invalid arguments</p>
  </blockquote>
  
  <p>Does anyone has an idea, how to solve this problem under .NET 4.0?</p>