QuantumToolbox.jl icon indicating copy to clipboard operation
QuantumToolbox.jl copied to clipboard

interoperability with other packages in the quantum julia ecosystem

Open Krastanov opened this issue 1 year ago • 3 comments

Hi, folks! How receptive is the team of the following two suggestions:

  • adding a package extension to QuantumToolbox so that it can ingest objects from QuantumOptics.jl and convert them to QuantumToolbox objects
  • adding a package extension to QuantumSymbolics.jl, so that symbolic objects can be converted to QuantumToolbox objects

Krastanov avatar Aug 01 '24 16:08 Krastanov

Hi @Krastanov,

I think that it is fine to make some extensions with other packages of Quantum stuff. As far as I know, an extension does not influence the package dependencies or the compilation time (correct me if I’m wrong). So, there is no reason in principle to reject a request for making an extension. We are open to these things.

However, I would like to point out a few things. First, we are non directly interested in the other two packages at the moment. So, we do not guarantee a direct support to those extensions, but we are open to anybody else doing this. Second, I don’t know how clever is making an extension for a package like QuantumOptics.jl, since their working principle is basically the same of QuantumToolbox.jl, and one user should use either one package or the other. Indeed, these two packages have very similar functionalities (but very different in syntax and internal structure), and there is no reason to use both of them simultaneously. This is different to QuantumSymbolics.jl, where there is the possibility that somebody use it together with QuantumToolbox.jl.

albertomercurio avatar Aug 07 '24 07:08 albertomercurio

Thanks, Alberto! Extensions indeed do not affect loading time, time to first use, or precompilation time, if the other package is not present. The utility of a conversion extension with QuantumOptics would be for the downstream user when performing benchmarks or correctness checks or for the downstream developer when setting up interchangeable backends.

Krastanov avatar Aug 07 '24 11:08 Krastanov

For the moment we prefer to not implement an extension for QuantumOptics.jl. As I said before, the two packages are very similar in terms of purposes of use. One can always create a separate module for making interchangeable backends.

On the other hand, we are open to make an extension for QuantumSymbolics.

albertomercurio avatar Aug 16 '24 11:08 albertomercurio