Difference between real time and imaginary time propagation? Suppose I want to solve a non-linear Schrödinger equation using imaginary time propagation to get the ground state solution. I choose $t = - i \tau$, and then solve the equation using the split-step Crank-Nicholson method. All the excited states will decay faster than the ground state and eventually, only the ground state remains.
Suppose, I would like to check whether the obtained solution is stable or not. To that end, I would add a small perturbation to the obtained solutions and evolve it. If the solution is stable, it should converge back to its unperturbed state, if not, it will diverge.
My question is whether it is possible to do the second part using imaginary time propagation? Can somebody tell me where to use and where not to use the real time and imaginary time propagation, respectively?
 A: You pretty much answered it for yourself. If you're really concerned with getting a stable solution with imaginary time for the ground state, you shouldn't be perturbing it a little. Instead, you might want to start out with a completely different initial wavefunction than the one you used to begin with.
Basically, imaginary time is used to find the ground state, as you are doing. Real time propagation is for studying dynamics. You can test your initial state solution by propagating in real time and checking that it doesn't change. You can try the little perturbation test, and you should get back to the right solution (although I don't know how much this really tells you).
Note that I've only done this in the context of Bose-Einstein condensation, so there might be other factors to consider if you're studying something different, although I can't think of any. If you have a "good" potential (no numerical singularities) and a sensible nonlinear term (you're not pushing the limits of your solver with huge or hugely small numbers) then you shouldn't have any problems.
A: Agreed, if you are using the imaginary time evolution method (ITEM), this will give you a ground state for a given frequency. As far as stability goes, the ITEM only converges to linearly stable solutions, so if you get a ground state from the ITEM it is linearly stable. See, for example, the accelerated time evolution paper of Jianke Yang's 
http://www.emba.uvm.edu/~jxyang/AITEM.pdf
