Looking for a gmic + python scripter to help me out here.

The indices aren’t actually off. What I did was inserted values into the hamiltonian image directly from the creation of a new image. #3 indice don’t exist until the creation of image is finished. Another good example of this technique is rep_pfrac.

1 Like

Got it. counter controller doesn’t really exist as the last item on the stack. OK…

@Reptorian
Looks like we make the same kind of diagonals on quantum_torus_small.png @ N=30. They diff to zero. I like your diagonalizer the best. I think we can check off the diag() implementation on the todo. Got to work a bit on @David_Tschumperle -meigen to pull the eigen_vectors from the math expression environment through to the command line. Or use the math expression parser with -exp{math_lib} and pull from meig(A,m,n) via the math expression’s store().
Don’t know when I can pick that up; it’s up for grabs. Hopefully can pick it up toward the end of the week. Stay tuned… Almost home…

gosgood@bertha ~/git_repositories/SchrodingerWellPython $ gmic osg_hamiltonian.cimg rep_hamiltonian.cimg -sub[-2,-1][gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input file 'osg_hamiltonian.cimg' at position 0 (1 image 900x900x1x1).
[gmic]-1./ Input file 'rep_hamiltonian.cimg' at position 1 (1 image 900x900x1x1).
[gmic]-2./ Subtract images [0,1].
[gmic]-1./ Display image [0] = 'osg_hamiltonian.cimg'.
[0] = 'osg_hamiltonian.cimg':
  size = (900,900,1,1) [3164 Kio of floats].
  data = (0,0,0,0,0,0,0,0,0,0,0,0,(...),0,0,0,0,0,0,0,0,0,0,0,0).
  min = 0, max = 0, mean = 0, std = 0, coords_min = (0,0,0,0), coords_max = (0,0,0,0).
[gmic]-1./ End G'MIC interpreter.

@grosgood Have you been able to solve it?

1 Like

Still a WIP.
@David_Tschumperle brings forth eigenvalues only on command line -meigen and its underlying math expression equivalent meig(A,m,n). As I was rummaging through his implementation in ,gmic_stdlib.gmic, became increasingly disgusted with myself on the “plugging the numbers, turning the crank” approach. Don’t like it when I’m finding myself trying to find eigenvalues and eigenvectors of giganormous matrices. Feels like the dumb näif approach, numerically speaking. Nice when you have a workstation with 128GB RAM, What about people with 8GB laptops? So I took a step back to ask myself 'What am I doing?"

I believe what I’m doing is depicted here, solving for the ψi (the wave functions) in this “Shrodinger’s Equation” for energy levels, where the Hamiltonian operator (Ho) is in play. The solution is a numerical one (not analytic), so that the solution looks like a square data set of particle probabilities p at discrete <x>,<y> locations. This being quantum mechanics, Shrodinger’s Equation is true for only discrete energy levels. Finding (some) of those energy levels involves extracting eigenvectors (a.k.a eigenfunctions), the ψi, and eigenvalues, the Ei. These ψi are the basis of the pretty pictures.

I don’t understand the analytic justification for the mechanics behind this construction of Ho, unrolling the well (seed) image into off-diagonal coefficients, the scaling and spacing of the off-diagonals and the main. I want to grasp that basis - connect those dots - and, from that, grasp if there is any way better than this näive “follow-your-nose” approach that we seem to be doing. So I’ve made progress, I think, in coming to know what I don’t know. `Tis the negative that shapes the positive, and all that. I feel halfway up to writing my own version of -meigen that solves for the ψi in a not-so-memory sprawling way. Another weekend, maybe.

1 Like

Notes for me to come back to…
Useful search terms for Google: schrodinger’s energy equation numerical solution
From Boston University. Pay particular attention to Section 4, techniques in construction of Ho : Numerical Solutions of the Schrödinger Equation, Dr Anders W. Sandvik. Steep reading for one rusty in quantum mechanics (me! me!), but tractable, given enough cups of coffee…

1 Like