I am interested in computing a small proportion (between 3 and 10% of the matrix size) of the eigenvalues of a matrix with extended precision. As a toy example, let’s take the matrix `A`

define by:

```
T = Complex{Float128}
N = 64
A = Tridiagonal(rand(T, N - 1), rand(T, N), rand(T, N - 1))
```

The following eigensolver does not works:

```
julia> using Arpack
julia> eigs(A; nev=round(Int, 0.1 * N), which=:LM, ritzvec=false)
ERROR: LoadError: StackOverflowError:
...
```

from the `Arpack.jl`

package;

```
julia> using KrylovKit
julia> eigsolve(A, round(Int, 0.1 * N), :LM)
ERROR: LoadError: MethodError: no method matching hschur!(...
```

from the `KrylovKit.jl`

package;

```
julia> using ArnoldiMethod
julia> partialschur(A; nev=round(Int, 0.1 * N), which=LM())
ERROR: LoadError: MethodError: no method matching gemv!(...
```

from the `ArnoldiMethod.jl`

package.

Is there a way/package to compute a small proportion of the eigenvalues with extended precision ?

Additional information:

- I have used
`Float128`

from the package`Quadmath.jl`

but I could have use`Double64`

from the`DoubleFloats.jl`

or`Float64x2`

from`MultiFloats.jl`

, I get the same errors. -
`eigvals(Matrix(A))`

from the standard library`LinearAlgebra.jl`

works with extended precision but here the size`N`

is small for exposition purpose, in my application it might be as big as 10 000 and I do not need all the eigenvalues only a small proportion of them. So if I can avoid the huge cost of computing all the eigenvalues, that would be great. - All the example shown above works with
`T = Complex{Float64}`

. - I know about the eigensolver
`powm`

in the`IterativeSolvers.jl`

but it only give one eigenvalue and I am interested in a small proportion > 1.

Edit: Formatting and add details.