How can write Dirac bra-ket notation in MATLAB? Example please.
조회 수: 29 (최근 30일)
이전 댓글 표시
Bra-ket notation is | > , <|
댓글 수: 3
Image Analyst
2022년 12월 22일
@Idrees Muhammad You accepted the answer below so we assume you figured it out and got it working. 🙂 Thanks for accepting and awarding @Bjorn Gustavsson "reputation points".
채택된 답변
Bjorn Gustavsson
2022년 12월 22일
That depends on what you want to apply the bra-ket on. If it is simple vectors you might get away with simple inner-products using dot. If you have some more advanced objects (wave-functions, and some quantum-mechanical operator) you might start with something like:
function Q = bra_ket(Psi,Phi,f_op)
Q = integral3(@(r1,r2,r3) Psi(r1,r2,r3).*f_op(Phi(r1,r2,r3)),r1min,r1max,r2min,r2max,r3min,r3max)
end
(There should surely be a conjugation in there somewhere). This might run into problems when you need to calculate gradients for the operator acting on Phi for example, the function should be in the integral3-call should be capable to handle vectorized input and that might require some ingenuity.
If you have wave-functions on some finite grid you might get something starting with trapz:
function Q = bra_ket_traps(Psi,Phi,f_op,r1,r2,r3)
opPhi = f_op(Phi,r1,r2,r3); % Here you might need additional argument
Q = trapz(r3(1,1,:),trapz(r2(1,:,1),trapz(r1(:,:,1),conj(Psi).*(opPhi)),2),3);
end
You might also have some good use of the chebfun-toolbox for more clever tools. You can find it on the file exchange.
HTH
댓글 수: 5
Bjorn Gustavsson
2023년 2월 10일
What are yout Psi, Phi? Wavefunctions defined in what way? What dimensionality are your problem? What is the operator f_op? Does f_op work on Phi and Psi in the way you intend?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Quantum Mechanics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!