fftw.html 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <html lang="en">
  2. <head>
  3. <title>fftw - avram - a virtual machine code interpreter</title>
  4. <meta http-equiv="Content-Type" content="text/html">
  5. <meta name="description" content="avram - a virtual machine code interpreter">
  6. <meta name="generator" content="makeinfo 4.13">
  7. <link title="Top" rel="start" href="index.html#Top">
  8. <link rel="up" href="External-Libraries.html#External-Libraries" title="External Libraries">
  9. <link rel="prev" href="complex.html#complex" title="complex">
  10. <link rel="next" href="glpk.html#glpk" title="glpk">
  11. <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
  12. <meta http-equiv="Content-Style-Type" content="text/css">
  13. <style type="text/css"><!--
  14. pre.display { font-family:inherit }
  15. pre.format { font-family:inherit }
  16. pre.smalldisplay { font-family:inherit; font-size:smaller }
  17. pre.smallformat { font-family:inherit; font-size:smaller }
  18. pre.smallexample { font-size:smaller }
  19. pre.smalllisp { font-size:smaller }
  20. span.sc { font-variant:small-caps }
  21. span.roman { font-family:serif; font-weight:normal; }
  22. span.sansserif { font-family:sans-serif; font-weight:normal; }
  23. --></style>
  24. </head>
  25. <body>
  26. <div class="node">
  27. <a name="fftw"></a>
  28. <p>
  29. Next:&nbsp;<a rel="next" accesskey="n" href="glpk.html#glpk">glpk</a>,
  30. Previous:&nbsp;<a rel="previous" accesskey="p" href="complex.html#complex">complex</a>,
  31. Up:&nbsp;<a rel="up" accesskey="u" href="External-Libraries.html#External-Libraries">External Libraries</a>
  32. <hr>
  33. </div>
  34. <h3 class="section">D.3 <code>fftw</code></h3>
  35. <p>Some functions in the <code>fftw</code> fast Fourier transform library are
  36. <a name="index-Fourier-transforms-712"></a><a name="index-Hartley-transforms-713"></a>callable by virtual code programs of the form
  37. <code>library('fftw',f)</code>, where <code>f</code> can be one of the following
  38. character strings.
  39. <dl>
  40. <dt><code>u_fw_dft</code><dd>(uni-dimensional forward Discrete Fourier transform)
  41. <br><dt><code>u_bw_dft</code><dd>(uni-dimensional backward Discrete Fourier transform)
  42. <br><dt><code>b_fw_dft</code><dd>(bi-dimensional forward Discrete Fourier transform)
  43. <br><dt><code>b_bw_dft</code><dd>(bi-dimensional backward Discrete Fourier transform)
  44. <br><dt><code>u_dht</code><dd>(uni-dimensional Discrete Hartley transform)
  45. <br><dt><code>b_dht</code><dd>(bi-dimensional Discrete Hartley transform)
  46. </dl>
  47. <p>These stand for the discrete Fourier transform, in one dimension and two
  48. dimensions, either backward or forward, and the discrete Hartley
  49. transform in one dimension and two dimensions. The <code>fftw</code> library
  50. documentation (<a href="http://www.fftw.org">http://www.fftw.org</a>) can give more information
  51. about the meaning of these transformations.
  52. <p>The interface is somewhat simplified compared to the API for the <code>fftw</code>
  53. C library because there are no considerations of memory management or
  54. planning, nor any provision for dimensions higher than two.
  55. <p>Furthermore, from the virtual side of the interface, these
  56. functions operate on lists rather than arrays. The one dimensional
  57. Fourier transforms take a list of complex numbers to a list of complex
  58. numbers (see <a href="complex.html#complex">complex</a>), and the one dimensional Hartley
  59. transforms take a list of reals to a list of reals (see
  60. <a href="math.html#math">math</a>). The two dimensional transforms are analogous but they
  61. take a matrix represented as a list of lists. Error messages
  62. pertaining to invalid input documented at the beginning of
  63. this section (<a href="External-Libraries.html#External-Libraries">External Libraries</a>) are relevant.
  64. <p>Finally, unlike the native API for <code>fftw</code>, these transformations are
  65. scaled so that the backward transformation is the inverse of the
  66. forward, and the Hartley transformations are their own inverses
  67. (subject to roundoff error).
  68. </body></html>