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

Implement new orders of skew Hadamard matrices #34848

Closed
MatteoCati opened this issue Dec 14, 2022 · 30 comments · Fixed by #34985
Closed

Implement new orders of skew Hadamard matrices #34848

MatteoCati opened this issue Dec 14, 2022 · 30 comments · Fixed by #34985

Comments

@MatteoCati
Copy link
Contributor

In #34807, new hadamard matrices up to order 664has been constructed (668 is the smallest unresolved case). the next step is to add more constructions for skew hadamrd matrices.

According to https://arxiv.org/pdf/2301.02751.pdf, the first unresolved case is 356.

Depends on #34807
Depends on #34892

CC: @dimpase

Component: combinatorics

Author: Matteo Cati

Branch/Commit: u/gh-MatteoCati/add_new_skew_hadamard_matrices @ 67b74bf

Reviewer: Dima Pasechnik

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

@MatteoCati
Copy link
Contributor Author

@MatteoCati
Copy link
Contributor Author

Commit: 553a8d4

@MatteoCati
Copy link
Contributor Author

Last 10 new commits:

67e9000Add Spence skew hadamard matrix construction
4f7b28fAdd skew SDS of size 37 and 43
bc4d841Add more skew SDS
868dcd9Refactor GS_skew_hadamard_smallcases
4dedee0Add skew SDS for matrix of order 388
eac0e72Add skew hadamard matrix of order 188
2b5db0eAdd skew SDS of order 109, 145, 247
dd8b477Fix whitespaces
4b852c2Add skew Hadmard matrix order 324
553a8d4Add 324 construction to skew hadamard function

@MatteoCati MatteoCati self-assigned this Jan 12, 2023
@dimpase
Copy link
Member

dimpase commented Jan 13, 2023

Attachment: hm.pdf.gz

reference for skew-Hadamard matrix of order 116

@dimpase
Copy link
Member

dimpase commented Jan 13, 2023

comment:2

my OCR attempt didn't work on the most interesting part of the scan, so here is the original scan in pdf.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 15, 2023

Changed commit from 553a8d4 to ea4a67c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 15, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

e316c8dFix documentation for SDS
9ae928fAdd skew Hadamard matrix construction from good matrices
77f5b10Add function for smallcases of good matrices
be38d08Add skew matrices from good matrices to general function
5f8eddcAdd skew Hadamard matrix of order 236
ff1de29Add skew Hadamard matrix of order 276
ea4a67cAdd Whiteman construction for skew Hadamard matrix of order 340

@MatteoCati
Copy link
Contributor Author

comment:4

Added three new constructions:

  • Whiteman contruction (used for matrix of order 340)
  • Construction from good matrices (for order 100 and 116)
  • Spence construction for skew hadamard matrices of order n=2(q+1) where q = 5 (mod 8)

Also, more data has been added for skew Supplementary Difference Sets, as well as for the Williamson-Goethals-Seidel construction. The Hadamard matrix of order 324 is implemented using skew SDS, but it is done in a separate function since the sets are created in a different way from all the others.

Up to order 668, all the skew Hadamard matrices can now be constructed with the exception of orders 356, 404, 428, 476, 596, 612, 668 (for which no construction is known), and 292 (for which the construction still needs to be implemented).

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2023

Changed commit from ea4a67c to 0e95f98

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

0e95f98Fix good matrices construction

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2023

Changed commit from 0e95f98 to 5dd0439

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

5dd0439Fix tests of construction of skew Hadamard matrices from good matrices

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2023

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

d4e35a9Add function for smallcases of good matrices
98487bfAdd skew matrices from good matrices to general function
5c3e94dAdd skew Hadamard matrix of order 236
004cc4fAdd skew Hadamard matrix of order 276
e64051eAdd Whiteman construction for skew Hadamard matrix of order 340
d51a157Fix good matrices construction
4ef8680Fix tests of construction of skew Hadamard matrices from good matrices
29a6d86Fix trailing whitespaces in difference_family.py
2116084Fix trailing whitespaces in hadamard_matrix.py
5912ae4Fix code style for hadamard_matrix.py

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2023

Changed commit from 5dd0439 to 5912ae4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2023

Changed commit from 5912ae4 to 63101bc

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

c41e4d7fixing the linter again
4c30a09Merge branch 'fixing_linter' into add_new_skew_hadaard_matrices
63101bcAdd skew sds for skew Hadamard matrix of order 292

@MatteoCati

This comment has been minimized.

@MatteoCati
Copy link
Contributor Author

comment:9

All known skew Hadamard matrices of order < 668 can now be constructed.
The orders for which no skew Hadamard matrix is currently known are: 356, 404, 428, 476, 596, 612, 668. (see https://arxiv.org/pdf/2301.02751.pdf).

@MatteoCati
Copy link
Contributor Author

Changed dependencies from #34807 to #34807, #34892

@dimpase
Copy link
Member

dimpase commented Jan 26, 2023

comment:10

the size 292 case ​63101bc should mention somewhere that it's from a personal communication by D. Djokovic.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

02b174fAdd reference for skew SDS of size 73

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2023

Changed commit from 63101bc to 02b174f

@dimpase
Copy link
Member

dimpase commented Jan 27, 2023

comment:12

For the ease of testing, can we have is_skew_hadamard() function?

As well, an option skew= for the function which normalises Hadamard matrices?
(the result should be skew, and have all-1s first row - if started from a skew matrix)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 27, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

0fd4540normalise_hadamard can make matrix skew-normalized
f99dabaadd function is_skew_hadamard_matrix

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 27, 2023

Changed commit from 02b174f to f99daba

@MatteoCati
Copy link
Contributor Author

comment:14

I've added the skew option to normalise_hadamard, and modified is_hadamard_matrix so that if both skew and normalize are true, the function works correctly.

I've also added the is_skew_hadamard_matrix function.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 27, 2023

Branch pushed to git repo; I updated commit sha1. New commits:

67b74bfFix is_skew_hadamard_matrix documentation

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 27, 2023

Changed commit from f99daba to 67b74bf

@dimpase
Copy link
Member

dimpase commented Jan 28, 2023

Reviewer: Dima Pasechnik

@dimpase dimpase changed the title Implement new orders of skew hadamard matrices Implement new orders of skew Hadamard matrices Jan 28, 2023
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
@dimpase
Copy link
Member

dimpase commented Feb 11, 2023

fixed by #34985

@dimpase dimpase closed this as completed Feb 11, 2023
vbraun pushed a commit that referenced this issue Feb 24, 2023
    
Fixes #34848.
    
URL: #34985
Reported by: MatteoCati
Reviewer(s): Dima Pasechnik
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants