octave-maintainers
[Top][All Lists]
Advanced

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

Re: [Pkg-octave-devel] Bug#706376: octave: sparse matrix n*2^16


From: Jordi Gutiérrez Hermoso
Subject: Re: [Pkg-octave-devel] Bug#706376: octave: sparse matrix n*2^16
Date: Mon, 29 Apr 2013 14:00:25 -0400

On 29 April 2013 13:21, Ed Meyer <address@hidden> wrote:
>
>
> On Mon, Apr 29, 2013 at 9:47 AM, Jordi Gutiérrez Hermoso
> <address@hidden> wrote:
>>
>>
>> All matrices need to be linearly indexable, and of course, this is how
>> they are actually stored in memory, as a single long array indexed by
>> a single index. Thus, the total number of indexable elements of a
>> matrix can't be larger than
>> std::numeric_limits<octave_idx_type>::max().
>>
>> There could be some tricks we could do to relax this requirement for
>> sparse matrices, but it would require some pretty deep surgery of the
>> current code.

> true for full matrices but sparse matrices are stored as three arrays and
> the nonzero
> and row index arrays are the only ones that need be limited. So you are
> saying that
> sparse matrices are treated as full in some places?

No, the issue is that *all* indices are limited to octave_idx_type. We
would have to do some sort of deep surgery to introduce a special
indexing type for sparse matrices only. It seems like a lot of work
for potentially little benefit.

And yes, sparse matrices can be indexed by a single index instead of
two, like any other matrix. Internally in Octave's source, the
assumption that a single index of octave_idx_type is available is used
throughout.

- Jordi G. H.


reply via email to

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