A new quasi-Newton scheme for updating a low rank positive semi-definite Hessian approximation is described, primarily for use in sequential quadratic programming methods for nonlinear programming. Where possible the symmetric rank one update formula is used, but when this is not possible a new rank two update is used, which is not in the Broyden family, although invariance under linear transformations of the variables is preserved. The representation provides a limited memory capability, and there is an ordering scheme which enables 'old' information to be deleted when the memory is full. Hereditary and conjugacy properties are preserved to the maximum extent when minimizing a quadratic function subject to linear constraints. Practical experience is described on small (and some larger) CUTE test problems, and is reasonably encouraging, although there is some evidence of slow convergence on large problems with large null spaces.