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

Have a version of the search functions that does no preprocessing #66

Open
wilfwilson opened this issue Jan 31, 2022 · 0 comments
Open
Assignees
Labels
kind: new feature New features/capabilities

Comments

@wilfwilson
Copy link
Collaborator

wilfwilson commented Jan 31, 2022

As we have discussed before, we are currently not really bothering to add special cases to our packages.

Nevertheless, some optimisations and special cases will naturally creep in, and indeed, some already have: for example, if both Constraint.IsOdd and Constraint.IsEven are specified, then the search doesn't even begin (since there are no even-and-odd perms).

However, for some purposes, it may be useful to be able to use Vole, while ensuring that this never happens.

One way to do this is to use the undocumented _Vole.Solve function, etc, directly (with arguments points, find_single, find_coset, find_canonical, constraints, canonical_group, root_search)...but this is difficult. Surely it would be nicer to offer the same functions as usual, but just to guarantee that nothing clever will be done before the search commences.

I think the simplest way is just to have an option to skip the 'preprocessing' steps of the various VoleFind functions, such as VoleFind.Group and VoleFind.Rep, and simply pass the arguments directly to _Vole.Solve, etc, in the appropriate way.

Perhaps this could be a value option, e.g. VoleFind.Rep(constraint1, refiner1, constraint2 : pure)

The question is: how little processing should be done? Does it still let Vole interpret constraints into refiners, or should it only allow actual refiners as arguments?

(To some extent, this issue may also apply to BacktrackKit and GraphBacktracking).

@wilfwilson wilfwilson changed the title Have a version of the search functions that uses no Have a version of the search functions that does no preprocessing Jan 31, 2022
@wilfwilson wilfwilson self-assigned this Jan 31, 2022
@wilfwilson wilfwilson added the kind: new feature New features/capabilities label Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: new feature New features/capabilities
Projects
None yet
Development

No branches or pull requests

1 participant