apologies if I don't give all the information needed I'm a bit out of my depth here.
I have a multivariate optimisation (I think) problem:
y = f(x)
Where x and y are both vectors of the same length (n). The function is basically a 2d convolution (so x1, y1 relate to the same node) but I only want to solve it on some of the nodes so here they are just both vectors. (outside the set nodes x is always 0). To be clear I have 'set' values for y and I am trying to find the values for x that give them.
I have an expression for the jacobian and it is constant (an n by n matrix of different constants, the matrix never changes). But I have some non-linear constraints: Firstly, x must be greater than or equal to 0 Secondly, y can be greater than it's set point but only if the corresponding x is equal to 0. The problem is always exactly solvable with these two constraints and all values in the jacobian are positive.
Does anyone know what sort of solver I could use for this problem? The rest of the project is in python and it would be really useful if there was something in scipy but I can't find anything. At most n would be ~10^6, but typically ~2.5*10^5 or less.