http://wiki.nars2000.org/index.php?title=System_Function_DFT&feed=atom&action=historySystem Function DFT - Revision history2024-03-29T11:02:55ZRevision history for this page on the wikiMediaWiki 1.38.4http://wiki.nars2000.org/index.php?title=System_Function_DFT&diff=3392&oldid=prevWikiSysop: Created page with "This function is available in both monadic and dyadic forms ==Monadic Function== {{BoxStart|<apll>Z←⎕DFT R</apll> |returns the Discrete Fourier Transform of <apll>R</apll>..."2019-02-05T21:28:17Z<p>Created page with "This function is available in both monadic and dyadic forms ==Monadic Function== {{BoxStart|<apll>Z←⎕DFT R</apll> |returns the Discrete Fourier Transform of <apll>R</apll>..."</p>
<p><b>New page</b></p><div>This function is available in both monadic and dyadic forms<br />
==Monadic Function==<br />
{{BoxStart|<apll>Z←⎕DFT R</apll><br />
|returns the Discrete Fourier Transform of <apll>R</apll>.}}<br />
{{BoxLine|<apll>R</apll> is a scalar or vector of Real or Complex numbers.}}<br />
{{BoxEnd|<apll>Z</apll> is a vector of length <apll>2*⌈2⍟≢R</apll> of Complex numbers.}}<br />
<br /><br />
<p>The monadic function is implemented by choosing the Fast Fourier Transform algorithm appropriate to the datatype of <apll>R</apll>. In particular, if the datatype of <apll>R</apll> is</p><br />
<br />
<ul><br />
<li>Fixed Precision Integer or Floating Point, the FFT algorithm from Gnu Scientific Library is used</li><br />
<li>Multiple Precision Integer/Rational or Floating Point, the FFT algorithm MPFFT is used</li><br />
<li>Ball Arithmetic, the FFT algorithm from ARB is used</li><br />
</ul><br />
<br />
<p>Because the underlying FFT algorithm is most efficient when the length of <apll>R</apll> is a power of two, the system function automatically pads its argument <br />
with a sufficient number of trailing zeros, and returns a result of the padded length.</p><br />
<br />
<p>For example,</p><br />
<br />
<apll><pre><br />
⎕PP←10<br />
⎕DFT 1 2 3 4<br />
10 ¯2<_i/>2 ¯2 ¯2<_i/>¯2</pre></apll><br />
<br />
<br />
==Dyadic Function==<br />
{{BoxStart|<apll>Z←L ⎕DFT R</apll><br />
|returns the Discrete Fourier Transform of <apll>R</apll> or its Inverse depending upon the value of <apll>L</apll>.}}<br />
{{BoxLine|<apll>R</apll> is a scalar or vector of Real or Complex numbers.}}<br />
{{BoxLine|<apll>L</apll> is an integer scalar whose value is either <apll>1</apll> or <apll>¯1</apll>.}}<br />
{{BoxEnd|<apll>Z</apll> is a vector of length <apll>2*⌈2⍟≢R</apll> of Complex numbers.}}<br />
<br/><br />
<p>The dyadic function <apll>1 ⎕DFT R</apll> returns the Discrete Fourier Transform of <apll>R</apll>; <apll>¯1 ⎕DFT R</apll> returns the Inverse Discrete Fourier Transform. As in the monadic case, the dyadic function chooses the (Inverse) Fast Fourier Transform algorithm appropriate to the datatype of R.</p><br />
<br />
<p>For example,</p><br />
<br />
<apll><pre><br />
⎕PP←10<br />
⎕DFT 1 2 3 4<br />
10 ¯2<_i/>2 ¯2 ¯2<_i/>¯2 <br />
1 ⎕DFT 1 2 3 4<br />
10 ¯2<_i/>2 ¯2 ¯2<_i/>¯2 <br />
¯1 ⎕DFT ⎕DFT 1 2 3 4<br />
1 2 3 4</pre></apll></div>WikiSysop