Skip to content
Back to formatted view

Raw Message

Message-ID: <efb5ad511001191748x653de53haa2e479d031c8ec@mail.gmail.com>
Date: 2010-01-20T01:48:22Z
From: Gad Abraham
Subject: Symmetric Matrix classes
In-Reply-To: <19285.53031.823894.881@lynne.math.ethz.ch>

On Wed, Jan 20, 2010 at 2:26 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
> Scanning for 'Matrix' in old R-help e-mail, I found
>
>>>>>> "GA" == Gad Abraham <gabraham at csse.unimelb.edu.au>
>>>>>> ? ? on Fri, 27 Nov 2009 13:45:00 +1100 writes:
>
> ? ?GA> Hi,
> ? ?GA> I'd like to store large covariance matrices using Matrix classes.
>
> ? ?GA> dsyMatrix seems like the right one, but I want to specify just the
> ? ?GA> upper/lower triangle and diagonal and not have to instantiate a huge
> ? ?GA> n^2 vector just for the sake of having half of it ignored:
>
> ? ?GA> Dumb example:
> ? ?GA> M <- new("dsyMatrix", uplo="U", x=rnorm(1e4), Dim=as.integer(c(100, 100)))
> ? ?GA> diag(M) <- 1
>
> ? ?GA> This doesn't work:
> ? ?GA> M <- new("dsyMatrix", uplo="U", x=0, Dim=as.integer(c(100, 100)))
> ? ?GA> Error in validObject(.Object) :
> ? ?GA> invalid class "dsyMatrix" object: length of x slot != prod(Dim)
>
> ? ?GA> Is there an easier way of doing this?
>
> I think you want a ?"dspMatrix" ?("sp" == "symmetric packed")
> instead.
>
> Before going into details: Is this topic still interesting to
> those involved almost two months ago?

Yes, please!


-- 
Gad Abraham
PhD Student, Dept. CSSE and NICTA
The University of Melbourne
Parkville 3010, Victoria, Australia
email: gabraham at csse.unimelb.edu.au
web: http://www.csse.unimelb.edu.au/~gabraham