The Gradient Projection Method for Nonlinear Programming. Part I. Linear Constraints | Synapse