Quantum state purification