New Reply

Fortran LAPACK DYSEV

 
Share Thread
May24-12, 04:47 PM   #1
 
Exclamation

Fortran LAPACK DYSEV


Hello
I am a beginner in programming with Fortran and I want to use the LAPACK DSYEV in my program.
I am an example to determine the eigenvalues ​​of a matrix (3x3) after I use it in my program but when I compile I get this error
"" "" "** One entry to DSYEV parameter number 5 Had an illegal value" "" ""
Here is my example:
Program eigenvalue

implicit none

! statements
double precision :: A (3.3), w (3), Work (3)
integer :: i INFO, LWORK, LDA = 3
character :: N, U

! A matrix
A (1 : ) = (/ 3, 1, 3 /)
A (2, : ) = (/ 1, 5, 6 /)
A (3 : ) = (/ 3, 6, 5 /)




CALL DSYEV ('N', 'U', 3, Q, W, LDA, WORK, LWORK, INFO)

! print the solution
do i = 1, 3
write (*, 9) i, w (i)
end do

9 format ('x [' i1 '] =', f5.2)
end programs eigenvalue
I know not how I met the LDA or WORK .. LWORK........
thank you
PhysOrg.com science news on PhysOrg.com

>> Leading 3-D printer firms to merge in $403M deal (Update)
>> LA to give every student an iPad; $30M order
>> CIA faulted for choosing Amazon over IBM on cloud contract
May24-12, 05:41 PM   #2
 
Mentor
Quote by tarekph View Post
Hello
I am a beginner in programming with Fortran and I want to use the LAPACK DSYEV in my program.
I am an example to determine the eigenvalues ​​of a matrix (3x3) after I use it in my program but when I compile I get this error
"" "" "** One entry to DSYEV parameter number 5 Had an illegal value" "" ""
Here is my example:
Program eigenvalue

implicit none

! statements
double precision :: A (3.3), w (3), Work (3)
integer :: i INFO, LWORK, LDA = 3
character :: N, U

! A matrix
A (1 : ) = (/ 3, 1, 3 /)
A (2, : ) = (/ 1, 5, 6 /)
A (3 : ) = (/ 3, 6, 5 /)




CALL DSYEV ('N', 'U', 3, Q, W, LDA, WORK, LWORK, INFO)

! print the solution
do i = 1, 3
write (*, 9) i, w (i)
end do

9 format ('x [' i1 '] =', f5.2)
end programs eigenvalue
I know not how I met the LDA or WORK .. LWORK........
thank you
I see a couple of mistakes in your code.
1) In this line -- double precision :: A (3.3) -- there should be a comma between the two 3s, not a period.
2) You passed Q in the call to DSYEV. That's the parameter that should be the array A.

I found a link to some documentation on DSYEV - it explains what the parameters need to be - http://www.netlib.org/lapack/double/dsyev.f
New Reply

Similar discussions for: Fortran LAPACK DYSEV
Thread Forum Replies
Fortran Lapack Compile Issue Programming & Comp Sci 5
Strange results using dgesv (lapack) via fortran 90 Programming & Comp Sci 7
lapack/blas routine to solve y = Ax Engineering, Comp Sci, & Technology Homework 1
LAPACK for Fortran under Cygwin Math & Science Software 2
Accessing Fortran Modules within a Fortran library from Fortran Programming & Comp Sci 0