<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; eigs(ones(2,2), eye(2,2); nev=1)
ERROR: Base.LinAlg.ARPACKException(&quot;unspecified ARPACK error: -9999&quot;)
Stacktrace:
 [1] aupd_wrapper(::Type{T} where T, ::Base.LinAlg.#matvecA!#98{Array{Float64,2}}, ::Base.LinAlg.##95#102{Array{Float64,2}}, ::Base.LinAlg.##96#103, ::Int64, ::Bool, ::Bool, ::String, ::Int64, ::Int64, ::String, ::Float64, ::Int64, ::Int64, ::Array{Float64,1}) at ./linalg/arpack.jl:52
 [2] #_eigs#91(::Int64, ::Int64, ::Symbol, ::Float64, ::Int64, ::Void, ::Array{Float64,1}, ::Bool, ::Base.LinAlg.#_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:285
 [3] (::Base.LinAlg.#kw##_eigs)(::Array{Any,1}, ::Base.LinAlg.#_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./&lt;missing&gt;:0
 [4] #eigs#85(::Array{Any,1}, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:93
 [5] (::Base.LinAlg.#kw##eigs)(::Array{Any,1}, ::Base.LinAlg.#eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./&lt;missing&gt;:0"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-c1">eigs</span>(<span class="pl-c1">ones</span>(<span class="pl-c1">2</span>,<span class="pl-c1">2</span>), <span class="pl-c1">eye</span>(<span class="pl-c1">2</span>,<span class="pl-c1">2</span>); nev<span class="pl-k">=</span><span class="pl-c1">1</span>)
ERROR<span class="pl-k">:</span> Base<span class="pl-k">.</span>LinAlg<span class="pl-k">.</span><span class="pl-c1">ARPACKException</span>(<span class="pl-s"><span class="pl-pds">"</span>unspecified ARPACK error: -9999<span class="pl-pds">"</span></span>)
Stacktrace<span class="pl-k">:</span>
 [<span class="pl-c1">1</span>] <span class="pl-c1">aupd_wrapper</span>(<span class="pl-k">::</span><span class="pl-c1">Type{T}</span> <span class="pl-k">where</span> T, <span class="pl-k">::</span><span class="pl-c1">Base.LinAlg.</span><span class="pl-c"><span class="pl-c">#</span>matvecA!#98{Array{Float64,2}}, ::Base.LinAlg.##95#102{Array{Float64,2}}, ::Base.LinAlg.##96#103, ::Int64, ::Bool, ::Bool, ::String, ::Int64, ::Int64, ::String, ::Float64, ::Int64, ::Int64, ::Array{Float64,1}) at ./linalg/arpack.jl:52</span>
 [<span class="pl-c1">2</span>] <span class="pl-c"><span class="pl-c">#</span>_eigs#91(::Int64, ::Int64, ::Symbol, ::Float64, ::Int64, ::Void, ::Array{Float64,1}, ::Bool, ::Base.LinAlg.#_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:285</span>
 [<span class="pl-c1">3</span>] (<span class="pl-k">::</span><span class="pl-c1">Base.LinAlg.</span><span class="pl-c"><span class="pl-c">#</span>kw##_eigs)(::Array{Any,1}, ::Base.LinAlg.#_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./&lt;missing&gt;:0</span>
 [<span class="pl-c1">4</span>] <span class="pl-c"><span class="pl-c">#</span>eigs#85(::Array{Any,1}, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:93</span>
 [<span class="pl-c1">5</span>] (<span class="pl-k">::</span><span class="pl-c1">Base.LinAlg.</span><span class="pl-c"><span class="pl-c">#</span>kw##eigs)(::Array{Any,1}, ::Base.LinAlg.#eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./&lt;missing&gt;:0</span></pre></div>
<p dir="auto">The following problem was provided on <a href="https://groups.google.com/forum/#!topic/julia-users/_XG5251nbek" rel="nofollow">julia users</a></p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; n = 10
10

julia&gt; A = zeros(n,n);

julia&gt; A[1,1] = 100;

julia&gt; A[10,10] = -100;

julia&gt; C = eye(n);

julia&gt; eigs(A,C)
ERROR: Base.LinAlg.ARPACKException(&quot;unspecified ARPACK error: -9999&quot;)
 in aupd_wrapper(::Type{T}, ::Base.LinAlg.#matvecA!#69{Array{Float64,2}}, ::Base.LinAlg.##66#73{Array{
Float64,2}}, ::Base.LinAlg.##67#74, ::Int64, ::Bool, ::Bool, ::String, ::Int64, ::Int64, ::String, ::F
loat64, ::Int64, ::Int64, ::Array{Float64,1}) at ./linalg/arpack.jl:53
 in #_eigs#62(::Int64, ::Int64, ::Symbol, ::Float64, ::Int64, ::Void, ::Array{Float64,1}, ::Bool, ::Ba
se.LinAlg.#_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:271
 in _eigs(::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:158
 in #eigs#56(::Array{Any,1}, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.j
l:80
 in eigs(::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:80"><pre class="notranslate">julia<span class="pl-k">&gt;</span> n <span class="pl-k">=</span> <span class="pl-c1">10</span>
<span class="pl-c1">10</span>

julia<span class="pl-k">&gt;</span> A <span class="pl-k">=</span> <span class="pl-c1">zeros</span>(n,n);

julia<span class="pl-k">&gt;</span> A[<span class="pl-c1">1</span>,<span class="pl-c1">1</span>] <span class="pl-k">=</span> <span class="pl-c1">100</span>;

julia<span class="pl-k">&gt;</span> A[<span class="pl-c1">10</span>,<span class="pl-c1">10</span>] <span class="pl-k">=</span> <span class="pl-k">-</span><span class="pl-c1">100</span>;

julia<span class="pl-k">&gt;</span> C <span class="pl-k">=</span> <span class="pl-c1">eye</span>(n);

julia<span class="pl-k">&gt;</span> <span class="pl-c1">eigs</span>(A,C)
ERROR<span class="pl-k">:</span> Base<span class="pl-k">.</span>LinAlg<span class="pl-k">.</span><span class="pl-c1">ARPACKException</span>(<span class="pl-s"><span class="pl-pds">"</span>unspecified ARPACK error: -9999<span class="pl-pds">"</span></span>)
 <span class="pl-k">in</span> <span class="pl-c1">aupd_wrapper</span>(<span class="pl-k">::</span><span class="pl-c1">Type{T}</span>, <span class="pl-k">::</span><span class="pl-c1">Base.LinAlg.</span><span class="pl-c"><span class="pl-c">#</span>matvecA!#69{Array{Float64,2}}, ::Base.LinAlg.##66#73{Array{</span>
Float64,<span class="pl-c1">2</span>}}, <span class="pl-k">::</span><span class="pl-c1">Base.LinAlg.</span><span class="pl-c"><span class="pl-c">#</span>#67#74, ::Int64, ::Bool, ::Bool, ::String, ::Int64, ::Int64, ::String, ::F</span>
loat64, <span class="pl-k">::</span><span class="pl-c1">Int64</span>, <span class="pl-k">::</span><span class="pl-c1">Int64</span>, <span class="pl-k">::</span><span class="pl-c1">Array{Float64,1}</span>) at <span class="pl-k">./</span>linalg<span class="pl-k">/</span>arpack<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">53</span>
 <span class="pl-k">in</span> <span class="pl-c"><span class="pl-c">#</span>_eigs#62(::Int64, ::Int64, ::Symbol, ::Float64, ::Int64, ::Void, ::Array{Float64,1}, ::Bool, ::Ba</span>
se<span class="pl-k">.</span>LinAlg.<span class="pl-c"><span class="pl-c">#</span>_eigs, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.jl:271</span>
 <span class="pl-k">in</span> <span class="pl-c1">_eigs</span>(<span class="pl-k">::</span><span class="pl-c1">Array{Float64,2}</span>, <span class="pl-k">::</span><span class="pl-c1">Array{Float64,2}</span>) at <span class="pl-k">./</span>linalg<span class="pl-k">/</span>arnoldi<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">158</span>
 <span class="pl-k">in</span> <span class="pl-c"><span class="pl-c">#</span>eigs#56(::Array{Any,1}, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at ./linalg/arnoldi.j</span>
l<span class="pl-k">:</span><span class="pl-c1">80</span>
 <span class="pl-k">in</span> <span class="pl-c1">eigs</span>(<span class="pl-k">::</span><span class="pl-c1">Array{Float64,2}</span>, <span class="pl-k">::</span><span class="pl-c1">Array{Float64,2}</span>) at <span class="pl-k">./</span>linalg<span class="pl-k">/</span>arnoldi<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">80</span></pre></div>
<p dir="auto">Right now, we are using <code class="notranslate">mode 2</code> when solving symmetric generalized problems but according to the source we shouldn't. In <code class="notranslate">dsaupd.f</code> line 291</p>
<div class="highlight highlight-source-fortran notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="c  3. If M can be factored into a Cholesky factorization M = LL`
c     then Mode = 2 should not be selected.  Instead one should use
c     Mode = 1 with  OP = inv(L)*A*inv(L`).  Appropriate triangular
c     linear systems should be solved with L and L` rather
c     than computing inverses.  After convergence, an approximate
c     eigenvector z of the original problem is recovered by solving
c     L`z = x  where x is a Ritz vector of OP."><pre class="notranslate"><span class="pl-c"><span class="pl-c">c</span>  3. If M can be factored into a Cholesky factorization M = LL`</span>
<span class="pl-c"><span class="pl-c">c</span>     then Mode = 2 should not be selected.  Instead one should use</span>
<span class="pl-c"><span class="pl-c">c</span>     Mode = 1 with  OP = inv(L)*A*inv(L`).  Appropriate triangular</span>
<span class="pl-c"><span class="pl-c">c</span>     linear systems should be solved with L and L` rather</span>
<span class="pl-c"><span class="pl-c">c</span>     than computing inverses.  After convergence, an approximate</span>
<span class="pl-c"><span class="pl-c">c</span>     eigenvector z of the original problem is recovered by solving</span>
<span class="pl-c"><span class="pl-c">c</span>     L`z = x  where x is a Ritz vector of OP.</span></pre></div>