Dear Dr. Maechler Thanks a lot.
You can find the code here: https://github.com/pachamaltese/dulmagemendelsohn/blob/master/src/cs_dmperm.c And this part is already in Matrix: https://github.com/pachamaltese/dulmagemendelsohn/blob/master/src/cs.h You are right about the tangent with respect to Rcpp. So far, I cannot make it work in R, but it works from shell, so I really appreciate your interest to make the code reproducible. Best, ————— *Mauricio Vargas Sepúlveda 帕夏* Do you like Data Science? visit pacha.hk 你爱科学数据专吗?你走pacha.hk On Wed, Mar 25, 2020 at 8:36 AM Martin Maechler <maech...@stat.math.ethz.ch> wrote: > > Dear Mauricio (et al), > > I'm the maintainer of the 'Matrix' package (and just reading > digests of Rcpp-devel, hence no "proper reply"). > > This looks quite interesting and relevant to me, > and I'd be interested to add this decomposition to the Matrix > package, so would be happy if you already have code for parts of > it. > > As CSparce, Matrix uses simple C though, and hence this posting > is only peripherally related to Rcpp. > > Best regards, > > Martin Maechler > ETH Zurich and R Core team > > > > Date: Wed, 25 Mar 2020 01:22:16 -0300 > > From: Mauricio Vargas <mvar...@dcc.uchile.cl> > > To: rcpp-de...@r-forge.wu-wien.ac.at > > Subject: [Rcpp-devel] Dulmage-Mendelsohn decomposition in R via Rcpp > > > Dear community > > > Dr. Eddelbuettel suggested me to ask here. > > > I am trying to implement *Dulmage-Mendelsohn decomposition* in R. > CSparse > > already has a function to do this, and it's not exported in Matrix > so I > > took the C files and tried to use them in R. > > > I decided to sketch this into an R Package with Rcpp: > > https://github.com/pachamaltese/dulmagemendelsohn > > > The final goal is to find a permutation matrix, so that the original > matrix > > is rearranged into a block diagonal matrix: > > > matrix_input <- matrix( > > c(0,0,7,0,0, > > 0,0,0,0,3, > > 5,0,0,1,0, > > 0,0,2,0,0, > > 0,1,0,0,0), > > ncol = 5, nrow = 5 > > ) > > > dm_decomposition <- function(matrix_input) { > > # the actual decomposition happens here > > # ... "MAGIC" ... > > > # but here is an example output > > matrix( > > c(0,7,0,0,0, > > 5,0,1,0,0, > > 0,2,0,0,0, > > 0,0,0,0,3, > > 0,0,0,1,0), > > ncol = 5, nrow = 5 > > ) > > } > > > dm_decomposition(matrix_input) > > > Can you please provide me some guidance to get this working? > > > I am by no means a C/C++ expert, I just have experience with > statistics an > > writing R packages. > > > > *Mauricio Vargas Sepúlveda 帕夏* > > Do you like Data Science? visit pacha.hk > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: < > http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20200325/d88b3c55/attachment-0001.html > > >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel