I can approximate a simple harmonic oscillator as follows:
In[25]:= AbsoluteTiming[sho = cmpt[10000 (x - 1/2)^2, 5, 1/1000];]
During evaluation of In[25]:= {{Solve_Succeeded,1}}
During evaluation of In[25]:= {{Solve_Succeeded,1}}
During evaluation of In[25]:= {{Solve_Succeeded,1}}
During evaluation of In[25]:= {{Solve_Succeeded,1}}
During evaluation of In[25]:= {{Solve_Succeeded,1}}
Out[25]= {7.70231, Null}
energy levels
In[26]:= sho[[1]]
Out[26]= {99.9994, 299.997, 499.992, 699.985, 899.977}
test spacing
In[27]:= Table[sho[[1, n]]/(n - 1/2), {n, 5}]
Out[27]= {199.999, 199.998, 199.997, 199.996, 199.995}
In[28]:= Table[ListPlot[Table[{x, psi[x]}, {x, 0, 1, 1/100}] /. sho[[2, n]],
Joined -> True], {n, 5}]