[R] Communative Matrix Multiplcation
Doran, Harold
HDoran at air.org
Tue Aug 14 19:55:00 CEST 2012
Thanks, Berend. I updated my R and got same result. I reposted the old sessionInfo(), which was an older version. But, same code, same matrices, different result
> -----Original Message-----
> From: Berend Hasselman [mailto:bhh at xs4all.nl]
> Sent: Tuesday, August 14, 2012 1:49 PM
> To: Doran, Harold
> Cc: 'r-help at r-project.org'
> Subject: Re: [R] Communative Matrix Multiplcation
>
>
> On 14-08-2012, at 19:26, Doran, Harold wrote:
>
> >
> > I'm not seeing why the following occurs:
> >
> >> T1 <- (A1 - A2) %*% D
> >> T2 <- (A1 %*% D) - (A2 %*% D)
> >> identical(T1, T2)
> > [1] FALSE
> > .......
>
> I ran this in a clean environment
>
> <code>
> library(Matrix)
>
> A1 <- new("dsCMatrix"
> , i = c(0L, 1L, 2L, 3L, 0L, 1L, 4L, 2L, 3L, 5L)
> , p = c(0L, 1L, 2L, 3L, 4L, 7L, 10L)
> , Dim = c(6L, 6L)
> , Dimnames = list(NULL, NULL)
> , x = c(5, 5, 5, 5, 5, 5, 10, 5, 5, 10)
> , uplo = "U"
> , factors = list()
> )
>
> A2 <- new("dgeMatrix"
> , x = c(1.41313955042629, 1.23647532592053, 1.36413787785255,
> 0.986247245800629, 2.64961487634682, 2.35038512365318, 1.23647532592053,
> 1.55872699943971, 0.579347997632991, 1.62544967700677, 2.79520232536024,
> 2.20479767463976, 1.36413787785255, 0.579347997632991, 2.75106274522123,
> 0.305451379293231, 1.94348587548554, 3.05651412451446, 0.986247245800629,
> 1.62544967700677, 0.305451379293232, 2.08285169789937, 2.6116969228074,
> 2.3883030771926, 2.64961487634682, 2.79520232536024, 1.94348587548554,
> 2.6116969228074, 5.44481720170706, 4.55518279829294, 2.35038512365318,
> 2.20479767463976, 3.05651412451446, 2.3883030771926, 4.55518279829294,
> 5.44481720170706
> )
> , Dim = c(6L, 6L)
> , Dimnames = list(NULL, NULL)
> , factors = list()
> )
>
> D <- new("ddiMatrix"
> , diag = "N"
> , Dim = c(6L, 6L)
> , Dimnames = list(NULL, NULL)
> , x = c(5, 5, 5, 5, 10, 10)
> )
>
> A1
> A2
> D
>
> T1 <- (A1 - A2) %*% D
> T2 <- (A1 %*% D) - (A2 %*% D)
> identical(T1, T2)
> </code>
>
> and qot this result
>
> [1] TRUE
>
>
> so it's now up to you to find out what you did exactly.
>
> Berend
More information about the R-help
mailing list