Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Back tableaux by Numpy arrays where possible #28114

Open
embray opened this issue Jul 4, 2019 · 6 comments
Open

Back tableaux by Numpy arrays where possible #28114

embray opened this issue Jul 4, 2019 · 6 comments

Comments

@embray
Copy link
Contributor

embray commented Jul 4, 2019

As #28106 demonstrates, although it is perhaps a somewhat extreme case, constructing large classes of tableaux can be very memory-hungry, as the StandardTableaux(50) case demonstrates (it chews up nearly a gigabyte of RAM).

In many cases, most individual tableaux can be represented as a single flat numpy array of small ints (8-bit unsigned for example) containing their shape data, which would save significant space. Having tableaux stored as Numpy arrays may also help speed up some algorithms, but I'm not sure about any specific cases.

CC: @nthiery @zerline @hivert @tscrim

Component: combinatorics

Issue created by migration from https://trac.sagemath.org/ticket/28114

@embray embray added this to the sage-8.9 milestone Jul 4, 2019
@nthiery
Copy link
Contributor

nthiery commented Jul 4, 2019

comment:1

Thanks for the update. The plan was to use ClonableArray's / IntArrays. Numpy arrays could be an alternative indeed.

@embray
Copy link
Contributor Author

embray commented Jul 4, 2019

comment:2

I wondered if maybe that was a possibility as well, but 8-bit numpy arrays would still probably be the most efficient.

I figured it was probably considered before but I didn't see a ticket for it.

@vbraun
Copy link
Member

vbraun commented Jul 13, 2019

comment:3

Also doctesting sage -t --long src/sage/combinat/tableau.py uses over a gigabyte of ram (RSS), what are you testing that you can't test in, say, half a gig of ram? This is probably the most memory-hungry file in the testsuite.

@embray
Copy link
Contributor Author

embray commented Dec 30, 2019

comment:4

Ticket retargeted after milestone closed

@embray embray modified the milestones: sage-8.9, sage-9.1 Dec 30, 2019
@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 14, 2020

comment:5

Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.1, sage-9.2 Apr 14, 2020
@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Aug 29, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 13, 2021

comment:7

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants