Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Theoretically same matrix, 2 results

apocalx
Beginner
428 Views
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 Kudos
7 Replies
Alexander_K_Intel2
428 Views
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 Kudos
Gennady_F_Intel
Moderator
428 Views
Marc,
any update?Would you please give us the example for checking the problem on our side?
--Gennady
0 Kudos
apocalx
Beginner
428 Views
I will build a small test case with my case and post it on the forum in next day
0 Kudos
apocalx
Beginner
428 Views
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 Kudos
Gennady_F_Intel
Moderator
428 Views
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 Kudos
apocalx
Beginner
428 Views
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 Kudos
Alexander_K_Intel2
428 Views

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 Kudos
Reply