# Eigs does not work

**URL:** <https://discourse.julialang.org/t/eigs-does-not-work/35421>\
**Category:** General Usage\
**Tags:** linearalgebra\
**Created:** [March 2, 2020, 5:20pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421 "2020-03-02T17:20:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [March 2, 2020, 5:20pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421/1 "2020-03-02T17:20:34Z")

</div>

Trying to use `eigs` from `Arpack` gives me a lot of trouble, is there any alternative?

[https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/96](https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/96)

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [March 2, 2020, 5:38pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421/2 "2020-03-02T17:38:55Z")

</div>

Yes, for example

```julia
using ArnoldiMethod
decomp, history = partialschur(M)
λ, evs = partialeigen(decomp);

```

or

```julia
using KrylovKit
λ, evs = eigsolve(M);

```

where `M` is the sparse matrix.

---

<div class="post-metadata">

**Author:** ![anon94023334](https://avatars.discourse-cdn.com/v4/letter/a/e274bd/32.png) [@anon94023334](https://discourse.julialang.org/u/anon94023334)\
**Post date:** [March 2, 2020, 8:10pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421/3 "2020-03-02T20:10:38Z")

</div>

In LightGraphs, we have defined

```julia
function eigs(A; kwargs...)
    schr =partialschur(A; kwargs...)
    vals, vectors = partialeigen(schr[1])
    reved = (kwargs[:which] == LR() || kwargs[:which] == LM())
    k::Int = get(kwargs, :nev, length(vals))
    k = min(k, length(vals))
    perm = collect(1:k)
    if vals[1] isa(Real)
        perm = sortperm(vals, rev=reved)
        perm = perm[1:k]
    end
    λ = vals[perm]
    Q = vectors[:, perm]
    return λ, Q
end

```

in terms of the functions exported from ArnoldiMethod.jl.  
(cc @jpfairbanks). Don’t ask me how it works; I don’t do matrices.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [March 2, 2020, 8:29pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421/4 "2020-03-02T20:29:47Z")

</div>

Thanks! I need the 2 argument version with generalized eigenvalue problem, not only the 1 argument one

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [March 2, 2020, 11:49pm UTC](https://discourse.julialang.org/t/eigs-does-not-work/35421/5 "2020-03-02T23:49:33Z")

</div>

What seems to be the problem?
