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

Add Construction of Hadamard matrices up to order 664 #34807

Closed
MatteoCati opened this issue Nov 29, 2022 · 20 comments
Closed

Add Construction of Hadamard matrices up to order 664 #34807

MatteoCati opened this issue Nov 29, 2022 · 20 comments

Comments

@MatteoCati
Copy link
Contributor

With #34690, all the Hadamard matrices of order <=288 have been added. The next task is to implement matrices of order up to 664 (668 is the first order for which no construction is known). This will require implementing https://core.ac.uk/download/pdf/82189436.pdf, as well as adding some more data for the constructions that are already present.

Depends on #34690

CC: @dimpase

Component: combinatorics

Author: Matteo Cati

Branch/Commit: 1f624a4

Reviewer: Dima Pasechnik

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

@MatteoCati
Copy link
Contributor Author

Commit: 7e803fb

@MatteoCati
Copy link
Contributor Author

Last 10 new commits:

8eb2285Add spence construction to general construction function
7d9100bAdd construction for base sequences
3ac2cc2Generalize construction of T-sequences to work with base sequences
733065bAdd Turyn type sequences smallcases
369f513Add construction for small cases of base sequences
8ba531eUse base sequences in general T-sequences construction
129351fAdd williamson type matrices of order 7
8adf237Add williamson type matrices of order 9
5d329b3Add construction of skew supplementary difference sets
7e803fbAdd construction of skew Hadamard matrices from skew SDS

@MatteoCati
Copy link
Contributor Author

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 8, 2022

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

cb9b0cafix documentation in difference_family

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 8, 2022

Changed commit from 7e803fb to cb9b0ca

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 8, 2022

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

b51cc14fix seealso directive in T sequences docs

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 8, 2022

Changed commit from cb9b0ca to b51cc14

@dimpase
Copy link
Member

dimpase commented Dec 8, 2022

comment:4

Wow! That's impressive! Could you say a bit what's in that almost 3000 lines you add here?

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 9, 2022

Changed commit from b51cc14 to 2cb617c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 9, 2022

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

133e9d1Fix failing test in base_sequences_smallcases
2cb617cFix typos in documentations

@MatteoCati
Copy link
Contributor Author

comment:6
  • I've implemented Spence construction in hadamard_matrix.py. This uses the supplementary difference sets created by supplementary_difference_set in difference_faimilies.py. In the same file, the relative difference sets used by Spence to construct supplementary difference sets are created by the function relative_difference_set.
  • In t_sequences.py, I've added some new T-sequences. These are constructed from base sequences using the function T_sequences_construction_from_base_sequences (this function was already present, but was being used only for the case when p=1). Also, base sequences are constructed from Turyn type sequences using the (new) function base_sequences_construction (I've also added the function is_base_sequences_tuple, to check that the construction is correct). Turyn type sequences are stored directly in turyn_type_sequences_smallcases.
  • Lastly, I've added in difference_family.py the function skew_supplementary_difference_set which creates skew SDS (as described by Djokovic in https://ajc.maths.uq.edu.au/pdf/10/ocr-ajc-v10-p259.pdf), which are used by GS_skew_hadamard_smallcases in hadamard_matrix.py to create new skew Hadamard matrices.

Also, note that the older commits (up until bd025a2) are coming from ticket #34690.

@dimpase
Copy link
Member

dimpase commented Dec 9, 2022

comment:7

Does this mean that we also have new (for Sage) orders for skew Hadamard matrices?

@MatteoCati
Copy link
Contributor Author

comment:8

Yes, I've added skew Hadamard matrices of order 268, 412, 452, 508, 604, 628, 652, 724, 964.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 11, 2022

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

e231e5eAdd construction for small cases of base sequences
fcdcbb7Use base sequences in general T-sequences construction
df544a0Add williamson type matrices of order 7
35fffdaAdd williamson type matrices of order 9
8097830Add construction of skew supplementary difference sets
fbc27fcAdd construction of skew Hadamard matrices from skew SDS
7a9e002fix documentation in difference_family
eb3474dfix seealso directive in T sequences docs
3d6f3fbFix failing test in base_sequences_smallcases
1f624a4Fix typos in documentations

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 11, 2022

Changed commit from 2cb617c to 1f624a4

@MatteoCati
Copy link
Contributor Author

comment:10

Rebased over latest beta.

@dimpase
Copy link
Member

dimpase commented Dec 13, 2022

comment:11

Replying to Matteo Cati:

Yes, I've added skew Hadamard matrices of order 268, 412, 452, 508, 604, 628, 652, 724, 964.

nice.

How about bringing Sage up to date w.r.t. skew Hadamard matrices too?
I actually don't know what the 1st unknown order is in this case (something that's probably mentioned in the literature, I didn't try too hard to find this),
but I noticed that Sage does not know about orders 76, 100, and 116, whereas examples are known, see e.g.

https://mathscinet.ams.org/mathscinet-getitem?mr=2416980

@dimpase
Copy link
Member

dimpase commented Dec 13, 2022

Reviewer: Dima Pasechnik

@MatteoCati
Copy link
Contributor Author

comment:14

Replying to Dima Pasechnik:

How about bringing Sage up to date w.r.t. skew Hadamard matrices too?

Okay, I will open a new ticket (#34848).

@vbraun
Copy link
Member

vbraun commented Jan 5, 2023

Changed branch from u/gh-MatteoCati/add_hadamard_matrices_up_to_664 to 1f624a4

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

3 participants