Group Abstract Group Abstract

Message Boards Message Boards

6
|
1.6K Views
|
31 Replies
|
17 Total Likes
View groups...
Share
Share this post:
GROUPS:

[WSG25] Daily Study Group: Quantum Optics and Second Quantization

A Wolfram U Daily Study Group on Quantum Optics and Second Quantization begins on Monday, April 7, 2025 at 11:00 AM CDT.

Join me (@Bruno Tenorio), @Sebastian Rodriguez and a group of fellow learners to learn about the fundamentals of quantum optics using the Wolfram Quantum Framework. Our topics for the study group include field quantization, photonic states, interferometric experiments, atom-field interactions and open quantum systems.

A basic working knowledge of Quantum Mechanics and Wolfram Language is recommended.

Please feel free to use this thread to collaborate and share ideas, materials and links to other resources with fellow learners.

April 7th-April 11th,
11:00 AM CDT

REGISTER HERE

enter image description here

POSTED BY: Bruno Tenorio
31 Replies
Posted 21 days ago

Hello Bruno,
Problem no.6 in Quizz was asked about whether state remains pure all the time during evolution in Optical balance example. My conclusion after doing the plot was option c) There are times it can become a mixed state, but after a while it converges to a pure state. But, the quizz says its wrong and Option a) Yes, always is correct. Can you point out my mistake? I am still learning to code in Mathematica.
Thank you
Purity

POSTED BY: Shashi Kumar
Posted 21 days ago

Hi! Well the idea was not to post answers of the questions of the quiz, but i see there is some issue in this question and i am glad you are testing the code and changing it. Yes using "Purity" property and doing a plot is the way to go. Remember we have non unitary dynamics in Lindblad equation so this behavior is possible, so what are you saying is correct. I will update the correct answer , thank you.

PD: If you think something is wrong with the quiz is better that you email me to brunot@wolfram.com first, but if you have general questions about how to do something then do it here

POSTED BY: Updating Name

I want to piggy back on that question.

  1. I found the queries MixedStateQ and PureStateQ which help me answer (incorrectly) this question. I wonder why I did get an incorrect answer as i basically evolved the state for a discrete set of times, placed the output in a table and queried the status of each QuantumState using the above two functions.
  2. One way to test for purity is by verifying that $\rho^2=\rho$. Is there a way to convert QuantumState to an array so it can be manipulated as a matrix (so one can check the eigenvalues for instance), or alternatively is there a way from $\rho$ to multiply it by itself? I was unsuccessful in my attempts.
POSTED BY: Hubert de Guise

Ask for "DensityMatrix" property:

QuantumState[...]["DensityMatrix"]
POSTED BY: Mohammad Bahrami

Nice! Thanks.

POSTED BY: Hubert de Guise

Also if you want to keep working with the objects of the framework, you use the density operator as a QuantumOperator using the "Operator" property and that solves the problem of not being able to square a state. So there are many ways to do things :)

POSTED BY: Bruno Tenorio

Thanks. That's helpful.
You're right I should have been careful with roundoffs, although I didn't realize that PureStateQ would compare to an integer.

POSTED BY: Hubert de Guise

Is there an easy way to go in the reverse direction, i.e. start with a (valid) density matrix and turn it into a QuantumState (presumably under some mild assumptions about the ordering and labeling of basis states)?

@Bruno Tenorio Your comment about staying in the framework is well made but of course in a broader context some computations (using older codes) may well be done outside the framework so importing/exporting to and from standard Mma synthax is very useful.

POSTED BY: Hubert de Guise

Yes sure, QuantumState can also accept a density matrix, you just have to be explicit with your intended dimensions of the system. Yes labeling of states will change depending on that, i am showing the syntax assuming a i have a valid 8x8 matrix in some variable mat.

About the other comment, yes of course depending on your needs you can just use the framework for intermediate calculations, and then just extract the information you want with properties like "AmplitudeList", "DensityMatrix", etc.

POSTED BY: Bruno Tenorio

Brilliant! Thanks.

POSTED BY: Hubert de Guise

Another comment is that for numerical explorations is not recommended to use "PureStateQ" ( it will only return True if it is the exact number 1). So it is better to keep track of "Purity" property for this question. Always be careful of the distinction between of exact pure state definitions and states that are pure within numerical precision.

POSTED BY: Bruno Tenorio

