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

make hadamard_matrix() use all the Hadamard matrices Sage knows #32267

Closed
dimpase opened this issue Jul 23, 2021 · 19 comments
Closed

make hadamard_matrix() use all the Hadamard matrices Sage knows #32267

dimpase opened this issue Jul 23, 2021 · 19 comments

Comments

@dimpase
Copy link
Member

dimpase commented Jul 23, 2021

Presently hadamard_matrix() only returns matrices obtained by just two of several constructions Sage knows.

Signature:      hadamard_matrix(n, existence=False, check=True)
Docstring:     
   This function is available as hadamard_matrix(...) and
   matrix.hadamard(...).

   Tries to construct a Hadamard matrix using a combination of Paley
   and Sylvester constructions.

It should use all Sage has (these from skew_hadamard_matrix())

CC: @dcoudert

Component: combinatorics

Author: Matteo Cati

Branch/Commit: 1f2bd70

Reviewer: Dima Pasechnik

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

@dimpase dimpase added this to the sage-9.5 milestone Jul 23, 2021
@dimpase
Copy link
Member Author

dimpase commented Jul 23, 2021

comment:1

I don't think any deprecation is needed, just add more constructions.

@dimpase

This comment has been minimized.

@dimpase
Copy link
Member Author

dimpase commented Jul 23, 2021

Author: Dima Pasechnik

@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 1, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@MatteoCati
Copy link
Contributor

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 21, 2022

Commit: b750e16

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 21, 2022

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

2635312Add test failing when matrix can be generated by paleyI
7822e80Try recursive method in hadamard_matrix only if it will be successful
8afe70eAdd tests for matrices created by skew_hadamard_matrix and regular_symmetric_hadamard_matrix_with_constant_diagonal
b50f0d9Add skew_hadamard_matrix and regular_symmetric_hadamard_matrix_with_constant_diagonal to hadamard_matrix function
b750e16Fix failed test returning Unknown in hadamard_matrix

@dimpase
Copy link
Member Author

dimpase commented Oct 22, 2022

comment:8

Matteo, thanks. Have you run tests? (just checking). Run make ptestlong
on your branch, if you didn't.

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

New commits:

57a2d1dAdd test failing when matrix can be generated by paleyI
822b99aTry recursive method in hadamard_matrix only if it will be successful
c1a371eAdd tests for matrices created by skew_hadamard_matrix and regular_symmetric_hadamard_matrix_with_constant_diagonal
a411049Add skew_hadamard_matrix and regular_symmetric_hadamard_matrix_with_constant_diagonal to hadamard_matrix function
86506ceFix failed test returning Unknown in hadamard_matrix
ec34204docstring fixes for Payley constructions

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

Changed author from Dima Pasechnik to Matteo Cati

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

Reviewer: Dima Pasechnik

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

Changed commit from b750e16 to ec34204

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

comment:10

rebased over the latest 9.8.beta2, and fixed docstrings

@dimpase
Copy link
Member Author

dimpase commented Oct 24, 2022

comment:11

I've opened a followup ticket #34690

@MatteoCati
Copy link
Contributor

Changed commit from ec34204 to 1f2bd70

@MatteoCati
Copy link
Contributor

@MatteoCati
Copy link
Contributor

comment:12

Changed the hadamard_matrix method to avoid checking that the matrix is normalized, since it may not be.


New commits:

1f2bd70Do not check for normalized matrix in hadmard_matrix

@dimpase
Copy link
Member Author

dimpase commented Oct 31, 2022

comment:13

OK.

@vbraun
Copy link
Member

vbraun commented Nov 7, 2022

@vbraun vbraun closed this as completed in 58c9281 Nov 7, 2022
kryzar pushed a commit to kryzar/sage that referenced this issue Feb 6, 2023
…ices Sage knows

Presently `hadamard_matrix()` only returns matrices obtained by just two
of several constructions Sage knows.
{{{
Signature:      hadamard_matrix(n, existence=False, check=True)
Docstring:
   This function is available as hadamard_matrix(...) and
   matrix.hadamard(...).

   Tries to construct a Hadamard matrix using a combination of Paley
   and Sylvester constructions.
}}}

It should use all Sage has (these from `skew_hadamard_matrix()`)

URL: https://trac.sagemath.org/32267
Reported by: dimpase
Ticket author(s): Matteo Cati
Reviewer(s): Dima Pasechnik
kryzar pushed a commit to kryzar/sage that referenced this issue Feb 6, 2023
…es, e.g. for size 116

With sagemath#32267 done, the next not yet implemented construction is for
n=116. This was originally constructed by Williamson,
cf e.g. Marshall Hall's book
https://onlinelibrary.wiley.com/doi/book/10.1002/9781118032862

Implementing Williamson construction would be a natural way here.

URL: https://trac.sagemath.org/34690
Reported by: dimpase
Ticket author(s): Matteo Cati
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

No branches or pull requests

4 participants