Hadamard matrices #
This file defines Matrix.IsHadamard, a unified notion that specializes to the classical real
Hadamard matrices over ℝ/ℤ (where star is trivial and entries are ±1) and to the complex
Hadamard matrices over ℂ (where entries have unit norm). Basic results: conjugate-transpose
closure, the order identity n = s * star s from constant row or column sums, the Sylvester
(Kronecker) construction, and the divisibility obstruction 4 ∣ n.
References #
A square matrix over a *-semiring whose entries are unitary and whose rows and columns are
orthogonal with respect to the conjugate transpose:
A * Aᴴ = n • 1 and Aᴴ * A = n • 1.
Over a commutative ring in which the order is regular, the one-sided condition from
Definition 2.3.1 implies this predicate by
IsHadamard.of_mul_conjTranspose; over a ring with trivial star (e.g. ℝ, ℤ), the entry
condition becomes A i j = 1 ∨ A i j = -1. Over ℂ, the entry condition becomes ‖A i j‖ = 1,
generalizing the fourth-root complex Hadamard matrices of
Definition 2.7.1.
Instances For
The conjugate transpose of a Hadamard matrix is Hadamard.
Permuting the rows and columns of a Hadamard matrix gives a Hadamard matrix.
The Kronecker product of two Hadamard matrices is Hadamard.
A Hadamard matrix with constant column sum s has order s * star s, provided the order
is regular in R.
The row-sum form is IsHadamard.card_eq_star_mul_of_const_row_sum; over a ring with trivial
star the conclusion becomes (Fintype.card n : R) = s ^ 2, a slightly stronger form of
Theorem 2.3.7: only a constant sum hypothesis on one side is needed
under the two-sided orthogonality condition.
A Hadamard matrix with constant row sum s has order star s * s, provided the order
is regular in R. This generalizes Theorem 2.3.7.
The transpose of a Hadamard matrix is Hadamard.
Unlike IsHadamard.conjTranspose this requires commutativity: over a noncommutative ring the
transpose of a Hadamard matrix need not be Hadamard.
Negating a Hadamard matrix gives a Hadamard matrix.
A matrix is Hadamard iff its negation is.
The Hadamard determinant identity: det A * star (det A) = (card n)^(card n).
The Hadamard determinant identity: star (det A) * det A = (card n)^(card n).
A Hadamard matrix over a reduced commutative ring has nonzero determinant, provided the order
is nonzero in R.
The determinant of a Hadamard matrix is regular, provided the order is regular in R.
Build a Hadamard matrix from the one-sided row-orthogonality condition, provided the order is
regular in R.
This is the matrix form of Theorem 2.3.6.
An integer Hadamard matrix of order greater than two has order divisible by four.
This is the standard divisibility obstruction in Section 2.3.