Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Brad_Doudican
Beginner
88 Views

Input error message - help

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 Kudos
5 Replies
mecej4
Black Belt
88 Views

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.
Brad_Doudican
Beginner
88 Views

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?
mecej4
Black Belt
88 Views

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.
Brad_Doudican
Beginner
88 Views

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?
88 Views

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
Reply