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

Split up QuantumOptics by DiffEq dependencies #417

Open
amilsted opened this issue Sep 23, 2024 · 2 comments
Open

Split up QuantumOptics by DiffEq dependencies #417

amilsted opened this issue Sep 23, 2024 · 2 comments

Comments

@amilsted
Copy link
Collaborator

OrdinaryDiffEq.jl is now a meta-package that pulls in a bunch of smaller packages, like OrdinaryDiffEqCore, OrdinaryDiffEqLowOrderRK. This splitting was done so that users of OrdinaryDiffEq can pick and choose what they need, avoiding precompilation overhead for unused code.

We could take advantage of this is QuantumOptics.jl, but currently we depend on StochasticDiffEq, which is not split up and pulls in all of OrdinaryDiffEq.

How about we split QuantumOptics.jl and make it a meta-package that pulls in new component packages QuantumOpticsTimeEvolution, QuantumOpticsStochastic, and QuantumOpticsSteadyState?

QuantumOpticsTimeEvolution could have its dependencies trimmed to only pull in the OrdinaryDiffEqCore and OrdinaryDiffEqLowOrderRK components of OrdinaryDiffEq.

This way users who e.g. only want to do Schrödinger and Master evolution can have a much lighter precompile load.

Thoughts? @Krastanov @david-pl @apkille

@Krastanov
Copy link
Collaborator

I am all in favor of this, it would be pretty useful for me. Regrettably, I can not volunteer time to perform that change near term myself.

@apkille
Copy link
Contributor

apkille commented Sep 23, 2024

@amilsted I am in favor as well. My bandwidth is a little low for the next couple of months due to other projects. I'd be happy to help contribute to this effort around the end of the year if no one else can.

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

No branches or pull requests

3 participants