Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General registry? #4

Closed
JeffFessler opened this issue Jul 12, 2021 · 8 comments
Closed

General registry? #4

JeffFessler opened this issue Jul 12, 2021 · 8 comments

Comments

@JeffFessler
Copy link
Contributor

I am happy to find this package because I need an interpolator that has an adjoint.

But to build other packages on top of it confidently, I feel it would need to be in the general Julia registry
so that I can enter [compat] for specific versions.
Do you have a plan for registering it, e.g., after hitting certain milestones in code coverage or such?

Also, the docs link is broken right now. Do you want a PR to help with setting up Documenter/Literate?

@emmt
Copy link
Owner

emmt commented Jul 23, 2021

I would like to solve the following Julia issue #41637 before making LinearInterpolators an official package. In the mean time you can use my personnal registry:

using Pkg
pkg"registry add General"
pkg"registry add https://github.com/emmt/EmmtRegistry"
pkg"add LinearInterpolators"

I did not noticed that the link was broken, this is because travis-ci.org is ceased I have to move to travis-ci.com. I am not really sure I want to do that so a PR to build the the doc. by other means might be helpful.

@emmt
Copy link
Owner

emmt commented Jul 23, 2021

The doc link is now working. The doc is however very limited.

@JeffFessler
Copy link
Contributor Author

Thanks for updating the docs - looks great. And thanks for the reply about the registry plan.

I realize I can use your personal registry for my own work, but I am nearing the release of
a package that I would like to register that uses this and as far as I know it is not possible
to point to a personal registry in a Project.toml file. I've searched but couldn't find anything.
If you happen to know if it is possible and can give a hint or pointer, I'd really appreciate it.

@emmt
Copy link
Owner

emmt commented Jul 26, 2021

Yes it would be nice to be able to specificy other registries but I've never heard about this possibility. This may be a question to ask on Julia discourse, there is a lot of knowledge shared there and people are very helpful.

@JeffFessler
Copy link
Contributor Author

Thanks for the suggestion. The answer is that the Julia general registry is the only way:
https://discourse.julialang.org/t/inter-registry-dependencies/56932/5

The Julia issue you linked above looks to be "just" a performance issue. Your package is already useful (to us at least) even with its current performance level so it sure would be great to have it registered. I think everyone understands that it will get better as Julia performance improves.

@emmt
Copy link
Owner

emmt commented Jul 29, 2021

OK I will add LinearInterpolators to the General registry. But LinearInterpolators depends on InterpolationKernels which is in my registry, not in General. So I first add InterpolationKernels to General (which, as a first registration, will take a couple of days) and then will register LinearInterpolators (again an additional couple of days, not taking into account that I will be in vacations).

@emmt
Copy link
Owner

emmt commented Jul 29, 2021

BTW, the package InterpolationKernels has a new branch (incompatible with the current LinearInterpolators) with many changes and improvements. I will soon update LinearInterpolators to work with InterpolationKernels but this may introduce incompatibilities for you (the old version will remain in the 0.1 branch, while the new version will be in the 0.2 and subsequent branches). I anticipate the following changes:

  • SparseUnidimensionalInterpolator{T,S,D} will become SparseSeparableInterpolator{D,T,S}. Note the different order of type parameters which is intended to avoid type instability.
  • TabulatedInterpolator will be removed in favor of SparseSeparableInterpolator (formely SparseUnidimensionalInterpolator which was very similar to TabulatedInterpolator).
  • apply(ker::Kernel, ...) and apply!(dst,ker::Kernel,...) replaced by interpolate and interpolate! to avoid type piracy (the apply and apply! methods are imported from LazyAgebra while the kernel type of ker is provided by InterpolationKernels).
  • New LazyInterpolator and LazySeparableInterpolator which compute interpolation coefficients on the fly and thus consume almost no memory even though they are not as fast as SparseInterpolator and SparseSeparableInterpolator if applied multiple times (e.g., in iterative methods).

@JeffFessler
Copy link
Contributor Author

Closing because it got registered - yay and thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants