Comments (1)
I agree with you that it would be a nice feature to have the code be agnostic to the user's choice of ordering of the subspaces in the tensor product describing the composite basis. Because all tensor products are converted to 2D matrices, it does matter that this ordering be consistent everywhere and we must set some convention.
In principle, that convention could be enforced internally and the code could be made intelligent enough to recognize e.g. that the Hamiltonian is constructed in the order: ion ⊗ axial_mode ⊗ radial_mode but the initial state input to the solver is constructed in the order ion ⊗ radial_mode ⊗ axial_mode -- and then correct that on the fly. The correction could be implemented by reordering the Hamiltonian's description so that, provided the user's code was self-consistent, we would achieve the desired outcome.
However, to accomplish this we would need to wrap all of the QuantumOptics solver functions since these take the Hamiltonian and the initial state as separate inputs.
Since at some point we will probably move away from using QuantumOptics, I would vote that we put this on hold until then -- when the implementation will be much more natural.
In the meantime, I've updated the trap
documentation and have added a note in the getting_started.ipynb
notebook.
See 514b0f1 and let me know if you think the documentation is acceptable.
from ionsim.jl.
Related Issues (20)
- Improve parametrization of Ion struct
- set parameters HOT 1
- Lamb-Dicke orders cut off if timescale in hamiltonian is too large
- Incomplete `Laser` Definition/Unclear Abstraction
- Items for source code cleanup
- Define Configuration Schema for Ion Species HOT 1
- Thermal State "truncated" vs "analytic" HOT 1
- Issue installing due to TimeDependentSum HOT 2
- Python version HOT 3
- may 17 2022
- add "micromotion"
- Add M1 transitions HOT 3
- Split each code file into folders HOT 1
- Error: Some Julia code in the VS Code extension crashed HOT 3
- QuantumOpticsBase.IncompatibleBases() error upon executing timeevolution.master_dynamic() HOT 6
- typo in examples HOT 2
- Add example of using IonSim bases with QuantumOptics functions
- Add a constructor for an empty Trap
- Rename IonSim structs
- [IJulia issue] Fix IJulia rendering problem HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ionsim.jl.