public static int cusolverDnSsygvd_bufferSize(
        cusolverDnHandle handle, 
        int itype, 
        int jobz, 
        int uplo, 
        int n, 
        Pointer A, 
        int lda, 
        Pointer B, 
        int ldb, 
        Pointer W, 
        int[] lwork)
    {
        return checkResult(cusolverDnSsygvd_bufferSizeNative(handle, itype, jobz, uplo, n, A, lda, B, ldb, W, lwork));
    }
public static int cusolverDnSsygvd_bufferSize ( cusolverDnHandle handle , int itype , int jobz , int uplo , int n , Pointer A , int lda , Pointer B , int ldb , Pointer W , int [ ] lwork ) { return checkResult ( cusolverDnSsygvd_bufferSizeNative ( handle , itype , jobz , uplo , n , A , lda , B , ldb , W , lwork ) ) ; }
generalized symmetric eigenvalue solver, A*x = lambda*B*x, by divide-and-conquer