|From:||Jiang, Yanda [E CPE]|
|Subject:||Re: out of memory or dimension too large for Octave's index type|
|Date:||Wed, 26 Oct 2022 22:51:00 +0000|
Is there any way to increase intmax of Octave? In other words, from 32bit to 64 bit.
From: Nicholas Jankowski <firstname.lastname@example.org>
Sent: Wednesday, October 26, 2022 12:52 PM
To: Octave help <email@example.com>; Jiang, Yanda [E CPE] <firstname.lastname@example.org>; Markus Mützel <email@example.com>
Subject: Re: out of memory or dimension too large for Octave's index type
it is a known issue that certain operations on sparse arrays result in full arrays. just to confirm, you gave the line:
sparse(Bf(:, noref)) / sparse(Bbus(noslack, noref))
so they are both already sparse, you're just recasting them as sparse again to ensure that the output of your indexing call remains sparse? my understanding is that indexing operations on sparse arrays stay sparse whether they result in larger or smaller arrays, so the 'sparse' function calls there shouldn't be necessary.
I also believe the matrix division preserves sparseness. that seems to be the case with some simple tests at least.
is H already sparse? you're inserting sparse data into an existing array. maybe that's triggering the full conversion?
|[Prev in Thread]||Current Thread||[Next in Thread]|