dcsrilut produces results that are not ascending order at the last row.

dcsrilut produces results that are not ascending order at the last row.

I'm trying to use dcsrilut but it produces output vectors that are not sorted by ascending order.

Should I sort them before use them in another csr formatted matrix-vector routines.

Here is a sample program and you can see 'lu' and 'jlu' are not ordered in ascending at 5-th row in output.

Please check it and let me know the reason why it does or how to use it properly.

Thanks in advance,

skywon.

program dcsrilut_error
implicit none

real *8 a(16), lu(18), dpar(128), tol
integer ia(6), ja(16), ilu(6), jlu(18), n, i, j, k, ipar(128), mfil, ierr

data a / 1.0, 1.0, 4.0, &
2.0, 4.0, 1.0, &
2.0, 1.0, 8.0, 2.0, &
4.0, 1.0, &
3.0, 6.0, 2.0, 1.0/
data ja / 1, 2, 5, &
2, 3, 5, &
1, 2, 3, 4, &
3, 4, &
1, 2, 3, 5/
data ia / 1, 4, 7, 11, 13, 17/

n = 5

ipar(31) = 1
dpar(31) = 1.d-5
tol = 1.d-5

do mfil = 1, 3

call dcsrilut(n, a, ia, ja, lu, ilu, jlu, tol, mfil, ipar, dpar, ierr)

write(*, "(/'mfil = ', i2)") mfil
do i = 1, n
do j = ilu(i), ilu(i+1)-1
write(*, "(i2$)") jlu(j)
end do
write(*,"(' /'$)")
end do
write(*, *)

end do
end program

output of the above program is as follows:

mfil = 1
1 5 / 2 3 / 1 3 5 / 3 4 5 / 1 5 /

mfil = 2
1 2 5 / 2 3 5 / 1 2 3 4 5 / 3 4 5 / 4 1 5 /

mfil = 3
1 2 5 / 2 3 5 / 1 2 3 4 5 / 3 4 5 / 2 4 1 5 /

AnhangGröße
Herunterladen dcsrilut-error.f901.32 KB
3 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

Did you check the error value ( ierr)?

Sure, ierr = 0 in all cases

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen