- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm getting an incorrect result when I use zlange to compute the Frobenius norm. dlange and clange work fine, as well as the one and infinity norms for zlange. Below illustrates the problem. For a 32-bit build I get a large random number and for a 64-bit build I get 0 for zlange. I'm using MKL 11.0 update 1 on Windows 8 64-bit.
Any idea what I'm doing wrong?
Thanks,
Marcus
#include "mkl.h"
#include
MKL_Complex16 complex16(double r, double i=0){
MKL_Complex16 c = {r, i};
return c;
}
MKL_Complex8 complex8(float r, float i=0){
MKL_Complex8 c = {r, i};
return c;
}
int _tmain(int argc, _TCHAR* argv[])
{
int order = 3;
double* dwork = new double[9];
float* fwork = new float[9];
char f = 'f';
MKL_Complex16* c16 = new MKL_Complex16[9];
c16[0] = complex16(-1.1);
c16[1] = complex16( 0.0);
c16[2] = complex16(-4.4);
c16[3] = complex16(-2.2);
c16[4] = complex16( 1.1);
c16[5] = complex16( 5.5);
c16[6] = complex16(-3.3);
c16[7] = complex16( 2.2);
c16[8] = complex16( 6.6);
MKL_Complex8* c8 = new MKL_Complex8[9];
c8[0] = complex8(-1.1f);
c8[1] = complex8( 0.0f);
c8[2] = complex8(-4.4f);
c8[3] = complex8(-2.2f);
c8[4] = complex8( 1.1f);
c8[5] = complex8( 5.5f);
c8[6] = complex8(-3.3f);
c8[7] = complex8( 2.2f);
c8[8] = complex8( 6.6f);
double d[9] = {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5, -3.3, 2.2, 6.6};
double c16norm = zlange(&f, &order, &order, c16, &order, dwork);
std::cout << c16norm <<:ENDL>
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
marcus,
I see the same resuilts on my side. At the first glance this is the error. Thanks for report. we will check the cause of the problem.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a shorter Fortran version that also shows up the ZLANGE bug. The program prints out a different result every time that it is run, when MKL Version 11 is used. There is no problem with MKL Version 10.3.12.
[fortran]program dzlange
implicit none
complex*16 z(9)
real*8 zr(9),z16norm,wrk(9),zlange
integer :: m=9,n=1
data zr/-1.1d0,0.0d0,-4.4d0,-2.2d0,1.1d0,5.5d0,-3.3d0,2.2d0,6.6d0/
z=zr
z16norm=zlange('f',m,n,z,m,wrk)
write(*,*)z16norm
end program dzlange
[/fortran]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, That's right. Thanks a lot, mecej. The problem has already escalated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
This issue has been fixed in MKL v.11.0 update 2 released yesterday.
You can download this update from intel registration center and check the problem on your side.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Works great. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, thanks for the update. the problem is closed.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page