# Replacement of eigs?

**URL:** <https://discourse.julialang.org/t/replacement-of-eigs/13540>\
**Category:** General Usage\
**Created:** [August 16, 2018, 12:09am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540 "2018-08-16T00:09:28Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![axsk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/axsk/32/1952_2.png) [@axsk](https://discourse.julialang.org/u/axsk)\
**Post date:** [August 16, 2018, 12:09am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/1 "2018-08-16T00:09:28Z")

</div>

Given a matrix `A` I need to compute the eigenvector matching the dominating eigenvalue.

In 0.6 I used ` v = eigs(A, nev = 1, which=:LM)`  
I cannot find anything similar in 1.0.

How do I compute this eigenvector without computing all the others (as e.g. `eigen` does)?

---

<div class="post-metadata">

**Author:** ![ElOceanografo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eloceanografo/32/624_2.png) [@ElOceanografo](https://discourse.julialang.org/u/ElOceanografo)\
**Post date:** [August 16, 2018, 12:22am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/2 "2018-08-16T00:22:58Z")

</div>

It got moved out of `Base` to `Arpack.jl`:

```julia
using Arpack
...
v = eigs(A, nev = 1, which=:LM)

```

FWIW, 0.7 gives you the following more-informative error message:

```julia
ERROR: eigs has been moved to the package Arpack.jl.
Run `Pkg.add("Arpack")` to install it, restart Julia,
and then run `using Arpack` to load it.

```

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [August 16, 2018, 7:21am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/3 "2018-08-16T07:21:58Z")

</div>

> [@PSA: use Julia 0.7 if you are upgrading](https://discourse.julialang.org/t/psa-use-julia-0-7-if-you-are-upgrading/13321):
>
> A lot of people are posting issues where their old code doesn’t work anymore on 1.0 because some function has been renamed or removed. The 0.7 release exists exactly for this reason: your old code will work on 0.7 and give you a specific warning about how to fix your code. If you have any old code, you should use 0.7 to get these warnings before switching to 1.0; even if you just have work habits that may need changing, you should probably use 0.7 for a while. If someone posts an issue like thi…

---

<div class="post-metadata">

**Author:** ![axsk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/axsk/32/1952_2.png) [@axsk](https://discourse.julialang.org/u/axsk)\
**Post date:** [August 16, 2018, 11:53am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/4 "2018-08-16T11:53:00Z")

</div>

Oh I see, sorry for the noise 😊

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [December 21, 2019, 10:21am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/5 "2019-12-21T10:21:09Z")

</div>

New to Julia, have version 1.3  
So to figure out the new name of a function, I would need to install julia 0.7 ?  
I keep running into this issue, and currently search the web for ‘julia \<old\_function\_name\> deprecated’

Is there a better way to handle this? I am having no luck finding what `realmax(Float64)` might have turned into!

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [December 21, 2019, 10:38am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/6 "2019-12-21T10:38:59Z")

</div>

In general yes - using that function on 0.7 will give you a message telling you what the function has turned in to:

```julia
julia> versioninfo()
Julia Version 0.7.0
#[...]

julia> realmax(Float64)
┌ Warning: `realmax` is deprecated, use `floatmax` instead.
│ caller = top-level scope at none:0
└ @ Core none:0
1.7976931348623157e308

```

In your case, the equivalent is `floatmax(Float64)`.

If you’re new to julia this shouldn’t be necessary though - are you trying to port older code or are you following an older tutorial?

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [December 21, 2019, 11:26am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/7 "2019-12-21T11:26:13Z")

</div>

I am looking at various notebooks, both to see julia examples and to read up on some algorithms.  
I am really surprised at the number of deprecated functions, and the difficulty finding replacements.

I wonder if a list of deprecated functions and their replacement might be picked up by webcrawlers  
to make it easier to search the web?

---

<div class="post-metadata">

**Author:** ![orialb](https://avatars.discourse-cdn.com/v4/letter/o/65b543/32.png) [@orialb](https://discourse.julialang.org/u/orialb)\
**Post date:** [December 21, 2019, 11:52am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/8 "2019-12-21T11:52:30Z")

</div>

> [@ea42gh](#):
>
> I am really surprised at the number of deprecated functions, and the difficulty finding replacements.

You don’t have to worry too much about this if you just started using Julia and using some Julia 1.x version .  
There were many breaking changes from 0.6 to 1.0 (with 0.7 providing the deprecation warnings), as 1.0 was the first version with API stability guaranteed. Moving forward, breaking changes between different 1.x.y versions are not allowed, only new features and bug fixes. So if you write some code which works with Julia 1.3 you can be rest assured that it will also work for later 1.x versions of Julia.

When looking at tutorials treat ones that use v0.6 as possibly outdated and try to find newer ones if possible.  
In general it is good to have a look at the official documentation when searching for some functionality, and as you have seen you can also search this forum (a lot of times someone already asked a similar question) or ask here.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [December 21, 2019, 11:52am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/9 "2019-12-21T11:52:46Z")

</div>

Well, there are the [Release News](https://docs.julialang.org/en/v0.7.0/NEWS/) for 0.7 which has a [list of deprecations](https://docs.julialang.org/en/v0.7.0/NEWS/#Deprecated-or-removed-1) as well, but simply running the code in 0.7 will in general be easier than checking that list.

As Stefan writes in the post I linked at the beginning of this thread, the 0.7 release exists for exactly this purpose, as it was the last 0.x release before 1.0.

In any case, using 1.3 is the best choice - all code newer than 1.0 is compatible with it.

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [December 21, 2019, 11:58am UTC](https://discourse.julialang.org/t/replacement-of-eigs/13540/10 "2019-12-21T11:58:07Z")

</div>

Thank you for the pointer to the list of deprecations!
