RalphAS / GenericSchur.jl

Julia package for Schur decomposition of matrices with generic element types
Other
27 stars 4 forks source link

Type pirated `eigen!` no longer effective for `eigen` on Julia 1.7 #5

Closed KristofferC closed 3 years ago

KristofferC commented 3 years ago

This package type pirates the eigen! function to provide support for bigfloat numbers:

https://github.com/RalphAS/GenericSchur.jl/blob/9dec8235e9b56dbca2041b308153b193aa901cb5/src/GenericSchur.jl#L50-L125

This is no longer effective on 1.7 when one calls eigen.:

1.7:

julia> R = rand(BigFloat, 20, 20);

julia> using GenericSchur, LinearAlgebra

julia> eigen(R)
ERROR: MethodError: no method matching eigen!(::Matrix{BigFloat}; permute=true, scale=true, sortby=LinearAlgebra.eigsortby, jvl=false, jvr=true, jce=false, jcv=false)

1.6:

julia> R = rand(BigFloat, 20, 20);

julia> using GenericSchur, LinearAlgebra

julia> eigen(R)
Eigen{Complex{BigFloat}, Complex{BigFloat}, Matrix{Complex{BigFloat}}, Vector{Complex{BigFloat}}}
...
RalphAS commented 3 years ago

I believe this is fixed in v0.5.1.