Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
공지
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Theoretically same matrix, 2 results

apocalx
초급자
1,230 조회수
I try to resolve the system Ax = B with mkl pardiso. If I have :
A:
[1,1] =222222.22222222-j222222.22222222
[1,2] = -222222.22222222+j222222.22222222
[1,3] = 1+j0
[1,9] = -1+j0
[2,2] = 222238.30206999-j222278.5016894
[2,10] = -16.079847764363+j56.27946717527
[3,3] = 0+j0
[3,4] = -1+j0
[4,4] = 222222.22222222-j222222.22222222
[4,5] = -222222.22222222+j222222.22222222
[4,6] = 1+j0
[5,5] = 222238.30206999-j222278.5016894
[5,11] = -16.079847764363+j56.27946717527
[6,6] = 0+j0
[6,7] = -1+j0
[7,7] = 222222.22222222-j222222.22222222
[7,8] = -222222.22222222+j222222.22222222
[7,9] = 1+j0
[8,8] = 222238.30206999-j222278.5016894
[8,12] = -16.079847764363+j56.27946717527
[9,9] = 0+j0
[10,10] = 16.079847764363-j56.27946717527
[11,11] = 16.079847764363-j56.27946717527
[12,12] = 16.079847764363-j56.27946717527
B: (All values are 0.0 except)
[2] = 1.0+j0.0
For this system, I get this result :
X:
[1] = 424279418162.948180 -j 1979970618093.757800
[2] = 424279418162.948180 -j 1979970618093.757800
[3] = 0.000000 +j 0.000000
[4] = 424279418162.948180 -j 1979970618093.757800
[5] = 424279418162.948180 -j 1979970618093.757800
[6] = 0.000000 +j 0.000000
[7] = 424279418162.948180 -j 1979970618093.757800
[8] = 424279418162.948180 -j 1979970618093.757800
[9] = 0.000000 +j 0.000000
[10] = 424279418162.948180 -j 1979970618093.757800
[11] = 424279418162.948180 -j 1979970618093.757800
[12] = 424279418162.948180 -j 1979970618093.757800
If I try to resolve the same system Ax=B by adding explicitly some 0.0 in my matrix :
A:
[1,1] = 222222.22222222-j222222.22222222
[1,2] = -222222.22222222+j222222.22222222
[1,3] = 1+j0
[1,9] = -1+j0
[2,2] = 222238.30206999-j222278.5016894
[2,5] = 0+j0
[2,8] = 0+j0
[2,10] = -16.079847764363+j56.27946717527
[2,11] = -0+j0
[2,12] = -0+j0
[3,3] = 0+j0
[3,4] = -1+j0
[4,4] = 222222.22222222-j222222.22222222
[4,5] = -222222.22222222+j222222.22222222
[4,6] = 1+j0
[5,5] = 222238.30206999-j222278.5016894
[5,8] = 0+j0
[5,10] = -0+j0
[5,11] = -16.079847764363+j56.27946717527
[5,12] = -0+j0
[6,6] = 0+j0
[6,7] = -1+j0
[7,7] = 222222.22222222-j222222.22222222
[7,8] = -222222.22222222+j222222.22222222
[7,9] = 1+j0
[8,8] = 222238.30206999-j222278.5016894
[8,10] = -0+j0
[8,11] = -0+j0
[8,12] = -16.079847764363+j56.27946717527
[9,9] = 0+j0
[10,10] = 16.079847764363-j56.27946717527
[10,11] = 0+j0
[10,12] = 0+j0
[11,11] = 16.079847764363-j56.27946717527
[11,12] = 0+j0
[12,12] = 16.079847764363-j56.27946717527
I get this result:
X:
[1] = 442367.885616 +j 3.823953
[2] = 442367.885618 +j 3.823955
[3] = 0.000000 -j0.000001
[4] = 442367.885616 +j 3.823953
[5] = 442367.885616 +j 3.823953
[6] = 0.000000 +j 0.000001
[7] = 442367.885616 +j 3.823953
[8] = 442367.885616 +j 3.823953
[9] = 0.000000 +j 0.000000
[10] = 442367.885618 +j 3.823955
[11] = 442367.885616 +j 3.823953
[12] = 442367.885616 +j 3.823953
Why the fact of adding some 0.0 give me differents results?
MarcB
0 포인트
7 응답
Alexander_K_Intel2
1,230 조회수
Hi,
Please attach your testcase with compile line here, it could help us to reproduce your issue with your input parameters (like mtype, iparm and so on).
With best regards,
Alexander Kalinkin
0 포인트
Gennady_F_Intel
중재자
1,230 조회수
Marc,
any update?Would you please give us the example for checking the problem on our side?
--Gennady
0 포인트
apocalx
초급자
1,230 조회수
I will build a small test case with my case and post it on the forum in next day
0 포인트
apocalx
초급자
1,230 조회수
A test case is attached to this message.
In the test case, I have 2 symmetrical sparses matrix 12x12 (complex number)
In the first one, I have 24 values on diagonal and in upper triangle.
In the second one, I have the same 24 values at the same place in the matrix + 12 values equals to 0.0.
These 12 values are not on the diagonal but in the upper triangle.
So, if I well understand sparse matrix, these 2 matrices are equals.
The only different that I'm expecting is in the symbolic factorisation and permutation, not in the result.
Why I get differents results with theorically the same matrices?
Thanks
0 포인트
Gennady_F_Intel
중재자
1,230 조회수
just for info : the same problemThe matrix is singular. The last row is all zeros. see more details here:
http://software.intel.com/en-us/forums/showthread.php?t=85881&o=a&s=lr
0 포인트
apocalx
초급자
1,230 조회수
I reviewed the matrix and I can't find a row with all zeros values.
My matrix is symmetrical, so some upper triangle row are all to zero, but when you watch the entire matrix(upper and lower triangle), all row have at least 1 non zeros number!
For example : The only upper triangular row that is all equal to zero is row #9 with [9,9] = 0 + j0
But, we have also have [1,9] = -1 + j0.
So, in the full matrix (upper and lower triangle), the row #9 is not all equal to zero
Marc
0 포인트
Alexander_K_Intel2
1,230 조회수

Hi,

When I've multiply your matrix on vector with components all set to 1 I've got zero vector (let call it y). It's mean that your matrix have zero Eigen number. It's mean that if vector x is solution of your system Ax=b then x+c*y also solution of your system, where c could be any number. So, on my point of view, pardiso solver provided your different solutions in different time but all these solutions are correct!

With best regards,

Alexander Kalinkin


0 포인트
응답