But still read carefully all alternatives, what are you saying is correct for this particular case. Im going to post an update to the correct answer but i am not saying the correct one :)

POSTED BY: Bruno Tenorio
Posted 27 days ago

I'm trying to just evaluate today's notebook, but the evaluation is hung on the second input (QOE = QuantumEvolve [H/h, None, t];) for over 20 minutes. I'm running v 14.1 of Mathematica in Win 10 Pro. Should it be taking this long to evaluate this input?

POSTED BY: Updating Name

No it should not take that long :(. In my end it takes around 3 seconds. Maybe you didnt load the framework?

POSTED BY: Bruno Tenorio
Posted 1 month ago

I am getting an error with yesterday's lesson notebook. Please see attached file. Thanks

Attachment

Attachments:
POSTED BY: Bob Renninger

I can not reproduce the error you encountered and it shouldnt happen, did you run everything in order? Try changing that line to

cohBS = Exp[(\[Alpha]coh a1[
        "Dagger"] - \[Alpha]coh\[Conjugate] a1)] @ FockState[{0,0}]// Chop
POSTED BY: Bruno Tenorio
Posted 1 month ago

The change you recommended got rid of the error, but I'm not sure the rest of the section is right. Somehow that plot doesn't look right. What do you think?

Thanks for your help. Bob

Attachments:
POSTED BY: Bob Renninger

The notebook from yesterday session has been updated. It should work now if you run everything. Thanks for your comment.

POSTED BY: Bruno Tenorio

Dear Bruno,

I know you already mentioned in the course how the formulas that appear in your Mathematica notebooks are written, but honestly, it wasn't clear to me. I apologize, but I'm curious, so I'm asking you to please write a little here.

When I write formulas in a notebook, I normally use CTRL-4 to start typing in LaTeX and then press Enter and the formula appears. However, in your notebooks, when I click on your formulas, an orange box appears, and when I close it, the expression becomes much smaller.

Sincerely Francisco Soto Eguibar

Hi Francisco,

Actually i use CTRL+4 too, but i have MaTeX installed https://resources.wolframcloud.com/FunctionRepository/resources/MaTeXInstall/ so it overrides the default inline latex. MaTeX display of equations is a bit nicer and i can automatically change the size (for example setting it in my init.m file). If you do not have MaTeX it just uses the default CTRL+4 behavior, and that is what happens when you click the equation.

POSTED BY: Bruno Tenorio

Dear Bruno,

Perfect, I understand. I actually wasn't familiar with MaTex, thanks for the info.

Best regards (Gracias y muchos saludos)

Francisco Soto Eguibar

I am posting some material that was being requested. Actually there was some detail about that tricky poll question , the wording was not explicit enough so sorry about that!

POSTED BY: Bruno Tenorio

Is there a "normal ordering" feature so that one can normal-order long sequences of multi-mode creation and destruction operators?

POSTED BY: Hubert de Guise

We have Ordering option for DisplacementOperator and SqueezeOperator, however, for doing the type of manipulation you are asking we need exact commutation relations . I would say for that purpose a rule-based approach is more suitable (maybe from other paclets?), and then pass to Wolfram QuantumFramework when you have a concrete sequence of operators.

POSTED BY: Bruno Tenorio

Allo, When I run commands such as QuantumOperator or Quantum state I don't get the same output as you. For instance: enter image description here

Is there a way to get the output to default to //TraditionalForm ?

POSTED BY: Hubert de Guise

Like was said in the class, you can use Ctrl+Shift+T, or // TraditionalForm. Defaulting to TraditionalForm can be an issue when you have a state or operator in a big Hilbert space, so i think it is good that the object is a QuantumState and only use TraditionalForm when needed.

POSTED BY: Bruno Tenorio

Thanks I musta missed that comment.

POSTED BY: Hubert de Guise
Posted 23 days ago
POSTED BY: Bob Renninger

We are looking forward to this study group next week :-)

POSTED BY: Mohammad Bahrami

Looking forward to this event! For our users, we will have another quantum study group soon, too: https://community.wolfram.com/groups/-/m/t/3397970

Do not miss them :-)

POSTED BY: Mohammad Bahrami

Hello!

We recommend installing the Wolfram Quantum Framework in preparation for this Daily Study Group: https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/QuantumFramework/

Photonic Second Quantization documentation: https://wolfr.am/1tscRdMNP

POSTED BY: Bruno Tenorio
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard