You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unless we set scaling=0 in the derivative unit tests, we observe different results in derivatives w.r.t. the Python implementation. Some helpful comments from Bart:
It makes sense that scaling has a special effect on the C side since data is rescaled there. However, the C side should unscale the results before returning them. Otherwise the differentiation will not work.
For the backward (adjoint) derivative, the results have the shape of the data. I suspect you just need to unscale them using the unscale_data function. (and use (dP, dq, dA, dl, du) instead of (P, q, A, l, u).
For the forward derivative, I believe you should use unscale_solution over (dx, dy) instead of (x, y).
The text was updated successfully, but these errors were encountered:
Update on this: scaling=0 is no longer a requirements for the unit tests. However, this is being done by unscaling P/q/l/u on the C side of things. A better/faster way may have to be found.
Unless we set
scaling=0
in the derivative unit tests, we observe different results in derivatives w.r.t. the Python implementation. Some helpful comments from Bart:It makes sense that scaling has a special effect on the C side since data is rescaled there. However, the C side should unscale the results before returning them. Otherwise the differentiation will not work.
For the backward (adjoint) derivative, the results have the shape of the data. I suspect you just need to unscale them using the unscale_data function. (and use (dP, dq, dA, dl, du) instead of (P, q, A, l, u).
For the forward derivative, I believe you should use unscale_solution over (dx, dy) instead of (x, y).
The text was updated successfully, but these errors were encountered: