<div dir="ltr"><div dir="auto">My 2 cents. Last couple of years I used sparse matrices a lot. Matrix package is really great. I'm not sure I understand issue with wrapping - as Doug said CSC format is main in both Armadillo and Matrix. Given matrix in CSC format (dgCMatrix/CsparseMatrix) it is trivial to convert it to COO or CSR with as(x, "TsparseMatrix") / as(x, "RsparseMatrix").</div><div><br></div><div>Second point is about slam package and COO format. I didn't use it, but used scipy, Armadillo, Eigen. And none of these packages use COO format for operations on matrices... I doubt it could be efficient.</div><div><br></div><div>Third point is that I have feeling that nowadays CSR format is more mainstream. For instance Eigen implements multithreaded sparse - dense multiplications and sparse solvers (<a href="https://eigen.tuxfamily.org/dox/TopicMultiThreading.html">https://eigen.tuxfamily.org/dox/TopicMultiThreading.html</a>). Same story about sparse BLAS with Intel MKL - it works with CSR matrices. I realize that CSR = transposed CSC, but still it is not convenient to transpose mind each time. (Would be great to add more support for CSR matrices, but this is out of scope of this discussion).</div><div dir="auto"><br></div><div>And last my observation - I agree with Doug that it seems that Eigen has much stronger support for operations with sparse matrices.</div><div dir="auto"><br></div><div class="gmail_extra"><div class="gmail_quote">14 июн. 2017 г. 19:55 пользователь  <<a href="mailto:rcpp-devel-request@lists.r-forge.r-project.org" target="_blank">rcpp-devel-request@lists.r-<wbr>forge.r-project.org</a>> написал:<br type="attribution"><blockquote class="gmail-m_651044902625482436quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send Rcpp-devel mailing list submissions to<br>
        <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" rel="noreferrer" target="_blank">https://lists.r-forge.r-projec<wbr>t.org/cgi-bin/mailman/listinfo<wbr>/rcpp-devel</a><br>
<br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:rcpp-devel-request@lists.r-forge.r-project.org" target="_blank">rcpp-devel-request@lists.r-for<wbr>ge.r-project.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:rcpp-devel-owner@lists.r-forge.r-project.org" target="_blank">rcpp-devel-owner@lists.r-forge<wbr>.r-project.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Rcpp-devel digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Re: [RcppArmadillo] Result of Rcpp Wrap() for Sparse      Matrix<br>
      (Douglas Bates)<br>
   2. Re: [RcppArmadillo] Result of Rcpp Wrap() for Sparse Matrix<br>
      (Dirk Eddelbuettel)<br>
   3. Re: [RcppArmadillo] Result of Rcpp Wrap() for Sparse Matrix<br>
      (Serguei Sokol)<br>
   4. Re: [RcppArmadillo] Result of Rcpp Wrap() for Sparse      Matrix<br>
      (Douglas Bates)<br>
   5. Re: [RcppArmadillo] Result of Rcpp Wrap() for Sparse Matrix<br>
      (Serguei Sokol)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Wed, 14 Jun 2017 13:21:54 +0000<br>
From: Douglas Bates <<a href="mailto:bates@stat.wisc.edu" target="_blank">bates@stat.wisc.edu</a>><br>
To: <a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>, Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>,<br>
        <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
Subject: Re: [Rcpp-devel] [RcppArmadillo] Result of Rcpp Wrap() for<br>
        Sparse  Matrix<br>
Message-ID:<br>
        <CAO7JsnTo8bA6LTsHz0udyjF-KAaE<wbr>2kp-rKb13tyudg6gV=<a href="mailto:JiAQ@mail.gmail.com" target="_blank">JiAQ@mail.<wbr>gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
On Wed, Jun 14, 2017 at 3:59 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>><br>
wrote:<br>
<br>
> Le 13/06/2017 ? 18:24, Douglas Bates a ?crit :<br>
> > On Tue, Jun 13, 2017 at 10:56 AM Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a><br>
> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>> wrote:<br>
> ><br>
> >     Hi,<br>
> ><br>
> >     I am working on fixing sparse matrix conversion for RcppArmadillo.<br>
> Now a problem comes up to me: what kind of sparse matrix is expected to<br>
> pass from<br>
> >     Armadillo to R? That is, what should the result of wrap() be?<br>
> dgCMatrix(if logical, lgCMatrix or ngCMatrix)  or their original type?<br>
> ><br>
> ><br>
> > What do you mean by "their original type"?<br>
> ><br>
> > It seems that the correspondence is<br>
> > Armadillo           Matrix package<br>
> > sp_mat       <=> dgCMatrix<br>
> > sp_cx_mat <=> zgCMatrix<br>
> > sp_imat      <=> igCMatrix<br>
> I would also consider the format used in a package slam.<br>
> It simply stores the indexes and non-zero values in a triplet (i,j,v).<br>
><br>
<br>
That is the format of the dgTMatrix class from the Matrix package for R but<br>
not, as far as I can tell, in Armadillo.  A brief glance at the Armadillo<br>
documentation indicates that sparse matrices are always in the compressed<br>
sparse column (CSC) format.<br>
<br>
I would point out that the sparse matrix facilities in Eigen and RcppEigen<br>
are much more extensive than those in Armadillo.<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20170614/bc4c3163/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.r-forge.r-projec<wbr>t.org/pipermail/rcpp-devel/<wbr>attachments/20170614/bc4c3163/<wbr>attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Wed, 14 Jun 2017 09:01:30 -0500<br>
From: Dirk Eddelbuettel <<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>><br>
To: <a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a><br>
Cc: <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a>, Binxiang Ni<br>
        <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>><br>
Subject: Re: [Rcpp-devel] [RcppArmadillo] Result of Rcpp Wrap() for<br>
        Sparse Matrix<br>
Message-ID: <<a href="mailto:22849.16826.22396.339250@max.eddelbuettel.com" target="_blank">22849.16826.22396.339250@max.<wbr>eddelbuettel.com</a>><br>
Content-Type: text/plain; charset=iso-8859-1<br>
<br>
<br>
On 14 June 2017 at 11:00, Serguei Sokol wrote:<br>
| Le 13/06/2017 ? 18:24, Douglas Bates a ?crit :<br>
| > On Tue, Jun 13, 2017 at 10:56 AM Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>> wrote:<br>
| ><br>
| >     Hi,<br>
| ><br>
| >     I am working on fixing sparse matrix conversion for RcppArmadillo. Now a problem comes up to me: what kind of sparse matrix is expected to pass from<br>
| >     Armadillo to R? That is, what should the result of wrap() be? dgCMatrix(if logical, lgCMatrix or ngCMatrix)  or their original type?<br>
| ><br>
| ><br>
| > What do you mean by "their original type"?<br>
| ><br>
| > It seems that the correspondence is<br>
| > Armadillo           Matrix package<br>
| > sp_mat       <=> dgCMatrix<br>
| > sp_cx_mat <=> zgCMatrix<br>
| > sp_imat      <=> igCMatrix<br>
| I would also consider the format used in a package slam.<br>
| It simply stores the indexes and non-zero values in a triplet (i,j,v).<br>
<br>
There is more here:  <a href="https://en.wikipedia.org/wiki/Sparse_matrix" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>Sparse_matrix</a><br>
<br>
But it would probably be good to hear from some actual users of sparse<br>
matrices such as Doug (thanks for piping in already!), Soren or anybody else<br>
with exposure to sparse matrices, ideally via CRAN packages we can wire up<br>
for testing.<br>
<br>
<br>
Dirk<br>
<br>
--<br>
<a href="http://dirk.eddelbuettel.com" rel="noreferrer" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a><br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Wed, 14 Jun 2017 16:06:58 +0200<br>
From: Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>><br>
To: Douglas Bates <<a href="mailto:bates@stat.wisc.edu" target="_blank">bates@stat.wisc.edu</a>>, Binxiang Ni<br>
        <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>, <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
Subject: Re: [Rcpp-devel] [RcppArmadillo] Result of Rcpp Wrap() for<br>
        Sparse Matrix<br>
Message-ID: <<a href="mailto:1ade20d8-f08c-df7b-e147-539e4b1babff@gmail.com" target="_blank">1ade20d8-f08c-df7b-e147-539e4<wbr>b1babff@gmail.com</a>><br>
Content-Type: text/plain; charset=utf-8; format=flowed<br>
<br>
Le 14/06/2017 ? 15:21, Douglas Bates a ?crit :<br>
><br>
><br>
> On Wed, Jun 14, 2017 at 3:59 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a> <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.co<wbr>m</a>>> wrote:<br>
><br>
>     Le 13/06/2017 ? 18:24, Douglas Bates a ?crit :<br>
>      > On Tue, Jun 13, 2017 at 10:56 AM Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a><br>
>     <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>><wbr>>> wrote:<br>
>      ><br>
>      >     Hi,<br>
>      ><br>
>      >     I am working on fixing sparse matrix conversion for RcppArmadillo. Now a problem comes up to me: what kind of sparse matrix is expected to pass from<br>
>      >     Armadillo to R? That is, what should the result of wrap() be? dgCMatrix(if logical, lgCMatrix or ngCMatrix)  or their original type?<br>
>      ><br>
>      ><br>
>      > What do you mean by "their original type"?<br>
>      ><br>
>      > It seems that the correspondence is<br>
>      > Armadillo           Matrix package<br>
>      > sp_mat       <=> dgCMatrix<br>
>      > sp_cx_mat <=> zgCMatrix<br>
>      > sp_imat      <=> igCMatrix<br>
>     I would also consider the format used in a package slam.<br>
>     It simply stores the indexes and non-zero values in a triplet (i,j,v).<br>
><br>
><br>
> That is the format of the dgTMatrix class from the Matrix package for R but not, as far as I can tell, in Armadillo.  A brief glance at the Armadillo<br>
> documentation indicates that sparse matrices are always in the compressed sparse column (CSC) format.<br>
Indeed, but nothing prevents Binxiang to develop a wrap() that will convert<br>
armadillo format to one or many of R formats, right?<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Wed, 14 Jun 2017 15:33:05 +0000<br>
From: Douglas Bates <<a href="mailto:bates@stat.wisc.edu" target="_blank">bates@stat.wisc.edu</a>><br>
To: <a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>, Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>,<br>
        <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
Subject: Re: [Rcpp-devel] [RcppArmadillo] Result of Rcpp Wrap() for<br>
        Sparse  Matrix<br>
Message-ID:<br>
        <<a href="mailto:CAO7JsnT7cj3pAqF7rEJ-EV_qke%2BLr2suZu1AVpkPNT2O4bjVcg@mail.gmail.com" target="_blank">CAO7JsnT7cj3pAqF7rEJ-EV_qke+L<wbr>r2suZu1AVpkPNT2O4bjVcg@mail.gm<wbr>ail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
On Wed, Jun 14, 2017 at 9:06 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>><br>
wrote:<br>
<br>
> Le 14/06/2017 ? 15:21, Douglas Bates a ?crit :<br>
> ><br>
> ><br>
> > On Wed, Jun 14, 2017 at 3:59 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a><br>
> <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.co<wbr>m</a>>> wrote:<br>
> ><br>
> >     Le 13/06/2017 ? 18:24, Douglas Bates a ?crit :<br>
> >      > On Tue, Jun 13, 2017 at 10:56 AM Binxiang Ni <<br>
> <a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>> <mailto:<br>
> <a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a><br>
> >     <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>><wbr>>> wrote:<br>
> >      ><br>
> >      >     Hi,<br>
> >      ><br>
> >      >     I am working on fixing sparse matrix conversion for<br>
> RcppArmadillo. Now a problem comes up to me: what kind of sparse matrix is<br>
> expected to pass from<br>
> >      >     Armadillo to R? That is, what should the result of wrap() be?<br>
> dgCMatrix(if logical, lgCMatrix or ngCMatrix)  or their original type?<br>
> >      ><br>
> >      ><br>
> >      > What do you mean by "their original type"?<br>
> >      ><br>
> >      > It seems that the correspondence is<br>
> >      > Armadillo           Matrix package<br>
> >      > sp_mat       <=> dgCMatrix<br>
> >      > sp_cx_mat <=> zgCMatrix<br>
> >      > sp_imat      <=> igCMatrix<br>
> >     I would also consider the format used in a package slam.<br>
> >     It simply stores the indexes and non-zero values in a triplet<br>
> (i,j,v).<br>
> ><br>
> ><br>
> > That is the format of the dgTMatrix class from the Matrix package for R<br>
> but not, as far as I can tell, in Armadillo.  A brief glance at the<br>
> Armadillo<br>
> > documentation indicates that sparse matrices are always in the<br>
> compressed sparse column (CSC) format.<br>
> Indeed, but nothing prevents Binxiang to develop a wrap() that will convert<br>
> armadillo format to one or many of R formats, right?<br>
><br>
<br>
Why? Is there a reason for doing type conversion from the dgCMatrix format<br>
to another format in an Rcpp wrap function instead of with the existing<br>
functions from the Matrix package?<br>
<br>
Bear in mind that dgCMatrix is an efficient format both in terms of the<br>
amount of memory required  (that's the "compressed" part of the name) and<br>
in terms of performing operations with the matrix.  Most operations on<br>
sparse matrices stored in the triplet format start by creating a CSC or CSR<br>
(compressed sparse row) form of the matrix anyway.<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20170614/7a9fef46/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.r-forge.r-projec<wbr>t.org/pipermail/rcpp-devel/<wbr>attachments/20170614/7a9fef46/<wbr>attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Wed, 14 Jun 2017 17:55:49 +0200<br>
From: Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a>><br>
To: Douglas Bates <<a href="mailto:bates@stat.wisc.edu" target="_blank">bates@stat.wisc.edu</a>>, Binxiang Ni<br>
        <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>, <a href="mailto:rcpp-devel@lists.r-forge.r-project.org" target="_blank">rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
Subject: Re: [Rcpp-devel] [RcppArmadillo] Result of Rcpp Wrap() for<br>
        Sparse Matrix<br>
Message-ID: <<a href="mailto:4cbe9f66-6755-70bc-3a59-2a660015b596@gmail.com" target="_blank">4cbe9f66-6755-70bc-3a59-2a660<wbr>015b596@gmail.com</a>><br>
Content-Type: text/plain; charset=utf-8; format=flowed<br>
<br>
Le 14/06/2017 ? 17:33, Douglas Bates a ?crit :<br>
><br>
><br>
> On Wed, Jun 14, 2017 at 9:06 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a> <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.co<wbr>m</a>>> wrote:<br>
><br>
>     Le 14/06/2017 ? 15:21, Douglas Bates a ?crit :<br>
>      ><br>
>      ><br>
>      > On Wed, Jun 14, 2017 at 3:59 AM Serguei Sokol <<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.com</a> <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.co<wbr>m</a>> <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.co<wbr>m</a><br>
>     <mailto:<a href="mailto:serguei.sokol@gmail.com" target="_blank">serguei.sokol@gmail.c<wbr>om</a>>>> wrote:<br>
>      ><br>
>      >     Le 13/06/2017 ? 18:24, Douglas Bates a ?crit :<br>
>      >      > On Tue, Jun 13, 2017 at 10:56 AM Binxiang Ni <<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a><br>
>     <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>><wbr>> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>><br>
>      >     <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a> <mailto:<a href="mailto:binxiangni@gmail.com" target="_blank">binxiangni@gmail.com</a>>><wbr>>> wrote:<br>
>      >      ><br>
>      >      >     Hi,<br>
>      >      ><br>
>      >      >     I am working on fixing sparse matrix conversion for RcppArmadillo. Now a problem comes up to me: what kind of sparse matrix is expected to<br>
>     pass from<br>
>      >      >     Armadillo to R? That is, what should the result of wrap() be? dgCMatrix(if logical, lgCMatrix or ngCMatrix)  or their original type?<br>
>      >      ><br>
>      >      ><br>
>      >      > What do you mean by "their original type"?<br>
>      >      ><br>
>      >      > It seems that the correspondence is<br>
>      >      > Armadillo           Matrix package<br>
>      >      > sp_mat       <=> dgCMatrix<br>
>      >      > sp_cx_mat <=> zgCMatrix<br>
>      >      > sp_imat      <=> igCMatrix<br>
>      >     I would also consider the format used in a package slam.<br>
>      >     It simply stores the indexes and non-zero values in a triplet (i,j,v).<br>
>      ><br>
>      ><br>
>      > That is the format of the dgTMatrix class from the Matrix package for R but not, as far as I can tell, in Armadillo.  A brief glance at the Armadillo<br>
>      > documentation indicates that sparse matrices are always in the compressed sparse column (CSC) format.<br>
>     Indeed, but nothing prevents Binxiang to develop a wrap() that will convert<br>
>     armadillo format to one or many of R formats, right?<br>
><br>
><br>
> Why?<br>
Sure, Matrix is very versatile and rich in features but the price for this is its heavy weight.<br>
It can take several seconds to load it up. On my rather mighty PC (Intel Xeon E5-2609 v2 @ 2.50GHz with 16 GB of memory),<br>
I have:<br>
 > system.time(library(Matrix))<br>
utilisateur     syst?me      ?coul?<br>
       1.427       0.052       1.619<br>
<br>
I don't have my laptop here but the load time can be longer.<br>
While for slam it takes only a fraction of second:<br>
<br>
 > system.time(library(slam))<br>
utilisateur     syst?me      ?coul?<br>
       0.012       0.000       0.011<br>
When slam can suffice, why not to use it?<br>
<br>
> Is there a reason for doing type conversion from the dgCMatrix format to another format in an Rcpp wrap function instead of with the existing functions<br>
> from the Matrix package?<br>
><br>
> Bear in mind that dgCMatrix is an efficient format both in terms of the amount of memory required  (that's the "compressed" part of the name) and in terms of<br>
> performing operations with the matrix.  Most operations on sparse matrices stored in the triplet format start by creating a CSC or CSR (compressed sparse row)<br>
> form of the matrix anyway.<br>
In Matrix package, I presume?<br>
Few basic operations that I have seen in slam, stay with triplet format.<br>
So if a user did not load Matrix package and want to use e.g. slam format,<br>
it would be great if wrap() could give him expected format.<br>
<br>
<br>
------------------------------<br>
<br>
______________________________<wbr>_________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" target="_blank">Rcpp-devel@lists.r-forge.r-pro<wbr>ject.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" rel="noreferrer" target="_blank">https://lists.r-forge.r-projec<wbr>t.org/cgi-bin/mailman/listinfo<wbr>/rcpp-devel</a><br>
<br>
End of Rcpp-devel Digest, Vol 92, Issue 12<br>
******************************<wbr>************<br>
</blockquote></div><br></div>
</div>