/// <summary> /// Inverse discrete Fourier transform. Input array of arbitrary size. /// </summary> /// <param name="input">Input array to be transformed.</param> /// <returns>Output Fourier transformed array.</returns> public static Double[] InverseDiscreteTransform(Double[] input) { return input.Length > 0 ? Double.DiscreteTransform(input.Map(c => c.Conjugate)).Map(c => c.Conjugate / (double)input.Length) : new Double[0]; }