arameters not set by user</a></li><li><a href="#4">Compute the first term of the gradient that won&#8217;t change throughout the function</a></li><li><a href="#5">Assert that the dimensions of the input corresponds to an NNLS problem</a></li><li><a href="#6">Compute the second term (the Gramian matrix) that does not change throughout the function</a></li><li><a href="#7">Loop until all sub-problems have been solved to within desired accuracy</a></li><li><a href="#9">Projected gradient descent with exact lin