Symbolic Eigenvalues

While completing a course assignment recently I needed to calculate symbolically the eigenvalues of a Jacobian.

I was trying to use the Symbolics.jl package but it didn’t seem able to solve this kind of problem. When I tried to figure out the characteristic equation for my system and solve that instead, I ran into the non-linear assertion error (this perhaps being the underlying reason I couldn’t find the eigenvalues with symbolics).

Given that I’m still learning the mathematics and am new to symbolics, these seemed to me as quite fundamental limitations. In the end I solved the problem using MATLAB (which I had temporary access to through the course) but would like to know what I could have done in Julia.

One option seems to be falling back to SymPy but as Symbolics.jl appears to be the way to do things in Julia, how come these features aren’t supported? Is my course teaching me something that isn’t normally required in the real world?

I realise that many Julia packages are created by people being generous in their own time and I would love to one day be able to contribute, but obviously I need to learn what I’m doing mathematically before I’d have a chance of being able to implement something like that in code.

Is the reality that I’m stuck using MATLAB or Python for learning purposes?

See: Is there a way to calculate eigenvalues for symbolic matrices?

I don’t think Symbolics.jl handles general polynomial roots yet. (Of course, there is no closed-form expression for degree > 4, i.e. for matrices bigger than 4 \times 4.)

Thanks for your reply. Yes, I figured that there was some way of doing it. I didn’t want to get distracted from the mathematics of the course by needing to dive into new programming libraries.

It seems that if the courses I’m doing use MATLAB and Python it’s better to stick to those for the course.