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

Strength 2 Covering Array constructions #37372

Merged
merged 12 commits into from
Aug 10, 2024

Conversation

aadwyer
Copy link
Contributor

@aadwyer aadwyer commented Feb 16, 2024

This patch aims to add functionality to the covering arrays module that was recently added to SageMath. It adds methods that create many covering arrays of strength 2 that can later be used for recursive constructions as well.

Specifically: added methods to generate covering arrays and a main CA function to call them based on inputted parameters.
Added methods include direct implementation of optimal arrays in the database of small combinatorial designs, methods that create a CA(N,t=2,k,v=2), for either k or N inputted and a recursive method that removes columns from a larger array. Added required documentation and reference for new methods.

This fixes #37371

call them based on inputted paramters. Added methods include direct
implementation of optimal arrays in the database of small
combinatorial designs, methods that create a CA(N,t=2,k,v=2), for
either k or N inputted and a recursive method that removes columns
from a larger array.

Added required documentation and reference for new methods.
Copy link

github-actions bot commented Feb 16, 2024

Documentation preview for this PR (built with commit 0aa6f44; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

Copy link

@sraaphorst sraaphorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good in terms of logic. Some changes should be made for standardization and correctness.

src/sage/combinat/designs/covering_array.py Outdated Show resolved Hide resolved
src/sage/combinat/designs/covering_array.py Outdated Show resolved Hide resolved
src/sage/combinat/designs/covering_array.py Outdated Show resolved Hide resolved
src/sage/combinat/designs/covering_array.py Outdated Show resolved Hide resolved
aadwyer and others added 3 commits June 11, 2024 20:04
more generally so it does not need to be changed if things are
added. Also edited some functions to produce the same output
more efficiently. Fixed some formatting and punctuation errors.
@aadwyer
Copy link
Contributor Author

aadwyer commented Jun 17, 2024

The Lint check is failing because of a 'check == True' statement I made. I used it because the function 'orthogonal_array' may output 'Unknown', in which case I would like to ignore it. What is the recommended way that I handle this?

Changed ValueError to NotImplementedError
Co-authored-by: Matthias Köppe <mkoeppe@math.ucdavis.edu>
aadwyer and others added 2 commits August 1, 2024 18:54
Copy link
Contributor

@mkoeppe mkoeppe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

vbraun pushed a commit to vbraun/sage that referenced this pull request Aug 5, 2024
    
This patch aims to add functionality to the covering arrays module that
was recently added to SageMath. It adds methods that create many
covering arrays of strength 2 that can later be used for recursive
constructions as well.

Specifically: added methods to generate covering arrays and a main CA
function to call them based on inputted parameters.
Added methods include direct implementation of optimal arrays in the
database of small combinatorial designs, methods that create a
CA(N,t=2,k,v=2), for either k or N inputted and a recursive method that
removes columns from a larger array. Added required documentation and
reference for new methods.

This fixes sagemath#37371
    
URL: sagemath#37372
Reported by: Aaron Dwyer
Reviewer(s): Aaron Dwyer, Matthias Köppe, Sebastian Raaphorst
@vbraun vbraun merged commit 27c9b02 into sagemath:develop Aug 10, 2024
17 of 20 checks passed
@mkoeppe mkoeppe added this to the sage-10.5 milestone Aug 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding strength 2 covering array methods
5 participants