Bill Allombert on Wed, 19 Apr 2017 21:13:37 +0200

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

Re: 4 Gigabytes of RAM are not enough!

On Wed, Apr 19, 2017 at 05:01:28AM -0400, R J Cano wrote:
>   Greetings,
>   This time featuring a problem that seems to be a RAM-memory's pacman
> monster...
>   Briefly: If you are looking for arbitrary symmetric/antisymmetric
> patterns inside the first N!-1 terms of A217626, ...for N>6
> the problem becomes (yet inclusive if having a very simple and
> efficient script!) intractable due there is no enough RAM to complete
> the corresponding report...
>  Attached to this mail comes a PARI/GP script which can be used to
> appreciate that issue.
> The usage is simple, load it and set:
> p=vecDiff(A217626_vec_1(7));
> then run the following search&report:
> q=Patterns(p,1,5,1);
> Which tells Patterns( ) to search for any pattern of size 5, and
> exclusively (e=1) size 5,
> For example the pattern [1,9,2,9,1] or the first 3!-1 terms of A217626
> should be present (7-3+1)! = 120 times; However: The execution crashes
> before allowing us to verify that!!, giving up due lacking of stack.

The problem is that the output of Patterns is too large to fit
in the memory, this is not a problem with the algorithm:

? p=vecDiff(A217626_vec_1(6));
? q=Patterns(p,1,5,1);
? sizebyte(q)
%15 = 1998476512

so q is almost 2GB. You need to find a more compact representation for
the output of Patterns if you want to go farther


PS: please avoid crossposting between pari-dev and pari-users, a lot of
people are subscribed to both lists and so receive it twice.