help-octave
[Top][All Lists]
Advanced

[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
-------------------------------------------------------------



reply via email to

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