# Hadamard Matrices

- [Introduction](introduction.md)

- [Equivalence Testing](hadamard.md)

  - [`IsHadamard(H): AlgMatElt → BoolElt`](hadamard.md#function-ishadamard-algmatelt)

  - [`HadamardNormalize(H): AlgMatElt → AlgMatElt`](hadamard.md#function-hadamardnormalize-algmatelt)

  - [`HadamardCanonicalForm(H : parameters): AlgMatElt → AlgMatElt, AlgMatElt, AlgMatElt`](hadamard.md#function-hadamardcanonicalform-algmatelt)

  - [`HadamardInvariant(H): AlgMatElt → [ RngIntElt ]`](hadamard.md#function-hadamardinvariant-algmatelt)

  - [`IsHadamardEquivalent(H, J : parameters): AlgMatElt, AlgMatElt → BoolElt, AlgMatElt, AlgMatElt`](hadamard.md#function-ishadamardequivalent-algmatelt-algmatelt)

  - [`HadamardMatrixToInteger(H): AlgMatElt → RngIntElt`](hadamard.md#function-hadamardmatrixtointeger-algmatelt)

  - [`HadamardMatrixFromInteger(x, n): RngIntElt, RngIntElt → AlgMatElt`](hadamard.md#function-hadamardmatrixfrominteger-rngintelt-rngintelt)

  - [`Example: Hadamard Equiv`](hadamard.md#example-ex-709c48)

- [Associated $3$-Designs](designs.md)

  - [`HadamardRowDesign(H, i): AlgMatElt, RngIntElt → Dsgn`](designs.md#function-hadamardrowdesign-algmatelt-rngintelt)

  - [`HadamardColumnDesign(H, i): AlgMatElt, RngIntElt → Dsgn`](designs.md#function-hadamardcolumndesign-algmatelt-rngintelt)

  - [`Example: Hadamard Designs`](designs.md#example-ex-16b02c)

- [Automorphism Group](hadamard-misc.md)

  - [`HadamardAutomorphismGroup(H : parameters): AlgMatElt → AlgMatElt`](hadamard-misc.md#function-hadamardautomorphismgroup-algmatelt)

- [Databases](hadamard-database.md)

  - [`HadamardDatabase() → DB`](hadamard-database.md#function-hadamarddatabase)

  - [`SkewHadamardDatabase() → DB`](hadamard-database.md#function-skewhadamarddatabase)

  - [`Matrix(D, n, k): DB, RngIntElt, RngIntElt → AlgMatElt`](hadamard-database.md#function-matrix-db-rngintelt-rngintelt)

  - [`Matrices(D, n): DB, RngIntElt → [ AlgMatElt ]`](hadamard-database.md#function-matrices-db-rngintelt)

  - [`DegreeRange(D): DB → RngIntElt, RngIntElt`](hadamard-database.md#function-degreerange-db)

  - [`Degrees(D): DB → [ RngIntElt ]`](hadamard-database.md#function-degrees-db)

  - [`NumberOfMatrices(D, n): DB, RngIntElt → RngIntElt`](hadamard-database.md#function-numberofmatrices-db-rngintelt)

  - [`Example: Hadamard Db Eg`](hadamard-database.md#example-ex-c34b5e)

  - [Updating the Databases](hadamard-database.md#updating-the-databases)

    - [`HadamardDatabaseInformation(D : parameters): DB → Rec`](hadamard-database.md#function-hadamarddatabaseinformation-db)

    - [`HadamardDatabaseInformationEmpty(: parameters) → Rec`](hadamard-database.md#function-hadamarddatabaseinformationempty)

    - [`UpdateHadamardDatabase(~R, S : parameters): Rec, SeqEnum`](hadamard-database.md#function-updatehadamarddatabase-rec-seqenum-ref)

    - [`WriteHadamardDatabase(S, ~R): MonStgElt, Rec`](hadamard-database.md#function-writehadamarddatabase-monstgelt-rec)

    - [`WriteRawHadamardData(S, R): MonStgElt, Rec`](hadamard-database.md#function-writerawhadamarddata-monstgelt-rec)

    - [`SetVerbose("HadamardDB", v): MonStgElt, RngIntElt`](hadamard-database.md#function-setverbose-monstgelt-rngintelt)

    - [`Example: Hadamard Db Update`](hadamard-database.md#example-ex-fc270d)
