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

Input error message - help

Brad_Doudican
初学者
1,498 次查看
Hi - I'm having trouble deciphering an error code. When I run Phase=11 in Pardiso I get the following error messages. However, I've checked the input arrays and they seem to be reasonable. Any thoughts on what I'm missing?

When iparm(27)=0:

*** Error in PARDISO ( sequence_ido,parameters) error_num= 8
*** Input check: ia(neqns+1)_new -1 _old 0 are incompatible
*** Input parameters: inconsistent error= 8 max_fac_store_in: 1
matrix_number_in : 1 matrix_type_in : 2
ido_in : 11 neqns_in : 14751
ia(neqns_in+1)-1 : -1 nb_in : 1

And when iparm(27)=1:

*** Error in PARDISO ( sequence_ido,parameters) error_num= 18
*** Input check: unexpected error with working arrays ia and/or ja

To derive the input arrays I've used the following code to extract the sparse storage form from a full upper triangular matrix GLKF(NEQ,NEQ) where nomenclature JA = COLUMNS, IA = ROWINDEX, A = VALUES:

KOUNT=COUNT(GLKF/=0d0)

ALLOCATE ( VALUES(KOUNT), COLUMNS(KOUNT), ROWINDEX(NEQ+1) )

KOUNTER = KOUNT
KOUNT = 0
ROWINDEX(1)=1

DO J=1,NEQ
ROWINDEX(J+1)=ROWINDEX(J)
DO I=1,NEQ
IF (GLKF(J,I)/=0.OR.I==J) THEN
ROWINDEX(J+1)=ROWINDEX(J+1)+1
KOUNT=KOUNT+1
VALUES(KOUNT)=GLKF(J,I)
COLUMNS(KOUNT)=I
END IF
END DO
END DO


Many thanks!
0 项奖励
5 回复数
mecej4
名誉分销商 III
1,498 次查看
The values of KOUNT from the first line of code shown above will not agree with the that after the nested loops since you handle zero-valued diagonal elements differently in the two places.

Depending on how you call PARDISO, a consistency check would catch this discrepancy.
0 项奖励
Brad_Doudican
初学者
1,498 次查看
Thanks mecej4, but earlier in the code I check for zeros on the diagonal - there are none if we get to this point. Any thoughts on the specific error messages?
0 项奖励
mecej4
名誉分销商 III
1,498 次查看
If there are no zeros on the diagonal, why do you have this statement:

IF (GLKF(J,I)/=0.OR.I==J) THEN

If there are some zero values on the principal diagonal when this statement is executed, the statements in the IF block will be executed even for those zero elements.
0 项奖励
Brad_Doudican
初学者
1,498 次查看
I was worried that would be a hang up in getting my question answered. The .OR.I==J code functions but doesn't have an effect - it's residual from a previous attempt at remedy. As I stated previously, no zeros on the diagonal. That's taken care of previously.

Do you know where I can find out more about the various error codes cited in my original post?
0 项奖励
Alexander_K_Intel2
1,498 次查看
Hi,
One can see the next line: "ia(neqns_in+1)-1 : -1" so its seem that you have some problem with ia array. Could you print the value of neqns and ia(neqns_in+1) before first pardiso call?
With best regards,
Alexander Kalinkin
0 项奖励
回复