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

[Feature]: interface with QuantumOptics.jl #85

Closed
1 of 9 tasks
aarontrowbridge opened this issue May 6, 2024 · 4 comments · Fixed by #121
Closed
1 of 9 tasks

[Feature]: interface with QuantumOptics.jl #85

aarontrowbridge opened this issue May 6, 2024 · 4 comments · Fixed by #121
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers unitaryhack issue Issue is bountied for unitaryhack hackathon

Comments

@aarontrowbridge
Copy link
Member

aarontrowbridge commented May 6, 2024

Feature Description

It would be great to have the functionality to build QuantumSystems using operators from QuantumOptics.jl. This should be a very simple PR that adds a dependency for QuantumOptics and creates a method for QuantumSystem.

Implementation Guidelines

  • A file should be added to the directory src/quantum_system_templates, matching the style of the files therein.
  • Add a doc script to the folder docs/literate/man
    • see the Literate.jl docs and the other scripts in the docs/literate folder
  • Add a file to test with some simple tests for the functions exported

Importance

2

What does this feature affect?

  • quantum system construction
  • problem setup
  • problem solution
  • problem performance
  • solution analysis
  • plotting
  • documentation
  • tests
  • other (please specify below)

Other information

No response

@aarontrowbridge aarontrowbridge added enhancement New feature or request good first issue Good for newcomers labels May 6, 2024
@aarontrowbridge
Copy link
Member Author

I think this should potentially interface with QuantumToolbox.jl, if this is implemented using that we can close this issue.

@aarontrowbridge aarontrowbridge added the unitaryhack issue Issue is bountied for unitaryhack hackathon label May 30, 2024
@maxwell04-wq
Copy link
Contributor

maxwell04-wq commented May 31, 2024

I'm currently working on this issue. However, I am stuck at implementing the quantum optics system, especially the Hamiltonians for the systems to be implemented. Can you please share a reference paper, article, etc. for help in the implementation?

So far, I understand that this problem can be solved using the Jaynes-Cummings model (which is already implemented here.

@aarontrowbridge
Copy link
Member Author

So what we're looking for is really just a function that accepts operators, specifically Hermitian operators, defined in QuantumOptics.jl, extracts the data and creates a QuantumSystem object, something like:

function QuantumSystem(H_drift::Operator, H_drives::Vector{Operator})
    ...
    return QuantumSystem(data_from_H_drift, data_from_H_drives)
end

@aarontrowbridge
Copy link
Member Author

Ideally the operators will be sparse matrices, see this method in quantum optics for getting sparse representations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers unitaryhack issue Issue is bountied for unitaryhack hackathon
Projects
None yet
2 participants