qojulia / quantumoptics.jl-examples Goto Github PK
View Code? Open in Web Editor NEWExamples for QuantumOptics.jl
Home Page: http://qojulia.org
Examples for QuantumOptics.jl
Home Page: http://qojulia.org
I noticed a typo in the documentation as it is currently on the website. In the nparticles-in-double-well example the first print command, println(E)
, for some reason only shows the first two characters, [7
. I traced this back to the corresponding markdown file created with the make.jl file, which uses nbconvert
. I tried numerous things like removing the semicolon in the line above or merging the markdown cells below the print command but to no avail. This appears to be a very weird, but minor bug. We should eventually look into it.
Hi,
I'm quite interested in the concepts of Lazy operators and their algebra. The usage of LazySum, LazyProduct, etc has been demonstrated by examples like harmonic traps and barriers. When I think about solving a two-particle system, I found a class called "LazyTensor". I guess this class is implemented as the tool for many-particle systems, but I'm not very confident in using it since I didn't find much documentation or any examples related to it. I wonder whether there is any plan to add a few examples about it.
Maybe one quick question about some details. In the constructor, there is two basis objects: b1 and b2. Does it mean that all operators in the "operators" array should be maps from the space with b1 to the space with b2? For example, if I define
b_pos = PositionBasis(-10, 10, 200)
b_mom = MomentumBasis(b_pos)
T_px = transform(b_mom, b_pos)
T = LazyTensor(b_pos, b_mom, [1,2], [T_px, T_px])
I will obtain a change-of-basis operator from the position rep to the momentum rep of the two-particle system?
Thanks for the help!
Cheers,
Zheng
When using alg=ISSEM()/ImplicitEM()
found at https://docs.sciml.ai/latest/solvers/sde_solve/ an ArgumentError is thrown.
"LoadError: ArgumentError: Cannot create a dual over scalar type Complex{Float64}. If the type behaves as a scalar, define FowardDiff.can_dual."
The exact modification I have done is:
tout, ฯt = stochastic.master(T, ฯ0, H, J, C; rates=rates, alg=StochasticDiffEq.ISSEM())
Presumably, this is because the Hamiltonian is complex and differentiating over complex numbers seems to be disabled by default in the ForwardDiff package.
Posting to ask if there's a workaround to this.
Hi all,
I got one question when reading the "wavepacket2D" example carefully. In defining the 2D Gaussian potential, we have
potential(x,y) = exp((-x^2-y^2)/30.) V = diagonaloperator(b_comp_x, [potential(x, y) for x in xsample for y in ysample]);
I wonder whether the ordering in the square bracket is correct. Note that the for loop of y is nested inside the for loop of x. Therefore, the (xi,yj) term is the (i-1)d + j 's entry in the list. It seems to me that this ordering is the "kron" ordering, while qojulia uses the column-ordered convention.
So is it a mistake, or is it due to my own misunderstanding? Of couse, in this case of Guassian potential, it is symmetric between x and y. On the other hand, if I have an operator of the form tensor(A(x),B(y))
, the problem by the ordering will matter. If we look at the action Tensor(A(x),B(y))
on |x,y>, the (x,y) entry in the operator is at position (x-1)d + y, while the (x,y) entry of the ket is at position x + (y-1)d. It seems the operator matrix constructed in this way does not act on the correct column matrix of the state.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.