Giter Club home page Giter Club logo

quantumoptics.jl-examples's People

Contributors

bastikr avatar christophhotter avatar datseris avatar david-pl avatar fabeulous avatar karolpezet avatar pythonix avatar raphael3d avatar stefan-o avatar wolfgang-n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quantumoptics.jl-examples's Issues

println() cut-off after two characters when using nbconvert

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.

Some examples about LazyTensor? (maybe two-particle interaction)

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

ArgumentError when using stiff solver algorithms for stochastic.master/master_dynamic

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.

wavepacket2D: ordering in defining the potential V(x,y)

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.