[R] Two or more dimensional root (Zero) finding

Ravi Varadhan RVaradhan at jhmi.edu
Mon Apr 20 15:47:13 CEST 2009


Ben,

That is not a good approach, i.e. finding the zero, x*, of F(x), such that
F(x*) = 0, as a minimum of ||F(x)|| is NOT a good approach.  Any root of
F(x) is indeed a global minimum of ||F(x)||, or for that matter, the global
minimum of any f(F(x)), where f(.) is a mapping from R^p to R, such that it
has a uniques global minimizer x=0.  However, the converse does not
generally hold, i.e. a (local) minimizer of f(F(x)) is not necessarily a
root of F(x).  See Ortega and Rheinboldt (p. 97, 1970) for theorem on this.


There are better approaches that directly solve the non-linear system (e.g.
Newton's method and spectral appproaches).  There are 2 packages in R that
are quite useful for finding roots of nonlinear systems of equations:  "BB"
and "nleqslv".  For more information, You can try, for example:

	library(BB)
	?dfsane

Hope this helps,
Ravi.

----------------------------------------------------------------------------
-------

Ravi Varadhan, Ph.D.

Assistant Professor, The Center on Aging and Health

Division of Geriatric Medicine and Gerontology 

Johns Hopkins University

Ph: (410) 502-2619

Fax: (410) 614-9625

Email: rvaradhan at jhmi.edu

Webpage:  http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html

 

----------------------------------------------------------------------------
--------


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Ben Bolker
Sent: Monday, April 20, 2009 9:05 AM
To: r-help at r-project.org
Subject: Re: [R] Two or more dimensional root (Zero) finding




enrico.foscolo2 at libero.it wrote:
> 
> Good morning to all,
> 
> I should find the zero of a specific function with respect to a vector 
> of arguments.
> Does it exist something similar in R?
> 

Someone else may pipe up with a better answer, but this is generally a
difficult problem (see _Numerical Recipes_ for discussion).  A reasonable
approach is to search for the minimum of the square of the function (using
optim(), nlmin(), etc.).

  Ben Bolker
--
View this message in context:
http://www.nabble.com/Two-or-more-dimensional-root-%28Zero%29-finding-tp2313
5160p23136292.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list