## 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

Mentor
 Quote by tarekph 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

 Similar discussions for: Fortran LAPACK DYSEV Thread Forum Replies Programming & Comp Sci 5 Programming & Comp Sci 7 Engineering, Comp Sci, & Technology Homework 1 Math & Science Software 2 Programming & Comp Sci 0