On 2006-07-17, TG <[EMAIL PROTECTED]> wrote: > > Ben C wrote: >> On 2006-07-17, TG <[EMAIL PROTECTED]> wrote: >> > Hi there. >> > >> > Anyone knows how to use numpy / scipy in order to solve this ? >> > >> > * A is an array of shape (n,) >> > * X is a positive float number >> > * B is an array of shape (n,) >> > * O is an array of shape (n,) containing only zeros. >> > >> > A.X - B = O >> > min(X) >> >> Are we solving for A, B or X? And what do you mean by min(X)? >> >> If we're solving for X there will be many combinations of A and B for >> which there is no solution. > > Sorry for the poor explanation. I'm trying to put it clear now. > > i've got A and B. I'm looking for X. I made a mistake in my equation >:-/ > > It's more like : > > A.X - B >= O
How about this: from random import * def solve(A, B): return reduce(max, (float(b) / a for a, b in zip(A, B))) def test(): A = [random() for i in range(4)] B = [random() for i in range(4)] x = solve(A, B) for a, b in zip(A, B): print a, b, a * x - b test() This only works if all elements of both A and B are positive. > Well, maybe it will be much more simple if I explain the underlying > problem : > > I have an array of N dimensions (generally 2). > - A first calculation gives me a set of integer coordinates inside this > array, which I will call the point W. Is this an array of points, or an array of values, that contains only one point? > - After several other calculations, I've got a set of coordinates in > this N dimensional space that are floating values, and not bound to the > limits of my original N-array. This is the point L. > > What I want to do is to translate the point L along the vector LW Do you mean the vector L - W? (LW is a scalar, assuming dot product). > in order to get a point L' which coordinates are inside the original > N-dimensional array. Then it will be easy to get the closest integer > coordinates from L'. > I'm not sure this is clear ... pretty hard to talk about maths in > english. Not very clear to me I'm afraid! -- http://mail.python.org/mailman/listinfo/python-list