Hi Wei. I know little of the routine regter, as it is now, but I know very well what it used to be, because I wrote a routine with this name long, long, ago. The routine name is a kind of awkward acronym, where the first "R" stands for real (as opposed to Cegter: guess why); TER stands for iTERative, and EG for EiGen ... Admittedly, not a very informative name
1) a real matrix can be stored in a complex array: the computer will never know, because fortran arguments are passed to subprograms by reference (i.e. the compiler passes just the memory address of the first element of the array: it is the programmer's responsibility to make sure that what the subroutine receives is what the he/she intends). It is admittedly not good programming practice to pass a complex array instead of a real one (or vice versa), but I can assure that this was common practice when I was young (long, long ago). 2) the eigenvectors of a real symmetric matrix can ALWAYS be chosen to be real, as you can easily convince yourself by simply thinking of the definition of eiegenvectors. Hope this helps the peace of your mind. Cheers - Stefano Baroni PS: I do appreciate that some people take the luxury of digging into the codes. This is the only way to learn the art of scientific computing. Bravo! On Apr 2, 2008, at 10:43 PM, willy kohn wrote: > Hi, there: > > I was stucked again in the subroutine regterg in the file > regterg.f90 when I read the pwscf code. There are two things > bothering me. > > One is in the subroutine, the variables psi and hpsi are declared as > complex(dp), however, they are used as parameters to call the > Lapack subroutine DGEMM, which requires real numbers. For example, > in the line 136, > > CALL DGEMM( 'T', 'N', nbase, nbase, ndim2, 2.D0 , & > psi, ndmx2, hpsi, ndmx2, 0.D0, hr, nvecx ) > > The other one is about the diagonalization of the reduced > hamiltonian hr, which is declared as a real symmetric matrix in the > subroutine. But in general, the wavefunction psi is complex, how can > we guarentee all the elements in the matrix is real? Can the matrix > hr be a Hermitian one? > > > Best, > > Wei > _______________________________________________ > Pw_forum mailing list > Pw_forum at pwscf.org > http://www.democritos.it/mailman/listinfo/pw_forum --- Stefano Baroni - SISSA & DEMOCRITOS National Simulation Center - Trieste [+39] 040 3787 406 (tel) -528 (fax) / stefanobaroni (skype) Please, if possible, don't send me MS Word or PowerPoint attachments Why? See: http://www.gnu.org/philosophy/no-word-attachments.html -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.democritos.it/pipermail/pw_forum/attachments/20080403/9d18ccd0/attachment.htm
