You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<dd><p>Computes the one-dimensional discrete Fourier transform.</p>
335
335
<divclass="admonition note">
336
336
<pclass="admonition-title">Note</p>
337
-
<p>Applying the one-dimensional inverse discrete Fourier transform to the output of this function must return the original (i.e., non-transformed) input array within numerical accuracy (i.e., <codeclass="docutils literal notranslate"><spanclass="pre">ifft(fft(x))</span><spanclass="pre">==</span><spanclass="pre">x</span></code>), provided that the transform and inverse transform are performed with the same arguments (length, axis, and normalization mode).</p>
337
+
<p>Applying the one-dimensional inverse discrete Fourier transform to the output of this function must return the original (i.e., non-transformed) input array within numerical accuracy (i.e., <codeclass="docutils literal notranslate"><spanclass="pre">ifft(fft(x))</span><spanclass="pre">==</span><spanclass="pre">x</span></code>), provided that the transform and inverse transform are performed with the same arguments (number of elements, axis, and normalization mode).</p>
<li><p><strong>x</strong> (<em>array</em>) – input array. Should have a floating-point data type.</p></li>
343
-
<li><p><strong>n</strong> (<em>int</em>) – <p>length of the transformed axis of the output. If</p>
342
+
<li><p><strong>x</strong> (<em>array</em>) – input array. Should have a complex-valued floating-point data type.</p></li>
343
+
<li><p><strong>n</strong> (<em>Optional</em><em>[</em><em>int</em><em>]</em>) – <p>number of elements over which to compute the transform along the axis (dimension) specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code>. Let <codeclass="docutils literal notranslate"><spanclass="pre">M</span></code> be the size of the input array along the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code>. When <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> is <codeclass="docutils literal notranslate"><spanclass="pre">None</span></code>, the function must set <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> equal to <codeclass="docutils literal notranslate"><spanclass="pre">M</span></code>.</p>
344
344
<ul>
345
-
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> is greater than the length of the input array, the input array is zero-padded to length<codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>.</p></li>
346
-
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> is less than the length of the input array, the input array is trimmed to length<codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>.</p></li>
347
-
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>is not provided, the length of the transformed axis of the output must equal the length of the input along the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code>.</p></li>
345
+
<li><p>If <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> is greater than <codeclass="docutils literal notranslate"><spanclass="pre">M</span></code>, the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> must be zero-padded to size<codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>.</p></li>
346
+
<li><p>If <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> is less than <codeclass="docutils literal notranslate"><spanclass="pre">M</span></code>, the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> must be trimmed to size<codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>.</p></li>
347
+
<li><p>If <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>equals <codeclass="docutils literal notranslate"><spanclass="pre">M</span></code>, all elements along the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> must be used when computing the transform.</p></li>
<li><p><strong>axis</strong> (<em>int</em>) – <p>axis (dimension) over which to compute the Fourier transform. If not set, the last axis (dimension) is used.</p>
<li><p><strong>axis</strong> (<em>int</em>) – axis (dimension) of the input array over which to compute the transform. A valid <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> must be an integer on the interval <codeclass="docutils literal notranslate"><spanclass="pre">[-N,</span><spanclass="pre">N)</span></code>, where <codeclass="docutils literal notranslate"><spanclass="pre">N</span></code> is the rank (number of dimensions) of <codeclass="docutils literal notranslate"><spanclass="pre">x</span></code>. If an <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> is specified as a negative integer, the function must determine the axis along which to compute the transform by counting backward from the last dimension (where <codeclass="docutils literal notranslate"><spanclass="pre">-1</span></code> refers to the last dimension). Default: <codeclass="docutils literal notranslate"><spanclass="pre">-1</span></code>.</p></li>
354
352
<li><p><strong>norm</strong> (<em>Literal</em><em>[</em><em>'backward'</em><em>, </em><em>'ortho'</em><em>, </em><em>'forward'</em><em>]</em>) – <p>normalization mode. Should be one of the following modes:</p>
355
353
<ul>
356
354
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">'backward'</span></code>: no normalization.</p></li>
<ddclass="field-even"><p><strong>out</strong> (<em>array</em>) – an array transformed along the axis (dimension) indicated by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code>. The returned array must have a complex floating-point data type determined by <aclass="reference internal" href="../../API_specification/type_promotion.html#type-promotion"><spanclass="std std-ref">Type Promotion Rules</span></a>.</p>
363
+
<ddclass="field-even"><p><strong>out</strong> (<em>array</em>) – an array transformed along the axis (dimension) specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code>. The returned array must have the same data type as <codeclass="docutils literal notranslate"><spanclass="pre">x</span></code> and must have the same shape as <codeclass="docutils literal notranslate"><spanclass="pre">x</span></code>, except for the axis specified by <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> which must have size <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code>.</p>
<spanclass="sig-name descname"><spanclass="pre">fftfreq</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">n</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">/</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">d</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">float</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">1.0</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">device</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">device</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">array</span></span></span><aclass="headerlink" href="#array_api.fft.fftfreq" title="Permalink to this definition">¶</a></dt>
334
-
<dd><p>Returns the discrete Fourier transform sample frequencies.</p>
335
-
<p>For a Fourier transform of length <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> and length unit of <codeclass="docutils literal notranslate"><spanclass="pre">d</span></code> the frequencies are described as:</p>
334
+
<dd><p>Computes the discrete Fourier transform sample frequencies.</p>
335
+
<p>For a Fourier transform of length <codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> and length unit of <codeclass="docutils literal notranslate"><spanclass="pre">d</span></code>, the frequencies are described as:</p>
336
336
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="n">f</span><spanclass="o">=</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">1</span><spanclass="p">,</span><spanclass="o">...</span><spanclass="p">,</span><spanclass="n">n</span><spanclass="o">/</span><spanclass="mi">2</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="p">,</span><spanclass="o">-</span><spanclass="n">n</span><spanclass="o">/</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="o">...</span><spanclass="p">,</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="p">]</span><spanclass="o">/</span><spanclass="p">(</span><spanclass="n">d</span><spanclass="o">*</span><spanclass="n">n</span><spanclass="p">)</span><spanclass="c1"># if n is even</span>
337
337
<spanclass="n">f</span><spanclass="o">=</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">1</span><spanclass="p">,</span><spanclass="o">...</span><spanclass="p">,</span><spanclass="p">(</span><spanclass="n">n</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="p">)</span><spanclass="o">/</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="o">-</span><spanclass="p">(</span><spanclass="n">n</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="p">)</span><spanclass="o">/</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="o">...</span><spanclass="p">,</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="p">]</span><spanclass="o">/</span><spanclass="p">(</span><spanclass="n">d</span><spanclass="o">*</span><spanclass="n">n</span><spanclass="p">)</span><spanclass="c1"># if n is odd</span>
<ddclass="field-even"><p><strong>out</strong> (<em>array</em>) – an array of length<codeclass="docutils literal notranslate"><spanclass="pre">n</span></code> containing the sample frequencies. The returned array must have a real-valued floating-point data type determined by <aclass="reference internal" href="../../API_specification/type_promotion.html#type-promotion"><spanclass="std std-ref">Type Promotion Rules</span></a>.</p>
349
+
<ddclass="field-even"><p><strong>out</strong> (<em>array</em>) – an array of shape<codeclass="docutils literal notranslate"><spanclass="pre">(n,)</span></code> containing the sample frequencies. The returned array must have the default real-valued floating-point data type.</p>
0 commit comments