[Rcpp-devel] trans() changed in latest RcppArmadillo

Conrad Sand conradsand.rcpp at gmail.com
Tue May 31 13:37:56 CEST 2011


I've found the cause of the issue (involves handling of small matrices).

The fix is easy (and already done in the SVN repo), but I currently
don't have the time to roll out another release.  I'll aim to release
a fix on the weekend, which will also give me time to double-check if
there is a problem in inv().

In the meantime I recommend sticking to the previous version of
Armadillo and RcppArmadillo.

btw, for dot products I recommend using the dot() and cdot() functions
-- they're generally faster than going through the multiplication
operator.


On 31 May 2011 11:39, Conrad Sand <conradsand.rcpp at gmail.com> wrote:
> Hi Baptiste,
>
> Thanks for the bug report.  I'll take a look at the underlying issues.
>
>
> On 31 May 2011 09:48, baptiste auguie <baptiste.auguie at googlemail.com> wrote:
>> Sorry, I had too many spaces in the vectors. The conclusion is the same though.
>>
>> library(inline)
>> require( RcppArmadillo )
>>
>> ## let's calculate this product
>> c(-1-1i, 1-1i) %*% c(1i, -1i)
>>  ## 0-2i
>>
>> ## trans() with v0.2.19
>> fx <- cxxfunction( signature() , '
>>  arma::cx_colvec A = "(-1,-1) (+1,-1);", B = "(+0,1) (+0,-1);" ;
>>                arma::cx_colvec res = trans(A) * B;
>>
>>                return wrap( res ) ;
>>        ', plugin = "RcppArmadillo" )
>>
>> fx()
>> ## 0-2i
>>
>> ## strans() with v0.2.21
>> fx <- cxxfunction( signature() , '
>>  arma::cx_colvec A = "(-1,-1) (+1,-1);", B = "(+0,1) (+0,-1);" ;
>>                arma::cx_colvec res = strans(A) * B;
>>                return wrap( res ) ;
>>        ', plugin = "RcppArmadillo" )
>>
>> fx()
>> ## 1-1i
>


More information about the Rcpp-devel mailing list