Zaslat SMS: Dual space preconditioning for gradient descent