<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic complex auto correlation using MKL in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/complex-auto-correlation-using-MKL/m-p/1097115#M23636</link>
    <description>&lt;P&gt;I am trying to use MKL for autocorrelation of complex vectors XX:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complex(kind=4),allocatable,dimension(:) :: XX, CXX&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COMPLEX(kind=4),allocatable,dimension(:) :: CRXX&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.......&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ! &amp;nbsp; &amp;nbsp; Do the 1 dimensional complex autocorrelation.&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = vslccorrnewtask1d(task, VSL_CORR_MODE_FFT, NZONE, NZONE, NZONE)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = vslccorrexec1d(task, XX, 1, XX, 1, CRXX, 1)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I have a very naive implementation of auto correlation with complex numbers which I used to verify the result of MKL's implementation. And it suggest that the result is incorrect. The only way I can make it work is to pass conjugate of XX instead of XX as the second input vector. This doesn't make too much sense to me and also the result seems to be scaled by 2.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Appreciate if some one can point out what I have done wrong in the above code and how can I get correct result?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:28:01 GMT</pubDate>
    <dc:creator>Lingzi_P_</dc:creator>
    <dc:date>2016-06-15T17:28:01Z</dc:date>
    <item>
      <title>complex auto correlation using MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/complex-auto-correlation-using-MKL/m-p/1097115#M23636</link>
      <description>&lt;P&gt;I am trying to use MKL for autocorrelation of complex vectors XX:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complex(kind=4),allocatable,dimension(:) :: XX, CXX&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COMPLEX(kind=4),allocatable,dimension(:) :: CRXX&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.......&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ! &amp;nbsp; &amp;nbsp; Do the 1 dimensional complex autocorrelation.&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = vslccorrnewtask1d(task, VSL_CORR_MODE_FFT, NZONE, NZONE, NZONE)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = vslccorrexec1d(task, XX, 1, XX, 1, CRXX, 1)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I have a very naive implementation of auto correlation with complex numbers which I used to verify the result of MKL's implementation. And it suggest that the result is incorrect. The only way I can make it work is to pass conjugate of XX instead of XX as the second input vector. This doesn't make too much sense to me and also the result seems to be scaled by 2.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Appreciate if some one can point out what I have done wrong in the above code and how can I get correct result?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:28:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/complex-auto-correlation-using-MKL/m-p/1097115#M23636</guid>
      <dc:creator>Lingzi_P_</dc:creator>
      <dc:date>2016-06-15T17:28:01Z</dc:date>
    </item>
    <item>
      <title>we would recommend you have a</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/complex-auto-correlation-using-MKL/m-p/1097116#M23637</link>
      <description>&lt;P&gt;we would recommend you have a look at the vslcCorrExec1D &amp;nbsp;example -&amp;nbsp;vslccorrexec1d.f ( mklroot\examples\vslf\source directory) which shows how properly call this function&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jun 2016 04:22:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/complex-auto-correlation-using-MKL/m-p/1097116#M23637</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-06-16T04:22:24Z</dc:date>
    </item>
  </channel>
</rss>

