Re: LAPACK library usage in fortran 90
- From: kiwanuka <robert.kiwanuka@xxxxxxxxx>
- Date: Sat, 24 Oct 2009 08:47:47 -0700 (PDT)
On Oct 24, 3:55 pm, nos...@xxxxxxxxxxxxx (Richard Maine) wrote:
kiwanuka <robert.kiwan...@xxxxxxxxx> wrote:
On Oct 24, 1:45 pm, jwm <jwmwal...@xxxxxxxxx> wrote:
It seems that your DGESVD subroutine has an extra argument. Try adding
the following interface block to your code (maybe before the second
SUBROUTINE DGESVD(JOBU, JOBVT, M, N, A, LDA, S, U, LDU, VT, LDVT,
WORK, LWORK, INFO )
INTEGER, PARAMETER :: WP = KIND(1.0D0)
CHARACTER(LEN=1), INTENT(IN) :: JOBU, JOBVT
INTEGER, INTENT(IN) :: M, N, LDA, LDU, LDVT, LWORK
INTEGER, INTENT(OUT) :: INFO
REAL(WP), INTENT(OUT) :: S(*)
REAL(WP), INTENT(INOUT) :: A(LDA,*)
REAL(WP), INTENT(OUT) :: U(LDU,*), VT(LDVT,*), WORK(*)
END SUBROUTINE DGESVD
Thank you very much! The interface is what was needed! It also forced
other problems to be exposed during compilation.
I doubt that it was "needed". There is nothing in the code that requires
an explicit interface, so it should work the same with or without this.
I can well believe that this could help find the problems (such as the
extra argument that jwm mentioned). But the lack of this should not in
itself be a problem.
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain
That is what I thought, which is why I didn't have an interface at
first, but since it solved the problem then I think it is worth
having. I had also mixed up variables with ones I had used to test
the DGESDD subroutine but that has been highlighted by the interface.