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

Inefficient Handling of Sorted Permutations? #199

Open
DavePearce opened this issue Jun 14, 2024 · 1 comment
Open

Inefficient Handling of Sorted Permutations? #199

DavePearce opened this issue Jun 14, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@DavePearce
Copy link
Collaborator

DavePearce commented Jun 14, 2024

There is something that struck me looking at the documentation for Corset. Specifically, this example:

(defpermutation (A' B' C') ((↓ A) (↑ B) C))

Where the documentation says:

Here, A', B', and C' are defined as a sorted permutation of the columns A, B, and C, in increasing order of A values, then in decreasing order of B values, and independently of C values.

In fact it seems that, for columns which are not given a sign (e.g. C above), Corset defaults to giving the a positive sign. As such, it then generates constraints to enforce this using deltas. It seems that some of those constraints may be unnecessary. Of course the delta column will always exist, but some of the other columns presumably don't need to?

@DavePearce DavePearce added the enhancement New feature or request label Jun 14, 2024
@delehef
Copy link
Contributor

delehef commented Jun 14, 2024

It seems that some of those constraints may be unnecessary.

IIUC, not enforcing the constraints on the delat would mean that the column C may be re-ordered in whatever fashion; which is probably not the behavior expected by the user.

One could remove the default-to-positive and enforce an explicit sorting criterion for each and every column, but I don't think that no criterion at all would be a good thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants