<?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 Re: false results with zgesvd in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961238#M15928</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334660"&gt;Gregory Henry (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;What does your MATLAB code look like? Is it something like this:&lt;/P&gt;
&lt;P&gt;A =&lt;/P&gt;
&lt;P&gt;1.0000 + 2.0000i 1.0000 + 2.0000i 1.0000 + 2.0000i&lt;BR /&gt; 2.0000 + 4.0000i 2.0000 + 4.0000i 2.0000 + 4.0000i&lt;BR /&gt; 3.0000 + 6.0000i 3.0000 + 6.0000i 3.0000 + 6.0000i&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt; svd(A)&lt;/P&gt;
&lt;P&gt;ans =&lt;/P&gt;
&lt;P&gt;14.4914&lt;BR /&gt; 0.0000&lt;BR /&gt; 0.0000&lt;/P&gt;
&lt;P&gt;Also, can you do an attachment of your MATLAB code (and/or a .mat)and an attachment of your C code? Some of the characters in your message seemed to have gotten lost, whereas perhaps with an attachment it might not get lost.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Greg Henry (Intel MKL)&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;hi i have a similar problem&lt;BR /&gt;&lt;BR /&gt;here is my source code&lt;BR /&gt;&lt;BR /&gt;int main (int argc, char *argv[]) {&lt;BR /&gt; MKL_Complex16 *a,*u,*vt,*work, *carp, *carp2;&lt;BR /&gt; MKL_INT nm = 5;&lt;BR /&gt; int lw = 201;&lt;BR /&gt; int rw = 201;&lt;BR /&gt; &lt;BR /&gt; u = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; vt = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; a = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; work = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), rw);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; a[0].real = 0.4499;	a[0].imag = -0.1267;	&lt;BR /&gt; a[1].real = -0.2361;	a[1].imag = 0.0775;	&lt;BR /&gt; a[2].real = 0.5008;	a[2].imag = -0.7799;	&lt;BR /&gt; a[3].real = -0.7702;	a[3].imag = -0.3143;	&lt;BR /&gt; a[4].real = -0.5084;	a[4].imag = 0.5621;	&lt;BR /&gt;&lt;BR /&gt; a[5].real = -0.8432;	a[5].imag = -0.3443;	&lt;BR /&gt; a[6].real = 0.0186;	a[6].imag = -0.6332;	&lt;BR /&gt; a[7].real = 0.3505;	a[7].imag = 0.0166;	&lt;BR /&gt; a[8].real = -0.8892;	a[8].imag = 0.2657;	&lt;BR /&gt; a[9].real = -0.5066;	a[9].imag = 0.6005;	&lt;BR /&gt;&lt;BR /&gt; a[10].real = 0.5896;	a[10].imag = 0.2601;	&lt;BR /&gt; a[11].real = 0.8928;	a[11].imag = 0.0103;	&lt;BR /&gt; a[12].real = 0.4350;	a[12].imag = -0.2666;	&lt;BR /&gt; a[13].real = -0.7799;	a[13].imag = -0.5512;	&lt;BR /&gt; a[14].real = -0.1022;	a[14].imag = -0.4500;	&lt;BR /&gt;&lt;BR /&gt; a[15].real = 0.3911;	a[15].imag = 0.3234;	&lt;BR /&gt; a[16].real = -0.5605;	a[16].imag = 0.7638;	&lt;BR /&gt; a[17].real = -0.2009;	a[17].imag = 0.2707;	&lt;BR /&gt; a[18].real = 0.0314;	a[18].imag = -0.4336;	&lt;BR /&gt; a[19].real = -0.1046;	a[19].imag = 0.3267;	&lt;BR /&gt;&lt;BR /&gt; a[20].real = -0.1395;	a[20].imag = -0.1561;	&lt;BR /&gt; a[21].real = 0.3064;	a[21].imag = 0.0263;	&lt;BR /&gt; a[22].real = -0.0975;	a[22].imag = 0.9019;	&lt;BR /&gt; a[23].real = 0.2491;	a[23].imag = 0.5787;	&lt;BR /&gt; a[24].real = 0.4106;	a[24].imag = -0.8102;		&lt;BR /&gt;&lt;BR /&gt; double *s;&lt;BR /&gt; s = (double*)calloc(sizeof(double), nm);&lt;BR /&gt; int info, ldu = nm, ldvt = nm, lwork = lw;&lt;BR /&gt; double *rwork = (double*)calloc(rw,sizeof(double));&lt;BR /&gt; zgesvd("A","A",&amp;amp;nm,&amp;amp;nm,a,&amp;amp;nm,s,u,&amp;amp;ldu,vt,&amp;amp;ldvt,work,&amp;amp;lwork,rwork,&amp;amp;info);&lt;BR /&gt;&lt;BR /&gt; return 0;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;results are:&lt;BR /&gt;&lt;BR /&gt;S vector: 2.4     1.9     1.2     0.71    0.25&lt;BR /&gt;&lt;BR /&gt;U matrix:&lt;BR /&gt;&lt;BR /&gt;-0.11 0.25i      -0.17 0.27i     -0.25 0.38i      0.61 0.14i      0.42 -0.23i&lt;BR /&gt;&lt;BR /&gt;0.23 0.37i      -0.43 0.44i     0.0014 -0.33i   0.015 -0.36i    0.024 0.44i&lt;BR /&gt;&lt;BR /&gt;-0.5 -0.33i  -0.074 0.31i    0.026 0.54i     -0.19 -0.24i    -0.094 0.38i&lt;BR /&gt;&lt;BR /&gt;-0.41 0.25i     0.16 -0.34i     -0.49 -0.17i     -0.11 -0.55i      0.17 -0.088i&lt;BR /&gt;&lt;BR /&gt;-0.18 -0.33i -0.52 0.091i    0.25 -0.23i -0.25 -0.13i 0.36 -0.51i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;VT matrix: &lt;BR /&gt;&lt;BR /&gt;-0.53 0i         0.41 0i           -0.064 0i         -0.38 -0i         0.63 0i&lt;BR /&gt;&lt;BR /&gt;-0.45 0.26i -0.24 0.28i       0.63 -0.33i 0.16 -0.21i     -0.068 -0.12i&lt;BR /&gt;&lt;BR /&gt;-0.35 -0.39i    -0.038 -0.34i   -0.4 -0.4i       0.29 -0.28i     -0.14 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.14 -0.11i 0.51 -0.081i 0.3 0.26i -0.26 -0.51i -0.34 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.36 -0.065i    -0.54 -0.14i     0.055 -0.099i   -0.37 -0.4i     0.44 -0.22i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Matlab output:&lt;BR /&gt;Singular values (Diagonal of diagonal S matrix):&lt;BR /&gt;&lt;BR /&gt; 2.43287685397618&lt;BR /&gt; 1.94346744841323&lt;BR /&gt; 1.15707710132509&lt;BR /&gt; 0.70578696643348&lt;BR /&gt; 0.24840203289605&lt;BR /&gt;&lt;BR /&gt;U:&lt;BR /&gt;&lt;BR /&gt; 0.2242-0.4836 -0.2151-0.3438  0.0537+0.0351 -0.3236+0.2017  0.3038+0.5564&lt;BR /&gt; -0.0470-0.5195  0.3622+0.0569 -0.7086-0.0724  0.0222-0.2599  0.0695-0.1153&lt;BR /&gt; 0.5033-0.1529 -0.2686+0.2132  0.1156+0.5523  0.0944-0.3938  0.2180-0.2752&lt;BR /&gt; 0.0390+0.1680 -0.3397-0.3904 -0.1128-0.3801 -0.4899-0.2989  0.1194-0.4491&lt;BR /&gt; -0.0943+0.3583  0.1731+0.5345 -0.1006+0.0530 -0.5220-0.1439  0.4013+0.2825&lt;BR /&gt;&lt;BR /&gt;V:&lt;BR /&gt;&lt;BR /&gt; 0.2731+0.0000 -0.4362+0.0000  0.5986+0.0000 -0.4818+0.0000 -0.3803+0.0000&lt;BR /&gt; 0.3175-0.0394 -0.1459+0.5963 -0.1079+0.3004  0.3115+0.2061 -0.1693-0.5007&lt;BR /&gt; 0.4497-0.0720  0.2791-0.1763 -0.3194+0.4403 -0.3277+0.4089 -0.0848+0.3256&lt;BR /&gt; -0.1286+0.6084  0.2932-0.2010  0.2858-0.0985  0.2001+0.5267 -0.2325-0.1550&lt;BR /&gt; -0.3843+0.2852 -0.3888+0.2152 -0.1289+0.3687  0.1898-0.0146 -0.2733+0.5568&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;thanks in advance..&lt;BR /&gt;esra&lt;BR /&gt;</description>
    <pubDate>Wed, 29 Apr 2009 13:26:32 GMT</pubDate>
    <dc:creator>meretikoesra</dc:creator>
    <dc:date>2009-04-29T13:26:32Z</dc:date>
    <item>
      <title>false results with zgesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961236#M15926</link>
      <description>I try to compute the SVD of complex matrices using zgesvd but when I compare the results with those of matlab, I found a big difference!&lt;BR /&gt;&lt;BR /&gt;this is my code written in C language:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &lt;BR /&gt;&lt;BR /&gt;#include &lt;BR /&gt;&lt;BR /&gt;#include "include/mkl.h"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#define SIZE 3&lt;BR /&gt;&lt;BR /&gt;void ZGESVD(char *,char *,int *,int *, MKL_Complex16 *,int *,double *, MKL_Complex16 *,int *, MKL_Complex16 *,int *, MKL_Complex16 *,int *,double *,int *);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;int main (){&lt;BR /&gt;&lt;BR /&gt;char JOBU;&lt;BR /&gt;&lt;BR /&gt;char JOBVT;&lt;BR /&gt;&lt;BR /&gt;int M = SIZE;&lt;BR /&gt;&lt;BR /&gt;int N = SIZE;&lt;BR /&gt;&lt;BR /&gt;int LDA = M;&lt;BR /&gt;&lt;BR /&gt;int LDU = M;&lt;BR /&gt;&lt;BR /&gt;int LDVT = N;&lt;BR /&gt;&lt;BR /&gt;int LWORK;&lt;BR /&gt;&lt;BR /&gt;double RWORK;&lt;BR /&gt;&lt;BR /&gt;int INFO;&lt;BR /&gt;&lt;BR /&gt;int i,j;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;MKL_Complex16 *a ;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;a = (MKL_Complex16 *)calloc( M*N, sizeof(MKL_Complex16) );&lt;BR /&gt;&lt;BR /&gt;if ( a == NULL ) {&lt;BR /&gt;&lt;BR /&gt;printf("
 Can't allocate memory arrays");&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;for( i = 0; i M; i++ ){&lt;BR /&gt;&lt;BR /&gt;for (j=0 ; j &lt;BR /&gt;&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;a[N*(i-1)+j].real = (double)i;&lt;BR /&gt;&lt;BR /&gt;a[N*(i-1)+j].imag = (double)i * 2.0;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;double s[SIZE];&lt;BR /&gt;&lt;BR /&gt;MKL_Complex16 wk[201];&lt;BR /&gt;&lt;BR /&gt;MKL_Complex16 uu[SIZE*SIZE];&lt;BR /&gt;&lt;BR /&gt;MKL_Complex16 vt[SIZE*SIZE];&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;JOBU = 'A';&lt;BR /&gt;&lt;BR /&gt;JOBVT = 'A';&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;LWORK = 201;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ZGESVD(&amp;amp;JOBU, &amp;amp;JOBVT, &amp;amp;M, &amp;amp;N, a, &amp;amp;LDA, s, uu, &amp;amp;LDU, vt, &amp;amp;LDVT,wk,&amp;amp;LWORK, &amp;amp;RWORK, &amp;amp;INFO );&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;printf("
 INFO=%d", INFO );&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;for ( i= 0; i SIZE; i++ ) {&lt;BR /&gt;&lt;BR /&gt;printf("
 s[ %d ] = %f", i, s[ i ] ); }&lt;BR /&gt;&lt;BR /&gt;free(a);&lt;BR /&gt;&lt;BR /&gt;return 1;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;what's the problem? any help will be welcome :) thanx!</description>
      <pubDate>Tue, 22 Nov 2005 16:55:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961236#M15926</guid>
      <dc:creator>mouna_hammami</dc:creator>
      <dc:date>2005-11-22T16:55:56Z</dc:date>
    </item>
    <item>
      <title>Re: false results with zgesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961237#M15927</link>
      <description>&lt;P&gt;What does your MATLAB code look like? Is it something like this:&lt;/P&gt;
