eigen fails for the identity matrix with StaticArray int type
My version is Julia 1.6.2.
using LinearAlgebra
using StaticArrays
m3 = SMatrix{3,3}(1I)
eigen(m3)
MethodError: no method matching precision(::Type{Int64}) Closest candidates are: precision(::Type{Float16}) at float.jl:599 precision(::Type{Float32}) at float.jl:600 precision(::Type{Float64}) at float.jl:601 Stacktrace: [1] _eig @ ~/.julia/packages/StaticArrays/vxjOO/src/eigen.jl:314 [inlined] [2] _eig @ ~/.julia/packages/StaticArrays/vxjOO/src/eigen.jl:134 [inlined] [3] #eigen#629 @ ~/.julia/packages/StaticArrays/vxjOO/src/eigen.jl:418 [inlined] [4] eigen(A::SMatrix{3, 3, Int64, 9}) @ StaticArrays ~/.julia/packages/StaticArrays/vxjOO/src/eigen.jl:418 [5] top-level scope @ In[39]:1 [6] eval @ ./boot.jl:360 [inlined] [7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1116
I tested with
m3 = [1 0 0; 0 1 0; 0 0 1]
m2 = SMatrix{2,2}(1I)
m3 = SMatrix{3,3}{Float64}(1I)]
m4 = SMatrix{4,4}(1I)
They all worked.