https://mizugadro.mydns.jp/t/index.php?title=CosFT&feed=atom&action=history
CosFT - Revision history
2024-03-28T11:41:25Z
Revision history for this page on the wiki
MediaWiki 1.31.16
https://mizugadro.mydns.jp/t/index.php?title=CosFT&diff=28406&oldid=prev
T: Text replacement - "\$([^\$]+)\$" to "\\(\1\\)"
2019-07-30T09:47:41Z
<p>Text replacement - "\$([^\$]+)\$" to "\\(\1\\)"</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 09:47, 30 July 2019</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]], or Cosinus Transform, refers to the integral transform with kernel <del class="diffchange diffchange-inline">$</del>K(x,y)=\sqrt{\frac{2}{\pi}} \cos(xy)<del class="diffchange diffchange-inline">$</del>;</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]], or Cosinus Transform, refers to the integral transform with kernel <ins class="diffchange diffchange-inline">\(</ins>K(x,y)=\sqrt{\frac{2}{\pi}} \cos(xy)<ins class="diffchange diffchange-inline">\)</ins>;</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>for function <del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del>, the [[CosFT]]<del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del> appears as <del class="diffchange diffchange-inline">$</del>g<del class="diffchange diffchange-inline">$</del> defined with</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>for function <ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins>, the [[CosFT]]<ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins> appears as <ins class="diffchange diffchange-inline">\(</ins>g<ins class="diffchange diffchange-inline">\)</ins> defined with</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>\displaystyle g(x)=\,<del class="diffchange diffchange-inline">$</del>[[CosFT]]<del class="diffchange diffchange-inline">$</del>f\,(x) \displaystyle =\sqrt{\frac{2}{\pi}} \int_0^\infty \cos(xy) \, f(y) \, \mathrm d y<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>\displaystyle g(x)=\,<ins class="diffchange diffchange-inline">\)</ins>[[CosFT]]<ins class="diffchange diffchange-inline">\(</ins>f\,(x) \displaystyle =\sqrt{\frac{2}{\pi}} \int_0^\infty \cos(xy) \, f(y) \, \mathrm d y<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==[[SinFT]] and [[CosFT]]==</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==[[SinFT]] and [[CosFT]]==</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 9:</td>
<td colspan="2" class="diff-lineno">Line 9:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]] often appears together with [[SinFT]];</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]] often appears together with [[SinFT]];</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>the sine transform [[SinFT]] of function <del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del> appears as <del class="diffchange diffchange-inline">$</del>g=\,<del class="diffchange diffchange-inline">$</del>[[SinFT]]<del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del> with rofmula</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>the sine transform [[SinFT]] of function <ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins> appears as <ins class="diffchange diffchange-inline">\(</ins>g=\,<ins class="diffchange diffchange-inline">\)</ins>[[SinFT]]<ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins> with rofmula</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>\displaystyle g(x)=\sqrt{\frac{2}{\pi}} \int_0^\infty \sin(xy) \, f(y) \, \mathrm d y<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>\displaystyle g(x)=\sqrt{\frac{2}{\pi}} \int_0^\infty \sin(xy) \, f(y) \, \mathrm d y<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>It is assumed that function <del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del> decays (or, at least, quickly oscillates) at infinity, in such a way that the integral converges.</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>It is assumed that function <ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins> decays (or, at least, quickly oscillates) at infinity, in such a way that the integral converges.</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Then, [[SinFT]]<del class="diffchange diffchange-inline">$</del>^2=\,<del class="diffchange diffchange-inline">$</del>[[CosFT]]<del class="diffchange diffchange-inline">$</del>^2=\hat 1<del class="diffchange diffchange-inline">$</del>, id est, the identity transform.</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Then, [[SinFT]]<ins class="diffchange diffchange-inline">\(</ins>^2=\,<ins class="diffchange diffchange-inline">\)</ins>[[CosFT]]<ins class="diffchange diffchange-inline">\(</ins>^2=\hat 1<ins class="diffchange diffchange-inline">\)</ins>, id est, the identity transform.</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Numerical implementation==</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Numerical implementation==</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]] can be implemented numerically through the [[CFT]] transform at the uniform grid at <del class="diffchange diffchange-inline">$</del>N\!+\!1<del class="diffchange diffchange-inline">$</del> nodes; for array <del class="diffchange diffchange-inline">$</del>f<del class="diffchange diffchange-inline">$</del>, the SFT <del class="diffchange diffchange-inline">$</del>g<del class="diffchange diffchange-inline">$</del> is defined with</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[CosFT]] can be implemented numerically through the [[CFT]] transform at the uniform grid at <ins class="diffchange diffchange-inline">\(</ins>N\!+\!1<ins class="diffchange diffchange-inline">\)</ins> nodes; for array <ins class="diffchange diffchange-inline">\(</ins>f<ins class="diffchange diffchange-inline">\)</ins>, the SFT <ins class="diffchange diffchange-inline">\(</ins>g<ins class="diffchange diffchange-inline">\)</ins> is defined with</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>g_m=\,<del class="diffchange diffchange-inline">$</del>[[CFT]]<del class="diffchange diffchange-inline">$</del>\displaystyle f_m=<del class="diffchange diffchange-inline">$</del> <del class="diffchange diffchange-inline">$</del>\displaystyle</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>g_m=\,<ins class="diffchange diffchange-inline">\)</ins>[[CFT]]<ins class="diffchange diffchange-inline">\(</ins>\displaystyle f_m=<ins class="diffchange diffchange-inline">\)</ins> <ins class="diffchange diffchange-inline">\(</ins>\displaystyle</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>\frac{1}{2}\, f_0+\frac{(-1)^m}{2}\, f_{N} +</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>\frac{1}{2}\, f_0+\frac{(-1)^m}{2}\, f_{N} +</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>\sum_{n=1}^{N-1} \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>\sum_{n=1}^{N-1} \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The [[Numerical recipes in C]] (http://numerical.recipes)</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The [[Numerical recipes in C]] (http://numerical.recipes)</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 36:</td>
<td colspan="2" class="diff-lineno">Line 36:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>ftp://ftp.cs.stanford.edu/cs/robotics/scohen/nr/cosft.c</ref></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>ftp://ftp.cs.stanford.edu/cs/robotics/scohen/nr/cosft.c</ref></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>At given number <del class="diffchange diffchange-inline">$</del>N<del class="diffchange diffchange-inline">$</del> of nodes,</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>At given number <ins class="diffchange diffchange-inline">\(</ins>N<ins class="diffchange diffchange-inline">\)</ins> of nodes,</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>the set of the nodes can be denoted with <del class="diffchange diffchange-inline">$</del>x_n<del class="diffchange diffchange-inline">$</del> for <del class="diffchange diffchange-inline">$</del>n=0 .. N<del class="diffchange diffchange-inline">$</del>,</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>the set of the nodes can be denoted with <ins class="diffchange diffchange-inline">\(</ins>x_n<ins class="diffchange diffchange-inline">\)</ins> for <ins class="diffchange diffchange-inline">\(</ins>n=0 .. N<ins class="diffchange diffchange-inline">\)</ins>,</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>\displaystyle</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>\displaystyle</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>x_n=\sqrt{\frac{\pi}{N}}~ n<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>x_n=\sqrt{\frac{\pi}{N}}~ n<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>then, for <del class="diffchange diffchange-inline">$</del>f_n=f(x_n)<del class="diffchange diffchange-inline">$</del>, at large <del class="diffchange diffchange-inline">$</del>N\gg 1<del class="diffchange diffchange-inline">$</del>,</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>then, for <ins class="diffchange diffchange-inline">\(</ins>f_n=f(x_n)<ins class="diffchange diffchange-inline">\)</ins>, at large <ins class="diffchange diffchange-inline">\(</ins>N\gg 1<ins class="diffchange diffchange-inline">\)</ins>,</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>the transform <del class="diffchange diffchange-inline">$</del>~g(x)=\frac{2}{\pi}\int_0^\infty f(y)\,\cos(x\,y)\,\mathrm d y~<del class="diffchange diffchange-inline">$</del> is approximated with</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>the transform <ins class="diffchange diffchange-inline">\(</ins>~g(x)=\frac{2}{\pi}\int_0^\infty f(y)\,\cos(x\,y)\,\mathrm d y~<ins class="diffchange diffchange-inline">\)</ins> is approximated with</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>\displaystyle</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>\displaystyle</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>g(x_m) \approx g_m = \sqrt{\frac{2}{N}}\, \left( \frac{f_0+(-1)^m f_N}{2} + \sum_{n=1}^{N-1} \, \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n\right)<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>g(x_m) \approx g_m = \sqrt{\frac{2}{N}}\, \left( \frac{f_0+(-1)^m f_N}{2} + \sum_{n=1}^{N-1} \, \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n\right)<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Eigenfunctions==</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Eigenfunctions==</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 52:</td>
<td colspan="2" class="diff-lineno">Line 52:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Cosftes16t300.jpg|360px|right]]</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:Cosftes16t300.jpg|360px|right]]</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Eigenfunctions <del class="diffchange diffchange-inline">$</del>F<del class="diffchange diffchange-inline">$</del> of the [[CosFT]] appear as even [[Oscillator function]]s. </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Eigenfunctions <ins class="diffchange diffchange-inline">\(</ins>F<ins class="diffchange diffchange-inline">\)</ins> of the [[CosFT]] appear as even [[Oscillator function]]s. </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The simplest of them is just Gaussian; </div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The simplest of them is just Gaussian; </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">$</del>F(x)=\exp(-x^2/2)<del class="diffchange diffchange-inline">$</del></div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">\(</ins>F(x)=\exp(-x^2/2)<ins class="diffchange diffchange-inline">\)</ins></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This property is used in the [[C++]] test. The thick segmented line in the explicit plots at right show the discrete representation of the Gaussian at the discrete grid with <del class="diffchange diffchange-inline">$</del>N\!=\!4<del class="diffchange diffchange-inline">$</del> and <del class="diffchange diffchange-inline">$</del>N\!=\!16<del class="diffchange diffchange-inline">$</del>.</div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This property is used in the [[C++]] test. The thick segmented line in the explicit plots at right show the discrete representation of the Gaussian at the discrete grid with <ins class="diffchange diffchange-inline">\(</ins>N\!=\!4<ins class="diffchange diffchange-inline">\)</ins> and <ins class="diffchange diffchange-inline">\(</ins>N\!=\!16<ins class="diffchange diffchange-inline">\)</ins>.</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The thin segmented line shows its [[SinFT]] transform, as it is approximated at this grid. The discrete representation and its CFT practically coincide; the deviation is smaller than the thicknesses of the lines.</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The thin segmented line shows its [[SinFT]] transform, as it is approximated at this grid. The discrete representation and its CFT practically coincide; the deviation is smaller than the thicknesses of the lines.</div></td>
</tr>
</table>
T
https://mizugadro.mydns.jp/t/index.php?title=CosFT&diff=14452&oldid=prev
Maintenance script at 21:59, 30 November 2018
2018-11-30T21:59:44Z
<p></p>
<p><b>New page</b></p><div>[[CosFT]], or Cosinus Transform, refers to the integral transform with kernel $K(x,y)=\sqrt{\frac{2}{\pi}} \cos(xy)$;<br />
<br />
for function $f$, the [[CosFT]]$f$ appears as $g$ defined with<br />
<br />
$\displaystyle g(x)=\,$[[CosFT]]$f\,(x) \displaystyle =\sqrt{\frac{2}{\pi}} \int_0^\infty \cos(xy) \, f(y) \, \mathrm d y$<br />
<br />
==[[SinFT]] and [[CosFT]]==<br />
<br />
[[CosFT]] often appears together with [[SinFT]];<br />
<br />
the sine transform [[SinFT]] of function $f$ appears as $g=\,$[[SinFT]]$f$ with rofmula<br />
<br />
$\displaystyle g(x)=\sqrt{\frac{2}{\pi}} \int_0^\infty \sin(xy) \, f(y) \, \mathrm d y$<br />
<br />
It is assumed that function $f$ decays (or, at least, quickly oscillates) at infinity, in such a way that the integral converges.<br />
<br />
Then, [[SinFT]]$^2=\,$[[CosFT]]$^2=\hat 1$, id est, the identity transform.<br />
<br />
==Numerical implementation==<br />
<br />
[[CosFT]] can be implemented numerically through the [[CFT]] transform at the uniform grid at $N\!+\!1$ nodes; for array $f$, the SFT $g$ is defined with<br />
<br />
$g_m=\,$[[CFT]]$\displaystyle f_m=$ $\displaystyle<br />
\frac{1}{2}\, f_0+\frac{(-1)^m}{2}\, f_{N} +<br />
\sum_{n=1}^{N-1} \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n$<br />
<br />
The [[Numerical recipes in C]] (http://numerical.recipes)<br />
suggest the implementation through routines <br />
[[four1]] and [[realft]]; however, for the serious applications, specification "float" should be replaced to something appropriate, for example, double, or complex double.<br />
<ref>ftp://ftp.cpc.ncep.noaa.gov/wd51we/random_phase/four1.c<br />
</ref><ref><br />
ftp://ftp.cpc.ncep.noaa.gov/wd51we/random_phase/realft.c<br />
</ref><ref><br />
ftp://ftp.cs.stanford.edu/cs/robotics/scohen/nr/sinft.c<br />
</ref><ref><br />
ftp://ftp.cs.stanford.edu/cs/robotics/scohen/nr/cosft.c</ref><br />
<br />
At given number $N$ of nodes,<br />
the set of the nodes can be denoted with $x_n$ for $n=0 .. N$,<br />
<br />
$\displaystyle<br />
x_n=\sqrt{\frac{\pi}{N}}~ n$<br />
<br />
then, for $f_n=f(x_n)$, at large $N\gg 1$,<br />
the transform $~g(x)=\frac{2}{\pi}\int_0^\infty f(y)\,\cos(x\,y)\,\mathrm d y~$ is approximated with<br />
<br />
$\displaystyle<br />
g(x_m) \approx g_m = \sqrt{\frac{2}{N}}\, \left( \frac{f_0+(-1)^m f_N}{2} + \sum_{n=1}^{N-1} \, \cos\left( \frac{\pi}{N} \,m\,n \right) \, f_n\right)$<br />
<br />
==Eigenfunctions==<br />
[[File:Cosftes04t300.jpg|360px|right]]<br />
[[File:Cosftes16t300.jpg|360px|right]]<br />
<br />
Eigenfunctions $F$ of the [[CosFT]] appear as even [[Oscillator function]]s. <br />
<br />
The simplest of them is just Gaussian; <br />
<br />
$F(x)=\exp(-x^2/2)$<br />
<br />
This property is used in the [[C++]] test. The thick segmented line in the explicit plots at right show the discrete representation of the Gaussian at the discrete grid with $N\!=\!4$ and $N\!=\!16$.<br />
<br />
The thin segmented line shows its [[SinFT]] transform, as it is approximated at this grid. The discrete representation and its CFT practically coincide; the deviation is smaller than the thicknesses of the lines.<br />
<br />
==References==<br />
<references/><br />
<br />
==Keywords==<br />
[[CosFT]],<br />
[[FFT]],<br />
[[Integral transform]],<br />
[[SinFT]]<br />
<br />
<br />
[[Category:CosFT]],<br />
[[Category:FFT]],<br />
[[Category:Integral transform]],<br />
[[Category:SinFT]]</div>
Maintenance script