line search implementations for use with grad descent