Your problem is a constrained minimization problem, not a root-finding
problem.
Let q = (xq,yq,zq). You want to minimize
(x-xq)^2 + (y-yq)^2 + (z-zq)^2
subject to the constraint
F(x,y,z) = 0
In theory one can use Lagrange multipliers to express the problem as an
unconstrained minimization problem. That is, minimize
(x-xq)^2 + (y-yq)^2 + (z-zq)^2 + lambda*F(x,y,z)
where now the variables are (x,y,z,lambda). lambda is the "Lagrange
multiplier".
I'll let those more experienced with numerical methods for optimization
suggest practical methods for solving your problem.
Warren
On Sat, Sep 27, 2008 at 1:36 PM, Olumide <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I'm trying to find the point p(x,y,z) on an (nonlinear) implicit surface
> F(x,y,z) = 0 closest that is nearest to a given initial point q(x,y,z), the
> problem is that my reading of the docs makes the choice the class of root
> finding algorithm a bit difficult. According to the manual, multidimensional
> root-finding algorithms are for "solving nonlinear systems with n equations
> in n unknowns", while one dimensional Root-Finding algorithms are for
> "finding roots of arbitrary one-dimensional functions". The problem is that
> I have one equation F(x,y,z) = 0, with whose solution is a tuple or vector
> or group of 3 numbers p(x,y,z). Which algorithm should I use to solve such a
> problem? A one dimensional or a multi-dimensional root solver?
>
> Thanks,
>
> - Olumide
>
>
> _______________________________________________
> Help-gsl mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/help-gsl
>
_______________________________________________
Help-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gsl