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

QQRCode generator matrix oddities #106

Open
osj1961 opened this issue Jan 26, 2025 · 0 comments
Open

QQRCode generator matrix oddities #106

osj1961 opened this issue Jan 26, 2025 · 0 comments

Comments

@osj1961
Copy link
Collaborator

osj1961 commented Jan 26, 2025

Quasi-quadratic residue codes are supposed to have double-circulant generator matrices [A,B] where both blocks are pxp circulant matrices with 1's in the quadratic residue position in A and in the non-quadratic residue positions in B.
According to the (old) manual:

a linear [14,7,1..4]3..5 code defined by generator matrix over GF(2)
gap> G1:=GeneratorMat(C1);;
gap> Display(G1);
 . 1 1 . 1 . . . . . 1 . 1 1
 1 . 1 1 1 . . . . 1 1 1 . 1
 . . . 1 1 . 1 . 1 1 . . . 1
 . . 1 . 1 1 1 1 . 1 . . 1 1
 . . . . . . . 1 . . 1 1 1 .
 . . . . . . . . . 1 1 1 . 1
 . . . . . . . . 1 . . 1 1 1
gap> Display(C1!.DoublyCirculant);
 . 1 1 . 1 . . . . . 1 . 1 1
 1 1 . 1 . . . . . 1 . 1 1 .
 1 . 1 . . . 1 . 1 . 1 1 . .
 . 1 . . . 1 1 1 . 1 1 . . .
 1 . . . 1 1 . . 1 1 . . . 1
 . . . 1 1 . 1 1 1 . . . 1 .
 . . 1 1 . 1 . 1 . . . 1 . 1 

Where does the (clearly not doubly-circulant) generator matrix come from?
The current implementation returns the DC matrix but the rows are cycled in the opposite direction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant