Calculating the eigenvalues of the Laplacian numerically I am trying to find the eigenvalues of the Laplacian operator, or in other words, solve the Helmholtz equation
$\nabla^2f=\lambda f$
on a compact 2D domain (comes from a quantum mechanics particle-in-a-box problem). If the domain were a square or a circle, the eigenvalues would be straightforward to obtain analytically. However, on more complicated shapes, hopes of analytical solution break down - I would threfore like to calculate the spectrum (let's say the first 20 eigenvalues) numerically.
It is almost certain that there is an estabilished method to solve the problem and I am just missing the right keyword. I know that the smallest eigenvalue can be found by something like the variational method, but if I am right, that does not allow one to calculate the rest of the spectrum. Is there a method that can do that?
 A: As David mentioned in the comments, your question boils down to what numerical methods you can use for PDE on irregularly-shaped domains.
Before you think about what kind of numerical method you use, you're going to have to figure out how you'll represent the domain.
You will probably need to use a mesh generator (see Triangle and gmsh).
This step will take longer than you think.
Many of the methods that you'll encounter are one type of Galerkin method or other, which includes the Ritz-Galerkin or variational methods that you mentioned.
Galerkin-type methods turn a linear elliptic PDE $\mathscr Au = f$ for a function $u$ into a finite-dimensional linear system $AU = F$ for the vector $U$ of coefficients of an approximate solution with respect to a basis $\{\phi_1, \ldots, \phi_n\}$ of your choosing.
Galerkin-type methods differ in what kinds of bases they use and how they form the matrix $A$.
Personally, I'm partial to the finite element method, which is one particular choice but not the only one.
If you want a reference, my favorite introductory book on the subject is Understanding and Implementing the Finite Element Method.
Once you've discretized the problem, you can then approximate the eigenvalues by solving $AU = \lambda U$ for $U$, $\lambda$ using any off-the-shelf tool like SLEPc, scipy, arpack, etc.
SLEPc has a nice implementation of LOBPCG which is particularly well-suited to finding the smallest few eigenvalues.
I've written a bit about using the finite element method to compute the eigenvalues of the Laplacian on compact domains using the software package Firedrake on my website:
Weyl's law, Yau's conjecture, and Kac's conjecture.
(By way of full disclosure, I'm a developer of Firedrake and a downstream application, so take my recommendation with a grain of salt.)
