help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: load sparse matrix from matlab hdf5 file


From: Martin Helm
Subject: Re: load sparse matrix from matlab hdf5 file
Date: Fri, 01 Apr 2011 00:35:30 +0200

Am Freitag, den 01.04.2011, 00:07 +0200 schrieb Martin Helm: 
> Am Donnerstag, den 31.03.2011, 18:41 +0200 schrieb Christian Fischer: 
> > Hi
> > 
> > I want to load a sparse matrix from hdf5 file created by matlab.
> > I ended up with a struct like:
> > 
> > octave3.3.54:3> a
> > a =
> > {
> >   data =
> > 
> >      1   2   3
> > 
> >   ir =
> > 
> >     0  1  2
> > 
> >   jc =
> > 
> >     0  1  2  3
> > 
> > }
> > 
> > Is it possible to load the matrix as sparse matrix? Or is there a quick way 
> > to
> > convert the struct into a sparse matrix in octave.
> > 
> > Thank you for your help
> > Christian
> > 
> 
> This is most probably compressed column storage with zero based indexes,
> but to be sure can you post the output from a bit more complex matrix to
> identify it really.
> 
> In matlab create sparse(magic(4)) export that and show the output after
> export to hdf5 and input into octave.
> 
> I do not have matlab so I cannot check it myself.
> 
> Assuming it is ccs something like that should do:
> 
>         n = length(a.jc)-1;
>         ii = repelems(1:n, [1:n; diff(a.jc)]);
>         mat = sparse(a.ir+1, ii, a.data);
> 
> mat should now contain the correct sparse matrix, but please check that
> with some tests.
Addendum: A good introduction to that data structures can be found in
ftp://ftp.netlib.org/templates/templates.ps
Chapter 4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]