&lt;P&gt;A =&lt;/P&gt;
&lt;P&gt; 1.0000 + 2.0000i 1.0000 + 2.0000i 1.0000 + 2.0000i&lt;BR /&gt; 2.0000 + 4.0000i 2.0000 + 4.0000i 2.0000 + 4.0000i&lt;BR /&gt; 3.0000 + 6.0000i 3.0000 + 6.0000i 3.0000 + 6.0000i&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt; svd(A)&lt;/P&gt;
&lt;P&gt;ans =&lt;/P&gt;
&lt;P&gt; 14.4914&lt;BR /&gt; 0.0000&lt;BR /&gt; 0.0000&lt;/P&gt;
&lt;P&gt;Also, can you do an attachment of your MATLAB code (and/or a .mat)and an attachment of your C code? Some of the characters in your message seemed to have gotten lost, whereas perhaps with an attachment it might not get lost.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Greg Henry (Intel MKL)&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 01 Dec 2005 07:00:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961237#M15927</guid>
      <dc:creator>Gregory_H_Intel</dc:creator>
      <dc:date>2005-12-01T07:00:30Z</dc:date>
    </item>
    <item>
      <title>Re: false results with zgesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961238#M15928</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334660"&gt;Gregory Henry (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;What does your MATLAB code look like? Is it something like this:&lt;/P&gt;
&lt;P&gt;A =&lt;/P&gt;
&lt;P&gt;1.0000 + 2.0000i 1.0000 + 2.0000i 1.0000 + 2.0000i&lt;BR /&gt; 2.0000 + 4.0000i 2.0000 + 4.0000i 2.0000 + 4.0000i&lt;BR /&gt; 3.0000 + 6.0000i 3.0000 + 6.0000i 3.0000 + 6.0000i&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt; svd(A)&lt;/P&gt;
&lt;P&gt;ans =&lt;/P&gt;
&lt;P&gt;14.4914&lt;BR /&gt; 0.0000&lt;BR /&gt; 0.0000&lt;/P&gt;
&lt;P&gt;Also, can you do an attachment of your MATLAB code (and/or a .mat)and an attachment of your C code? Some of the characters in your message seemed to have gotten lost, whereas perhaps with an attachment it might not get lost.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Greg Henry (Intel MKL)&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;hi i have a similar problem&lt;BR /&gt;&lt;BR /&gt;here is my source code&lt;BR /&gt;&lt;BR /&gt;int main (int argc, char *argv[]) {&lt;BR /&gt; MKL_Complex16 *a,*u,*vt,*work, *carp, *carp2;&lt;BR /&gt; MKL_INT nm = 5;&lt;BR /&gt; int lw = 201;&lt;BR /&gt; int rw = 201;&lt;BR /&gt; &lt;BR /&gt; u = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; vt = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; a = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; work = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), rw);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; a[0].real = 0.4499;	a[0].imag = -0.1267;	&lt;BR /&gt; a[1].real = -0.2361;	a[1].imag = 0.0775;	&lt;BR /&gt; a[2].real = 0.5008;	a[2].imag = -0.7799;	&lt;BR /&gt; a[3].real = -0.7702;	a[3].imag = -0.3143;	&lt;BR /&gt; a[4].real = -0.5084;	a[4].imag = 0.5621;	&lt;BR /&gt;&lt;BR /&gt; a[5].real = -0.8432;	a[5].imag = -0.3443;	&lt;BR /&gt; a[6].real = 0.0186;	a[6].imag = -0.6332;	&lt;BR /&gt; a[7].real = 0.3505;	a[7].imag = 0.0166;	&lt;BR /&gt; a[8].real = -0.8892;	a[8].imag = 0.2657;	&lt;BR /&gt; a[9].real = -0.5066;	a[9].imag = 0.6005;	&lt;BR /&gt;&lt;BR /&gt; a[10].real = 0.5896;	a[10].imag = 0.2601;	&lt;BR /&gt; a[11].real = 0.8928;	a[11].imag = 0.0103;	&lt;BR /&gt; a[12].real = 0.4350;	a[12].imag = -0.2666;	&lt;BR /&gt; a[13].real = -0.7799;	a[13].imag = -0.5512;	&lt;BR /&gt; a[14].real = -0.1022;	a[14].imag = -0.4500;	&lt;BR /&gt;&lt;BR /&gt; a[15].real = 0.3911;	a[15].imag = 0.3234;	&lt;BR /&gt; a[16].real = -0.5605;	a[16].imag = 0.7638;	&lt;BR /&gt; a[17].real = -0.2009;	a[17].imag = 0.2707;	&lt;BR /&gt; a[18].real = 0.0314;	a[18].imag = -0.4336;	&lt;BR /&gt; a[19].real = -0.1046;	a[19].imag = 0.3267;	&lt;BR /&gt;&lt;BR /&gt; a[20].real = -0.1395;	a[20].imag = -0.1561;	&lt;BR /&gt; a[21].real = 0.3064;	a[21].imag = 0.0263;	&lt;BR /&gt; a[22].real = -0.0975;	a[22].imag = 0.9019;	&lt;BR /&gt; a[23].real = 0.2491;	a[23].imag = 0.5787;	&lt;BR /&gt; a[24].real = 0.4106;	a[24].imag = -0.8102;		&lt;BR /&gt;&lt;BR /&gt; double *s;&lt;BR /&gt; s = (double*)calloc(sizeof(double), nm);&lt;BR /&gt; int info, ldu = nm, ldvt = nm, lwork = lw;&lt;BR /&gt; double *rwork = (double*)calloc(rw,sizeof(double));&lt;BR /&gt; zgesvd("A","A",&amp;amp;nm,&amp;amp;nm,a,&amp;amp;nm,s,u,&amp;amp;ldu,vt,&amp;amp;ldvt,work,&amp;amp;lwork,rwork,&amp;amp;info);&lt;BR /&gt;&lt;BR /&gt; return 0;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;results are:&lt;BR /&gt;&lt;BR /&gt;S vector: 2.4     1.9     1.2     0.71    0.25&lt;BR /&gt;&lt;BR /&gt;U matrix:&lt;BR /&gt;&lt;BR /&gt;-0.11 0.25i      -0.17 0.27i     -0.25 0.38i      0.61 0.14i      0.42 -0.23i&lt;BR /&gt;&lt;BR /&gt;0.23 0.37i      -0.43 0.44i     0.0014 -0.33i   0.015 -0.36i    0.024 0.44i&lt;BR /&gt;&lt;BR /&gt;-0.5 -0.33i  -0.074 0.31i    0.026 0.54i     -0.19 -0.24i    -0.094 0.38i&lt;BR /&gt;&lt;BR /&gt;-0.41 0.25i     0.16 -0.34i     -0.49 -0.17i     -0.11 -0.55i      0.17 -0.088i&lt;BR /&gt;&lt;BR /&gt;-0.18 -0.33i -0.52 0.091i    0.25 -0.23i -0.25 -0.13i 0.36 -0.51i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;VT matrix: &lt;BR /&gt;&lt;BR /&gt;-0.53 0i         0.41 0i           -0.064 0i         -0.38 -0i         0.63 0i&lt;BR /&gt;&lt;BR /&gt;-0.45 0.26i -0.24 0.28i       0.63 -0.33i 0.16 -0.21i     -0.068 -0.12i&lt;BR /&gt;&lt;BR /&gt;-0.35 -0.39i    -0.038 -0.34i   -0.4 -0.4i       0.29 -0.28i     -0.14 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.14 -0.11i 0.51 -0.081i 0.3 0.26i -0.26 -0.51i -0.34 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.36 -0.065i    -0.54 -0.14i     0.055 -0.099i   -0.37 -0.4i     0.44 -0.22i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Matlab output:&lt;BR /&gt;Singular values (Diagonal of diagonal S matrix):&lt;BR /&gt;&lt;BR /&gt; 2.43287685397618&lt;BR /&gt; 1.94346744841323&lt;BR /&gt; 1.15707710132509&lt;BR /&gt; 0.70578696643348&lt;BR /&gt; 0.24840203289605&lt;BR /&gt;&lt;BR /&gt;U:&lt;BR /&gt;&lt;BR /&gt; 0.2242-0.4836 -0.2151-0.3438  0.0537+0.0351 -0.3236+0.2017  0.3038+0.5564&lt;BR /&gt; -0.0470-0.5195  0.3622+0.0569 -0.7086-0.0724  0.0222-0.2599  0.0695-0.1153&lt;BR /&gt; 0.5033-0.1529 -0.2686+0.2132  0.1156+0.5523  0.0944-0.3938  0.2180-0.2752&lt;BR /&gt; 0.0390+0.1680 -0.3397-0.3904 -0.1128-0.3801 -0.4899-0.2989  0.1194-0.4491&lt;BR /&gt; -0.0943+0.3583  0.1731+0.5345 -0.1006+0.0530 -0.5220-0.1439  0.4013+0.2825&lt;BR /&gt;&lt;BR /&gt;V:&lt;BR /&gt;&lt;BR /&gt; 0.2731+0.0000 -0.4362+0.0000  0.5986+0.0000 -0.4818+0.0000 -0.3803+0.0000&lt;BR /&gt; 0.3175-0.0394 -0.1459+0.5963 -0.1079+0.3004  0.3115+0.2061 -0.1693-0.5007&lt;BR /&gt; 0.4497-0.0720  0.2791-0.1763 -0.3194+0.4403 -0.3277+0.4089 -0.0848+0.3256&lt;BR /&gt; -0.1286+0.6084  0.2932-0.2010  0.2858-0.0985  0.2001+0.5267 -0.2325-0.1550&lt;BR /&gt; -0.3843+0.2852 -0.3888+0.2152 -0.1289+0.3687  0.1898-0.0146 -0.2733+0.5568&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;thanks in advance..&lt;BR /&gt;esra&lt;BR /&gt;</description>
      <pubDate>Wed, 29 Apr 2009 13:26:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961238#M15928</guid>
      <dc:creator>meretikoesra</dc:creator>
      <dc:date>2009-04-29T13:26:32Z</dc:date>
    </item>
    <item>
      <title>Re: false results with zgesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961239#M15929</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/426323"&gt;meretikoesra&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;hi i have a similar problem&lt;BR /&gt;&lt;BR /&gt;here is my source code&lt;BR /&gt;&lt;BR /&gt;int main (int argc, char *argv[]) {&lt;BR /&gt; MKL_Complex16 *a,*u,*vt,*work, *carp, *carp2;&lt;BR /&gt; MKL_INT nm = 5;&lt;BR /&gt; int lw = 201;&lt;BR /&gt; int rw = 201;&lt;BR /&gt; &lt;BR /&gt; u = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; vt = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; a = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), nm*nm);&lt;BR /&gt; work = (MKL_Complex16*)calloc(sizeof(MKL_Complex16), rw);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; a[0].real = 0.4499;	a[0].imag = -0.1267;	&lt;BR /&gt; a[1].real = -0.2361;	a[1].imag = 0.0775;	&lt;BR /&gt; a[2].real = 0.5008;	a[2].imag = -0.7799;	&lt;BR /&gt; a[3].real = -0.7702;	a[3].imag = -0.3143;	&lt;BR /&gt; a[4].real = -0.5084;	a[4].imag = 0.5621;	&lt;BR /&gt;&lt;BR /&gt; a[5].real = -0.8432;	a[5].imag = -0.3443;	&lt;BR /&gt; a[6].real = 0.0186;	a[6].imag = -0.6332;	&lt;BR /&gt; a[7].real = 0.3505;	a[7].imag = 0.0166;	&lt;BR /&gt; a[8].real = -0.8892;	a[8].imag = 0.2657;	&lt;BR /&gt; a[9].real = -0.5066;	a[9].imag = 0.6005;	&lt;BR /&gt;&lt;BR /&gt; a[10].real = 0.5896;	a[10].imag = 0.2601;	&lt;BR /&gt; a[11].real = 0.8928;	a[11].imag = 0.0103;	&lt;BR /&gt; a[12].real = 0.4350;	a[12].imag = -0.2666;	&lt;BR /&gt; a[13].real = -0.7799;	a[13].imag = -0.5512;	&lt;BR /&gt; a[14].real = -0.1022;	a[14].imag = -0.4500;	&lt;BR /&gt;&lt;BR /&gt; a[15].real = 0.3911;	a[15].imag = 0.3234;	&lt;BR /&gt; a[16].real = -0.5605;	a[16].imag = 0.7638;	&lt;BR /&gt; a[17].real = -0.2009;	a[17].imag = 0.2707;	&lt;BR /&gt; a[18].real = 0.0314;	a[18].imag = -0.4336;	&lt;BR /&gt; a[19].real = -0.1046;	a[19].imag = 0.3267;	&lt;BR /&gt;&lt;BR /&gt; a[20].real = -0.1395;	a[20].imag = -0.1561;	&lt;BR /&gt; a[21].real = 0.3064;	a[21].imag = 0.0263;	&lt;BR /&gt; a[22].real = -0.0975;	a[22].imag = 0.9019;	&lt;BR /&gt; a[23].real = 0.2491;	a[23].imag = 0.5787;	&lt;BR /&gt; a[24].real = 0.4106;	a[24].imag = -0.8102;		&lt;BR /&gt;&lt;BR /&gt; double *s;&lt;BR /&gt; s = (double*)calloc(sizeof(double), nm);&lt;BR /&gt; int info, ldu = nm, ldvt = nm, lwork = lw;&lt;BR /&gt; double *rwork = (double*)calloc(rw,sizeof(double));&lt;BR /&gt; zgesvd("A","A",&amp;amp;nm,&amp;amp;nm,a,&amp;amp;nm,s,u,&amp;amp;ldu,vt,&amp;amp;ldvt,work,&amp;amp;lwork,rwork,&amp;amp;info);&lt;BR /&gt;&lt;BR /&gt; return 0;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;results are:&lt;BR /&gt;&lt;BR /&gt;S vector: 2.4     1.9     1.2     0.71    0.25&lt;BR /&gt;&lt;BR /&gt;U matrix:&lt;BR /&gt;&lt;BR /&gt;-0.11 0.25i      -0.17 0.27i     -0.25 0.38i      0.61 0.14i      0.42 -0.23i&lt;BR /&gt;&lt;BR /&gt;0.23 0.37i      -0.43 0.44i     0.0014 -0.33i   0.015 -0.36i    0.024 0.44i&lt;BR /&gt;&lt;BR /&gt;-0.5 -0.33i  -0.074 0.31i    0.026 0.54i     -0.19 -0.24i    -0.094 0.38i&lt;BR /&gt;&lt;BR /&gt;-0.41 0.25i     0.16 -0.34i     -0.49 -0.17i     -0.11 -0.55i      0.17 -0.088i&lt;BR /&gt;&lt;BR /&gt;-0.18 -0.33i -0.52 0.091i    0.25 -0.23i -0.25 -0.13i 0.36 -0.51i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;VT matrix: &lt;BR /&gt;&lt;BR /&gt;-0.53 0i         0.41 0i           -0.064 0i         -0.38 -0i         0.63 0i&lt;BR /&gt;&lt;BR /&gt;-0.45 0.26i -0.24 0.28i       0.63 -0.33i 0.16 -0.21i     -0.068 -0.12i&lt;BR /&gt;&lt;BR /&gt;-0.35 -0.39i    -0.038 -0.34i   -0.4 -0.4i       0.29 -0.28i     -0.14 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.14 -0.11i 0.51 -0.081i 0.3 0.26i -0.26 -0.51i -0.34 -0.32i&lt;BR /&gt;&lt;BR /&gt;0.36 -0.065i    -0.54 -0.14i     0.055 -0.099i   -0.37 -0.4i     0.44 -0.22i&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Matlab output:&lt;BR /&gt;Singular values (Diagonal of diagonal S matrix):&lt;BR /&gt;&lt;BR /&gt; 2.43287685397618&lt;BR /&gt; 1.94346744841323&lt;BR /&gt; 1.15707710132509&lt;BR /&gt; 0.70578696643348&lt;BR /&gt; 0.24840203289605&lt;BR /&gt;&lt;BR /&gt;U:&lt;BR /&gt;&lt;BR /&gt; 0.2242-0.4836 -0.2151-0.3438  0.0537+0.0351 -0.3236+0.2017  0.3038+0.5564&lt;BR /&gt; -0.0470-0.5195  0.3622+0.0569 -0.7086-0.0724  0.0222-0.2599  0.0695-0.1153&lt;BR /&gt; 0.5033-0.1529 -0.2686+0.2132  0.1156+0.5523  0.0944-0.3938  0.2180-0.2752&lt;BR /&gt; 0.0390+0.1680 -0.3397-0.3904 -0.1128-0.3801 -0.4899-0.2989  0.1194-0.4491&lt;BR /&gt; -0.0943+0.3583  0.1731+0.5345 -0.1006+0.0530 -0.5220-0.1439  0.4013+0.2825&lt;BR /&gt;&lt;BR /&gt;V:&lt;BR /&gt;&lt;BR /&gt; 0.2731+0.0000 -0.4362+0.0000  0.5986+0.0000 -0.4818+0.0000 -0.3803+0.0000&lt;BR /&gt; 0.3175-0.0394 -0.1459+0.5963 -0.1079+0.3004  0.3115+0.2061 -0.1693-0.5007&lt;BR /&gt; 0.4497-0.0720  0.2791-0.1763 -0.3194+0.4403 -0.3277+0.4089 -0.0848+0.3256&lt;BR /&gt; -0.1286+0.6084  0.2932-0.2010  0.2858-0.0985  0.2001+0.5267 -0.2325-0.1550&lt;BR /&gt; -0.3843+0.2852 -0.3888+0.2152 -0.1289+0.3687  0.1898-0.0146 -0.2733+0.5568&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;thanks in advance..&lt;BR /&gt;esra&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;ok problem solved.. &lt;BR /&gt;U transpose is returned from c zgesvd function..&lt;BR /&gt;a = u' * s * v' gives the original a matrix.&lt;BR /&gt;</description>
      <pubDate>Thu, 30 Apr 2009 13:33:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/false-results-with-zgesvd/m-p/961239#M15929</guid>
      <dc:creator>meretikoesra</dc:creator>
      <dc:date>2009-04-30T13:33:55Z</dc:date>
    </item>
  </channel>
</rss>

