title: CVXPY returns Infeasible/Inaccurate on Quadratic Programming Optimization Problem
body: <p>I am trying to use CVXPY to solve a nonnegative least squares problem (with the additional constraint that the sum of entries in the solution vector must equal 1). However, when I run CVXPY on this simple quadratic program using the SCS solver, I let the solver run for a maximum of 100000 iterations, and I run into an error in the end saying that the quadratic program is infeasible/inaccurate. However, I am quite confident that the mathematical setup of the quadratic program is correct (such that the constraints of the problem should not be infeasible). Moreover, when I run this program on a smaller A matrix and smaller b vector (having only the first several rows), the solver runs fine. Here is a snapshot of my code and current error output:</p>
  <pre><code>x = cp.Variable(61)
  prob = cp.Problem(cp.Minimize(cp.sum_squares(A @ x - b)), [x &gt;= 0, cp.sum(x) == 1])
  print('The problem is QP: ', prob.is_qp())
  result = prob.solve(solver = cp.SCS, verbose = True, max_iters = 100000)
  print(&quot;status: &quot;, prob.status)
  print(&quot;optimal value: &quot;, prob.value)
  print(&quot;cvxpy solution:&quot;)
  print(x.value, np.sum(np.array(x)))
  </code></pre>
  <p>And below is the output:</p>
  <pre><code>The problem is QP:  True
  ----------------------------------------------------------------------------
      SCS v2.1.1 - Splitting Conic Solver
      (c) Brendan O'Donoghue, Stanford University, 2012
  ----------------------------------------------------------------------------
  Lin-sys: sparse-direct, nnz in A = 2446306
  eps = 1.00e-04, alpha = 1.50, max_iters = 100000, normalize = 1, scale = 1.00
  acceleration_lookback = 10, rho_x = 1.00e-03
  Variables n = 62, constraints m = 278545
  Cones:  primal zero / dual free vars: 1
      linear vars: 61
      soc vars: 278483, soc blks: 1
  Setup time: 1.96e+00s
  ----------------------------------------------------------------------------
   Iter | pri res | dua res | rel gap | pri obj | dua obj | kap/tau | time (s)
  ----------------------------------------------------------------------------
       0| 5.73e+18  1.10e+20  1.00e+00 -4.09e+22  1.55e+26  1.54e+26  1.47e-01 
     100| 8.00e+16  9.05e+18  1.79e-01  1.60e+25  2.29e+25  7.01e+24  8.82e+00 
     200| 6.83e+16  6.25e+17  8.10e-02  1.66e+25  1.95e+25  2.93e+24  1.81e+01 
     300| 6.62e+16  1.42e+18  1.00e-01  1.60e+25  1.96e+25  3.56e+24  2.61e+01 
     400| 9.49e+16  3.76e+18  1.98e-01  1.64e+25  2.45e+25  8.07e+24  3.39e+01 
     500| 6.24e+16  1.69e+19  3.12e-03  1.74e+25  1.75e+25  9.06e+22  4.20e+01 
     600| 8.47e+16  5.06e+18  1.42e-01  1.65e+25  2.20e+25  5.47e+24  5.04e+01 
     700| 8.57e+16  4.41e+18  1.55e-01  1.64e+25  2.25e+25  6.04e+24  5.79e+01 
     800| 6.03e+16  1.60e+18  1.30e-02  1.72e+25  1.77e+25  4.50e+23  6.51e+01 
     900| 7.35e+17  2.84e+20  3.21e-01  1.56e+25  3.04e+25  1.46e+25  7.21e+01 
    1000| 9.11e+16  1.38e+19  1.40e-01  1.68e+25  2.23e+25  5.46e+24  7.92e+01 
  .........many more iterations in between omitted........
  99500| 2.34e+15  1.56e+17  1.61e-01  3.30e+24  4.57e+24  1.27e+24  5.32e+03 
   99600| 1.46e+18  1.10e+21  9.12e-01  2.56e+24  5.55e+25  5.26e+25  5.33e+03 
   99700| 1.94e+15  1.41e+16  8.97e-02  3.40e+24  4.07e+24  6.71e+23  5.34e+03 
   99800| 3.31e+17  6.68e+20  5.62e-01  2.71e+24  9.67e+24  6.91e+24  5.35e+03 
   99900| 2.51e+15  9.96e+17  1.03e-01  3.41e+24  4.19e+24  7.81e+23  5.35e+03 
  100000| 2.21e+15  3.79e+17  1.40e-01  3.29e+24  4.37e+24  1.07e+24  5.36e+03 
  ----------------------------------------------------------------------------
  Status: Infeasible/Inaccurate
  Hit max_iters, solution may be inaccurate
  Timing: Solve time: 5.36e+03s
      Lin-sys: nnz in L factor: 2726743, avg solve time: 1.60e-02s
      Cones: avg projection time: 7.99e-04s
      Acceleration: avg step time: 2.72e-02s
  ----------------------------------------------------------------------------
  Certificate of primal infeasibility:
  dist(y, K*) = 0.0000e+00
  |A'y|_2 * |b|_2 = 2.5778e-01
  b'y = -1.0000
  ============================================================================
  status:  infeasible_inaccurate
  optimal value:  None
  cvxpy solution:
  None var59256
  </code></pre>
  <p>Does anyone know why: (1) CVXPY could be failing to solve my problem? Is it just a matter of more solver iterations being needed? And if so, how many? and (2) What do the column names &quot;pri res&quot;, &quot;dua res&quot;, &quot;rel gap&quot;, etc. mean? I am trying to follow the values in these columns to understand what is happening during the solve process.</p>
  <p>Also, for those who would like to follow along with the dataset that I'm working with, <a href="https://drive.google.com/file/d/19YyUAUR1AdjjsDDfGB3ZbIQApwVcxX8w/view?usp=sharing" rel="nofollow noreferrer">here</a> is a CSV file holding my A matrix (dimensions 278481x61) and <a href="https://drive.google.com/file/d/15uD7fhli3apAVY938T4xdB8ZjDZcrIMK/view?usp=sharing" rel="nofollow noreferrer">here</a> is a CSV file holding my b vector (dimensions 278481x1). Thanks in advance!</p>