Numerical Methods for General and Structured Eigenvalue Problems