[Rcpp-devel] Dulmage-Mendelsohn decomposition in R via Rcpp
Mauricio Vargas
mvargas at dcc.uchile.cl
Wed Mar 25 14:06:13 CET 2020
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 <maechler at 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 <mvargas at dcc.uchile.cl>
> > To: rcpp-devel at 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
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20200325/5d69f37e/attachment.html>
More information about the Rcpp-devel
mailing list