Hi OSQP team,

We are using the Python OSQP package to solve convex quadratic problems sequentially. The P matrix is constant through all these iterations, while constraints matrix A and vectors q, l and u depend on some time dependent information, hence need to be modified at each iteration.

In our first implementation, at each iteration we do something like:

```
P = compute_P()
for t in timesteps:
A, q, l, u = compute_A_q_l_u()
solver = osqp.OSQP()
solver.setup(P=P, q=q, A=A, l=l, u=u)
solution = solver.solve()
```

It yields the expected solutions.

For performance purposes, we are trying a second implementation where we take advantage of the `update`

function to efficiently update the quadratic problem and resolve it. At each iteration we do something like:

```
P = compute_P()
solver = osqp.OSQP()
first_use = True
for t in timesteps:
A, q, l, u = compute_A_q_l_u()
if first_use:
solver.setup(P=P, q=q, A=A, l=l, u=u)
first_use = False
else:
solver.update(q=q, l=l, u=u)
solver.update(Ax=A.data)
solution = solver.solve()
```

However this sometimes yield inaccurate solves (not on the first use at t=0), which never happens when using implementation 1.

I have uploaded here a minimal reproducible example to exhibit the problem we are facing. At this point, we are struggling to figure out whether we are doing something wrong and misusing the `update`

function or if this could be due to a bug in the OSQP library.

OSQP package version:

osqp 0.6.2.post0 py37he8f5f7f_3 conda-forge

Your feedback would be much appreciated !

Best regards and happy holidays,

Quentin Vanderlinden