The linear complementarity problem can be viewed as the problem of minimizing subject to and . The authors are interested in finding a point with for a given . The algorithm proceeds by iteratively reducing the potential function , where, for example, . The direction of movement in the original space can be viewed as follows. First, apply a linear scaling transformation to make the coordinates of the current point all equal to 1. Take a gradient step in the transformed space using the gradient of the transformed potential function, where the step size is either predetermined by the algorithm or decided by line search to minimize the value of the potential. Finally, map the point back to the original space. A bound on the worst-case performance of the algorithm depends on the parameter, which is defined as the minimum of the smallest eigenvalue of a matrix of the form where X and Y vary over the nonnegative diagonal matrices such that and . If M is a P-matrix, is positive and the algorithm solves the problem in polynomial time in terms of the input size, , and . It is also shown that when M is positive semi-definite, the choice of yields a polynomial-time algorithm. This covers the convex quadratic minimization problem.