Thanks Juan, The equations are smooth (const, linear and quadratic terms on the r.h.s.), so the best I can come up with right now is to iterate with the following method.
(A) Initialize cube size to (1,1,1) and cube center to (x1=0.5, x2=0.5, x3=0.5) (B) Compute the function (f1,f2,f3) in all equidistant 11 * 11 * 11 grid points of the cube (C) Find shortest (f1,f2,f3) vector and based on that decide if we're done (D) If we're not yet done, then: - center cube on the (x1,x2,x3) location of the shortest (f1,f2,f3) vector - reduce cube size to 60% - goto (B) Do you think this makes sense? Thanks Illes -- http://hal.elte.hu/fij 2012/10/30 Juan Pablo Amorocho <[email protected]> > Hi Illes, > As far as I know, you can't tell Newton to stay within a "region of > interest" ( @help-gnu If I'm wrong please correct me). All you can do is to > provide the solver with a reasonable starting point. You could also take a > look at your function around that region of interest, and see if it behaves > nasty. Maybe this could help: > > http://en.wikipedia.org/wiki/Newton_iteration#Practical_considerations > > - Juan Pablo > > On Oct 30, 2012, at 6:40 AM, "FARKAS, Illes" <[email protected]> wrote: > > > 2012/10/29 FARKAS, Illes <[email protected]> > > > >> 2012/10/28 Rhys Ulerich <[email protected]> > >> > >>>> Can you please suggest a fast GSL method / algorithm to find the > >>> solutions > >>>> of a quadratic 3d system of algebraic equations? > >>>> > >>>> In the reduced form all 3 equations have zero on the l.h.s., and on > the > >>>> r.h.s. there are constant, linear and quadratic terms composed of x1, > >>> x2, > >>>> x3 (the three variables). > >>> > >>> Newton iteration, especially if you provide analytic Jacobian, should > do > >>> well here. There may be faster things that can return multiple > solutions, > >>> however. > >>> > >>> - Rhys > >>> > >> > >> Thanks, I've chosen the hybrid algorithm< > http://www.gnu.org/software/gsl/manual/html_node/Example-programs-for-Multidimensional-Root-finding.html > > > >> . > > > > > > Hello, > > > > The 3 variables represent biochemical concentrations normalized to the > > interval [0,1]. Can I tell the solver (or another solver) that it should > > stay inside this interval? I keep receiving solutions outside this > > interval, which are mathematically OK, but biochemically really nonsense. > > Also, with some help I'm ready to read/write the source code. > > > > Many thanks! > > > > Illes > >
