How can I make probabilty calculation with the eigenwavefunction gathered by eigs() function in MATLAB?
Show older comments
h = 0.0454973;
n = 10;
V = 545.0362942355468 - 1998.817146282548*x + 2980.608037604876*x^2 - 2314.110473743709*x^3 + 989.3591697175247*x^4 - 221.48586861701781*x^5 + 20.33254549765507*x^6;
%% Eigenvalue computation:
[xmin, xmax] = domain(V); % domain of problem
% Create a CHEBOP with Dirichlet BCs
L = chebop([xmin, xmax]);
L.lbc = 0; L.rbc = 0;
L.op = @(x,u) -h^2*diff(u,2) + V.*u; % Schroedinger operator
[U, D] = eigs(L, n, 'sr'); % compute evals/efuns
d = diag(D); % vector of evals
[d, ii] = sort(d); % sort them
U;
U = U(:,ii);
plot(U(:,8))
Here is the code that I am using for finding eigenfunction and eigenvalue. I can manage to graph the eigenfunction by using the last code line. However, I don't know how to convert the U into something that can be integrable to calculate probabilty of corresponding eigenfunction. Can someone help me?
1 Comment
David Goodmanson
on 11 Aug 2021
Hi semih,
do you mean probabilty of the corresponding eigenvalue?
You have a set of orthonormal eigenfunctions U. For probabilities you would appear to need a wave function Y from somewhere else so that you can calculate overlaps with the eigenvectors. So if Y is a chebfun, then
abs(sum(conj(Y).*U(:,n)))^2
is the probability if being in quantum state n.
Answers (0)
Categories
Find more on Quantum Mechanics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!