UPDATE. SymEngine and SymPy don’t seem to generate symbolic matrix inverses either, nor eigenvalues.
This isn’t quite true:
julia> using SymPy
julia> M = Sym["a$i$j" for i in 1:2, j in 1:2]
2×2 Array{Sym,2}:
a₁₁ a₁₂
a₂₁ a₂₂
julia> inv(M)
2×2 Array{Sym,2}:
a22/(a11*a22 - a12*a21) -a12/(a11*a22 - a12*a21)
-a21/(a11*a22 - a12*a21) a11/(a11*a22 - a12*a21)
julia> using LinearAlgebra
julia> eigvals(M) # also M.eigenvals()
2-element Array{Sym,1}:
a11/2 + a22/2 - sqrt(a11^2 - 2*a11*a22 + 4*a12*a21 + a22^2)/2
a11/2 + a22/2 + sqrt(a11^2 - 2*a11*a22 + 4*a12*a21 + a22^2)/2
julia> eigvecs(M) # also M.eigenvects()
2×2 Array{Sym,2}:
-2*a12/(a11 - a22 + sqrt(a11^2 - 2*a11*a22 + 4*a12*a21 + a22^2)) … -2*a12/(a11 - a22 - sqrt(a11^2 - 2*a11*a22 + 4*a12*a21 + a22^2))
1 1
julia> M.rank()
2