# Package name suggestion

**URL:** <https://discourse.julialang.org/t/package-name-suggestion/37557>\
**Category:** General Usage\
**Tags:** package\
**Created:** [April 14, 2020, 11:49am UTC](https://discourse.julialang.org/t/package-name-suggestion/37557 "2020-04-14T11:49:43Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [April 14, 2020, 11:49am UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/1 "2020-04-14T11:49:43Z")

</div>

Hi,

I am the developper of [PseudoArcLengthContinuation.jl](https://github.com/rveltz/PseudoArcLengthContinuation.jl) and based on several discourse posts ( most notably this [one](https://discourse.julialang.org/t/is-there-a-julia-package-that-uses-newton-krylov-method-for-systems-of-nonlinear-equations/36520/13)), it appears that the name of my package is not very well chosen. More precisely, people seem surprised of the content (preconditioned Newton-Krylov solver,…) because of the name.

The package allows to do bifurcation analysis of large scale problems (following steady state, periodic orbits and detecting changes in stability…) For example, in the tutorial, you can find non trivial examples of PDE analysed entirely on the GPU.

I plan to change it `LargeScaleBifurcations.jl` because the aim is to study large PDE (or other) as opposed to the (nice) package [Bifurcations.jl](https://github.com/tkf/Bifurcations.jl).

Nevertheless, to avoid a bad choice (again), I would like to hear some suggestions.

Thank you for your help,

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 14, 2020, 12:41pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/2 "2020-04-14T12:41:54Z")

</div>

Since the package is very useful for homotopy continuation solutions of nonlinear systems (w/o bifurcation), something like _GeneralizedHomotopyContinuations.jl_ would also be appropriate.

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [April 14, 2020, 1:28pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/3 "2020-04-14T13:28:59Z")

</div>

It could do but I would lose the keyword bifurcations. Thank you for your suggestion.

---

<div class="post-metadata">

**Author:** ![jlperla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlperla/32/34332_2.png) [@jlperla](https://discourse.julialang.org/u/jlperla)\
**Post date:** [April 14, 2020, 1:55pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/4 "2020-04-14T13:55:35Z")

</div>

> [@rveltz](#):
>
> I plan to change it `LargeScaleBifurcations.jl` because the aim is to study large PDE

Makes total sense. Although if this has algorithms for homotopy continuations, then people like me would still have missed it. But since people like me are not your primary audience, I think you should stick with your gut.

> [@rveltz](#):
>
> More precisely, people seem surprised of the content (preconditioned Newton-Krylov solver,…)

Maybe what this really suggests is that the newton-krylov solver could be refactored into another package (or, even better, merged into something like `KrylovKit.jl` which I believe is one of your dependencies?) That said, refactoring code is work (and largely thankless at that!) so nobody takes offense if you don’t.

If you did that, then the other part of the package that seems generally useful outside of bifurcations is the homotopy continuations. That might be tougher to refactor out, so I think people can just deal with it. Anyone who really wants to use a homotopy continuation probably already knows they are used in bifurcation analysis.

---

<div class="post-metadata">

**Author:** ![jlperla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlperla/32/34332_2.png) [@jlperla](https://discourse.julialang.org/u/jlperla)\
**Post date:** [April 14, 2020, 1:58pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/5 "2020-04-14T13:58:22Z")

</div>

@ChrisRackauckas Do you see a natural place for the preconditioned newton-krylov solvers? They seem like the sort of thing that SciML would be doing all over the place, but maybe you just have it built in where you need it?

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [April 14, 2020, 6:00pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/6 "2020-04-14T18:00:20Z")

</div>

Refactoring into two packages is quite some work. I guess I will wait for `NLSolve` to improve.

> Anyone who really wants to use a homotopy continuation probably already knows they are used in bifurcation analysis.

That’s my guess, and for the alternative as well 😉

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [April 14, 2020, 6:22pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/7 "2020-04-14T18:22:25Z")

</div>

`PseudoArcLengthContinuationForAnalysisOfLargeScaleBifurcations.jl`?

---

<div class="post-metadata">

**Author:** ![pkofod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pkofod/32/2179_2.png) [@pkofod](https://discourse.julialang.org/u/pkofod)\
**Post date:** [April 14, 2020, 6:48pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/8 "2020-04-14T18:48:37Z")

</div>

> [@rveltz](#):
>
> Refactoring into two packages is quite some work. I guess I will wait for `NLSolve` to improve.

Improve?! Nothing is currently wrong!

🙂

I have an inexact newton solver with different forcing terms, line search, etc in my local version of NLSolvers.jl, I think it should be possible to use in your context.

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [April 14, 2020, 7:55pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/9 "2020-04-14T19:55:15Z")

</div>

OK, I said improve out of context. In this [post](https://discourse.julialang.org/t/is-there-a-julia-package-that-uses-newton-krylov-method-for-systems-of-nonlinear-equations/36520/17), you will see that I tried to advocate the use of `NLSolve.jl` for Newton-Krylov but this was not seen as a good suggestion.

---

<div class="post-metadata">

**Author:** ![pkofod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pkofod/32/2179_2.png) [@pkofod](https://discourse.julialang.org/u/pkofod)\
**Post date:** [April 14, 2020, 8:06pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/10 "2020-04-14T20:06:05Z")

</div>

The smiley was an attempt to indicate that it was a joke. Sorry about that.

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [April 14, 2020, 8:18pm UTC](https://discourse.julialang.org/t/package-name-suggestion/37557/11 "2020-04-14T20:18:21Z")

</div>

> [@jlperla](#):
>
> or, even better, merged into something like `KrylovKit.jl` which I believe is one of your dependencies?

It is _one_ of the supported linear solvers _backend_ so to say (there is also `IterativeSolvers.jl`,…)
