I think itâ€™s intentional, the docstring says the parameters permute and scale are relevant to â€śgeneral nonsymmetric matricesâ€ť, but Hermitian matrices have symmetry. Note that youâ€™d get the same MethodError with Float64 elements, try omitting the .|> big text.

Thanks for the reply! Actually, I can remove Hermitian but have to keep big because Iâ€™m trying to compute the eigenvalues of a nearly symmetric matrix with arbitrary precision. But it seems that even when using GenericLinearAlgebra, eigen does not support Matrix{BigFloat}:

julia> n = rand(3,3) .|> big;
julia> eigen(m);
ERROR: MethodError: no method matching eigen!(::Matrix{BigFloat}; permute::Bool, scale::Bool, sortby::typeof(LinearAlgebra.eigsortby))

Thatâ€™s why I added |>Hermitian. But now it does not support permute againâ€¦ Do you know if thereâ€™s a workaround to this? Thanks!

Correct, GenericLinearAlgebra is not a complete extension, which the documentation all but says. issue #57 is relevant to your use case. My earlier point was that the permute and scale keywords are not intended for any symmetric matrix types, and the point is separate from GenericLinearAlgebra extending eigen to Hermitian{BigFloat, Matrix{BigFloat}} (without the keywords of course) but not Matrix{BigFloat}.