def zhemv(alpha, A, X, beta, Y, Uplo=CblasLower): """ returns y' This function computes the matrix-vector product and sum \M{y' = S{alpha} A x + S{beta} y} for the hermitian matrix A. Since the matrix A is hermitian only its upper half or lower half need to be stored. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used. The imaginary elements of the diagonal are automatically assumed to be zero and are not referenced. """ yn = array_typed_copy(Y, get_typecode(A)) _gslwrap.gsl_blas_zhemv(Uplo, alpha, A, X, beta, yn) return yn