14 subroutine tridiagev(nn, diag, subd, eval, evec) bind(c,name='FtnTriDiagSpectrum')
    20 integer(c_int), 
intent(in) :: nn
    21 real(c_double), 
intent(in) :: diag(nn)
    22 real(c_double), 
intent(in) :: subd(nn-1)
    23 real(c_double), 
intent(inout) :: eval(nn)
    24 real(c_double), 
intent(inout) :: evec(nn,nn)
    26 real(kind=kind_real) :: zdiag(nn)
    27 real(kind=kind_real) :: zsubd(nn-1)
    28 real(kind=kind_real) :: zvecs(nn, nn)
    29 real(kind=kind_real) :: zwork(2*nn)
    36 call dsteqr(
'I', ii, zdiag, zsubd, zvecs, ii, zwork, info)
    38 if (info/=0) 
call abor1_ftn(
"tridiagev: Error in dsteqr")
    41 evec(:,:) = zvecs(:,:)
 subroutine tridiagev(nn, diag, subd, eval, evec)
Interfaces to be called from C++ for Fortran computation of eigenvalues and eigenvectors of symetric ...