Hi Rohit,

It is fine if you are using the Newton's method just as an excuse to learn 
Rcpp.  If, however, your main goal is to develop a package to implement 
Newton's method, then you need to stop and look at the numerous optimization 
packages available in R.  A good place to start would be the "optimx" package, 
which unifies a large number of optimiaztion tools under one umbrella.

Hope this helps,
Ravi.

____________________________________________________________________

Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University

Ph. (410) 502-2619
email: rvarad...@jhmi.edu


----- Original Message -----
From: Rohit Pandey <rohitpandey...@gmail.com>
Date: Sunday, February 6, 2011 11:33 am
Subject: [R] Help with integrating R and c/c++
To: r-help@r-project.org


> Hi,
>  
>  I have been using R for close to two years now and have grown quite
>  comfortable with the language. I am presently trying to implement an
>  optimization routine in R (Newton Rhapson). I have some R functions that
>  calculate the gradient and hessian (pre requisite matrices) fairly
>  efficiently. Now, I have to call this function iteratively until some
>  convergance criterion is reached. I think the standard method of 
> doing this
>  in most programming languages is a while loop. However, I know R can 
> get
>  pretty slow when you use loops. In order to make this efficient, I 
> want to
>  transfer this part of my code to a more efficient programming 
> language like
>  c++ or c. However, I have been trying to learn this all day without any
>  luck. I found a package called Rcpp that makes this easier. However, 
> it
>  seems some functional knowledge of writing R packages is a pre 
> requisite. I
>  tried to follow the standard manual for doing this, but could not 
> find a
>  simple example to get me started. I know I am supposed to make a cpp 
> file
>  and put it some where before it can be called from R, but I'm 
> confused as to
>  how this can be done.
>  
>  My requirement is to start with a parameter vector, update it 
> according to
>  the gradient and hessian, check if the parameter satisfies some convergance
>  criterion and continue doing this until it does. Is there a way to
>  efficiently do this through an R function (replicate?). The problem 
> is that
>  the number of iterations is not fixed. If there is no function in R, 
> is
>  there a way I can quickly use Rcpp or some thing to have this last 
> part of
>  my code in a C or C++ program which repeatedly calls my R functions for
>  updating the parameters?
>  
>  -- 
>  Thanks in advance,
>  Rohit
>  Mob: 91 9819926213
>  
>       [[alternative HTML version deleted]]
>  
>  ______________________________________________
>  R-help@r-project.org mailing list
>  
>  PLEASE do read the posting guide 
>  and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@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.

Reply via email to