After a couple hours switching back and forth between versions, I
found a problem with the scalar product of complex vectors. Here is a
minimal example,
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
Best regards,
baptiste
On 31 May 2011 10:01, baptiste auguie <baptiste.auguie at googlemail.com> wrote:
I was a bit optimistic yesterday; I have not yet been able to produce
a minimal example but it seems trans/strans was not the end of the
story in my code. Something else was broken with the change to
0.2.21.Thankfully the end results are very visibly wrong.
Best regards,
Baptiste
On 31 May 2011 07:02, Savitsky, Terrance <savitsky at rand.org> wrote:
Dr. Sanderson, I've been able to verify that my issue resides in the
inv() function (that I typically apply to small p x p matrices, where p
= 3 - 10). ?In particular, the new version/algorithm induces numerical
instability. ?I've not yet tested that the results of the inv()
computation are generally accurate, only that they are not numerically
robust in comparison to 0.2.19. ?I'm up against a deadline, so I
switched back to 0.2.19, which resolves my problem, for now, but will
provide a reproducible example when finished with my work.
Terrance
-----Original Message-----
From: Conrad Sand [mailto:conradsand.rcpp at gmail.com]
Sent: Monday, May 30, 2011 6:34 AM
To: rcpp-devel at r-forge.wu-wien.ac.at
Cc: Savitsky, Terrance
Subject: Re: trans() changed in latest RcppArmadillo
On 30 May 2011, Terrance Savitsky wrote:
Hello, After upgrading to the 0.2.21 release of RcppArmadillo, my
previously working code (across many functions) ceased working (on a
Windows XP installation). ?I re-installed the previous version
from CRAN (via a server location not yet updated to 0.2.21); didn't
The timing may be a coincidence, though reading the post on
trans() encourages me to make this post. ?While I use 'trans' across
functions, it is not applied on complex-valued matrices; only
real-valued. ?So the prior post wouldn't explain my issue.
Hi, I'm the main author of Armadillo.
I'm interested in hearing about all regressions -- can you provide
more details ?
There have been a lot of changes between Armadillo 1.2 and the latest
beta (1.99.3). ?I'd like to shake out all known bugs before releasing
2.0.
Cheers,
Conrad
--
Dr Conrad Sanderson : Sr Research Scientist : NICTA :
http://arma.sf.net/cs