# How to compute eigenvalues of a large symbolic matrix?

I am trying to find eigenvalues for a big matrix having symbolic elements. Basically I am trying to find values of lambda for which matrix $$(A-\lambda)$$ is singular. For small matrices, we generally find the determinant and then solve the characteristic equation using Newton Raphson method (FindRoot) to find various eigenvalues. In my cases the matrices are huge so finding determinant takes forever. Is there another way in which I can find eigenvalues for, let's say, 500*500 matrix? I have posted a little code for 51*51 matrix. I am not interested in finding all eigenvalues, I just need smallest 10-20 eigenvalues. Any and all help would be appreciated.

W = (BesselJ[m, λ*r/a] - BesselJ[m, λ]/BesselI[m, λ]*
BesselI[m, λ*r/a])*(Subscript[A, m]* (Subscript[A, m]*Cos[m*θ] + Subscript[B, m]*Sin[m*θ])

R1 = a^2*(D[W, {r, 2}] + 0.3 (1/r*D[W, r] + 1/r^2*D[W, {θ, 2}])) /. r -> a ;
R2 = a*(D[W, r]) /. r -> a ;

N1 = 37;
N2 = 13;

For[i = 1; n1 = 1, i < N1 + 1, i++,
Subscript[G, i] =
Sum[R2 /. θ -> α*(m*n1)/(N1 + 1) /. α -> Pi/
2, {m, 0, (N1 + N2)/2}];
n1 = i;
]

For[j = 0; n2 = 0, j < N2 + 1, j++,
Subscript[F, j] =
Sum[R1 /. θ ->
m*(α + (2*Pi - α)*n2/N2) /. α -> Pi/2, {m,
0, (N1 + N2)/2}];
n2 = j;
]


### Edit

Apologies, There has been some issue with the code which has been corrected.

• Have you tried using either Eigenvalues or Eigensystem? Especially if you have a symbolic matrix that might be preferred over a numerical solution. – gothicVI Dec 18 '18 at 8:36
• Yes, they take very long time and usually doesn't work beyond 13*13 matrices. – R Vic Dec 18 '18 at 12:46
• Another possibility would be to try to find the NullSpace of (A-$\lambda$ I). – bill s Dec 18 '18 at 17:04

Computing eigenvalues of a $$500 \times 500$$ matrix is only feasible for very rare matrices with very special structure since the complexity of symbolic terms tend to blow up very fast. Moreover, with symbols, it will often not be possible to order the eigenvalues. So the short answer can be found here.
It might be a better strategy to substitute numerical values (in floating point precision) and to apply Eigenvalues or Eigensystem afterwards. In the very special cases mentioned above, you might find a pattern and a mathematical proof for it.