[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: manipulating sparse matrices
From: |
David Bateman |
Subject: |
Re: manipulating sparse matrices |
Date: |
Sat, 15 Oct 2005 14:18:34 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
Mike Miller a écrit :
I'm using Octave 2.1.71 on Linux with Octave-Forge 2005.06.13.
I have two questions about sparse matrices...
If I do this...
a = speye(1000);
a(1,1) = 2;
...the resulting 'a' matrix is no longer of class "sparse" and it
takes up 8 MB of RAM. That's not good for me. Is there a way to
reassign an element of a sparse matrix without changing its class? I
believe this just works in 2.9, but is there a way to do it in 2.1.71?
Andy responded to this one....
How can I find out how much memory is being used by a sparse matrix?
If I do this...
octave:33> a=speye(1000);
octave:34> whos a
...I am told "Total is 1000000 elements using 0 bytes," but is it
really zero bytes? That's an impressive feat. There seems to be a
function called nzmax that will tell me the memory allocation, but I
can't figure out how to get that function...
http://octave.sourceforge.net/index/f/nzmax.html
nzmax is in 2.9, as the source-forge index was I believe based on a
2.9.2 release, it should probably be updated soon as many things have
changed (eg statistics functions, etc). The 0bytes is a missing feature
in the octave-forge sparse functions as the bytes size in the whos
function I believe was added at 2.1.58, after the octave-forge sparse
stuff was written. Basically, it needs to implement a byte_size()
function to return the value that will be printed.. This also works in 2.9.3
As you were asking about cholesky factorizations previously, I've just
gotten sparse cholesky factorizations working with cholmod and will
commit this soon, I want to try to address the chol2inv, cholinv and inv
functions, and update the docs first though...
Cheers
David
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------