fftw.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on December 10, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: D.3 fftw</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: D.3 fftw">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: D.3 fftw">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="fftw"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="complex.html#complex" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="glpk.html#glpk" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="fftw-1"></a>
  58. <h2 class="section">D.3 <code>fftw</code></h2>
  59. <p>Some functions in the <code>fftw</code> fast Fourier transform library are
  60. <a name="index-Fourier-transforms"></a>
  61. <a name="index-Hartley-transforms"></a>
  62. callable by virtual code programs of the form
  63. <code>library('fftw',f)</code>, where <code>f</code> can be one of the following
  64. character strings.
  65. </p>
  66. <dl compact="compact">
  67. <dt> <code>u_fw_dft</code></dt>
  68. <dd><p>(uni-dimensional forward Discrete Fourier transform)
  69. </p></dd>
  70. <dt> <code>u_bw_dft</code></dt>
  71. <dd><p>(uni-dimensional backward Discrete Fourier transform)
  72. </p></dd>
  73. <dt> <code>b_fw_dft</code></dt>
  74. <dd><p>(bi-dimensional forward Discrete Fourier transform)
  75. </p></dd>
  76. <dt> <code>b_bw_dft</code></dt>
  77. <dd><p>(bi-dimensional backward Discrete Fourier transform)
  78. </p></dd>
  79. <dt> <code>u_dht</code></dt>
  80. <dd><p>(uni-dimensional Discrete Hartley transform)
  81. </p></dd>
  82. <dt> <code>b_dht</code></dt>
  83. <dd><p>(bi-dimensional Discrete Hartley transform)
  84. </p></dd>
  85. </dl>
  86. <p>These stand for the discrete Fourier transform, in one dimension and two
  87. dimensions, either backward or forward, and the discrete Hartley
  88. transform in one dimension and two dimensions. The <code>fftw</code> library
  89. documentation (<a href="http://www.fftw.org">http://www.fftw.org</a>) can give more information
  90. about the meaning of these transformations.
  91. </p>
  92. <p>The interface is somewhat simplified compared to the API for the <code>fftw</code>
  93. C library because there are no considerations of memory management or
  94. planning, nor any provision for dimensions higher than two.
  95. </p>
  96. <p>Furthermore, from the virtual side of the interface, these
  97. functions operate on lists rather than arrays. The one dimensional
  98. Fourier transforms take a list of complex numbers to a list of complex
  99. numbers (see <a href="complex.html#complex"><code>complex</code></a>), and the one dimensional Hartley
  100. transforms take a list of reals to a list of reals (see
  101. <a href="math.html#math"><code>math</code></a>). The two dimensional transforms are analogous but they
  102. take a matrix represented as a list of lists. Error messages
  103. pertaining to invalid input documented at the beginning of
  104. this section (<a href="External-Libraries.html#External-Libraries">External Libraries</a>) are relevant.
  105. </p>
  106. <p>Finally, unlike the native API for <code>fftw</code>, these transformations are
  107. scaled so that the backward transformation is the inverse of the
  108. forward, and the Hartley transformations are their own inverses
  109. (subject to roundoff error).
  110. </p>
  111. <hr size="1">
  112. <table cellpadding="1" cellspacing="1" border="0">
  113. <tr><td valign="middle" align="left">[<a href="complex.html#complex" title="Previous section in reading order"> &lt; </a>]</td>
  114. <td valign="middle" align="left">[<a href="glpk.html#glpk" title="Next section in reading order"> &gt; </a>]</td>
  115. <td valign="middle" align="left"> &nbsp; </td>
  116. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  117. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Up section"> Up </a>]</td>
  118. <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> &gt;&gt; </a>]</td>
  119. <td valign="middle" align="left"> &nbsp; </td>
  120. <td valign="middle" align="left"> &nbsp; </td>
  121. <td valign="middle" align="left"> &nbsp; </td>
  122. <td valign="middle" align="left"> &nbsp; </td>
  123. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  124. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  125. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  126. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  127. </tr></table>
  128. <p>
  129. <font size="-1">
  130. This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  131. </font>
  132. <br>
  133. </p>
  134. </body>
  135. </html>