Skip to content

Split up QuantumOptics by DiffEq dependencies #417

@amilsted

Description

@amilsted

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions