- Introduction
- Creation of Matrices
- General Matrix Construction
- Shortcuts
- Matrix(m, n, Q) : RngIntElt, RngIntElt, [ RngElt ] -> Mtrx
- Matrix(m, n, Q) : RngIntElt, RngIntElt, [ [ RngElt ] ] -> Mtrx
- Matrix(Q) : [ Mtrx ] -> Mtrx
- Matrix(R, n, Q) : Rng, RngIntElt, [ RngElt ] -> Mtrx
- Matrix(n, Q) : RngIntElt, [ RngElt ] -> Mtrx
- Matrix(Q) : [ [ RngElt ] ] -> Mtrx
- Matrix(R, Q) : Rng, [ [ RngElt ] ] -> Mtrx
- Example Mat_ShortCuts (H27E2)
- Construction of Structured Matrices
- ZeroMatrix(R, m, n) : Rng, RngIntElt, RngIntElt -> Mtrx
- ScalarMatrix(n, s) : RngIntElt, RngElt -> Mtrx
- ScalarMatrix(R, n, s) : Rng, RngIntElt, RngElt -> Mtrx
- DiagonalMatrix(R, n, Q) : Rng, RngIntElt, [ RngElt ] -> Mtrx
- DiagonalMatrix(R, Q) : Rng, [ RngElt ] -> Mtrx
- DiagonalMatrix(Q) : [ RngElt ] -> Mtrx
- Matrix(A) : Mtrx -> Mtrx
- LowerTriangularMatrix(Q) : [ RngElt ] -> Mtrx
- LowerTriangularMatrix(R, Q) : Rng, [ RngElt ] -> Mtrx
- UpperTriangularMatrix(Q) : [ RngElt ] -> Mtrx
- UpperTriangularMatrix(R, Q) : Rng, [ RngElt ] -> Mtrx
- SymmetricMatrix(Q) : [ RngElt ] -> Mtrx
- SymmetricMatrix(R, Q) : Rng, [ RngElt ] -> Mtrx
- AntisymmetricMatrix(Q) : [ RngElt ] -> Mtrx
- AntisymmetricMatrix(R, Q) : Rng, [ RngElt ] -> Mtrx
- PermutationMatrix(R, Q) : Rng, [ RngIntElt ] -> Mtrx
- PermutationMatrix(R, x) : Rng, GrpPermElt -> Mtrx
- Example Mat_Shortcuts (H27E3)
- Construction of Random Matrices
- RandomMatrix(R, m, n) : Rng, RngIntElt, RngIntElt -> Mtrx
- RandomUnimodularMatrix(n, M) : RngIntElt, RngIntElt -> Mtrx
- RandomSLnZ(n, k, l) : RngIntElt, RngIntElt, RngIntElt -> AlgMatElt
- RandomGLnZ(n, k, l) : RngIntElt, RngIntElt, RngIntElt -> AlgMatElt
- RandomSymplecticMatrix(g, m) : RngIntElt, RngIntElt -> Mtrx
- Creating Vectors
- Elementary Properties
- Accessing or Modifying Entries
- Indexing
- A[i] : Mtrx, RngIntElt -> ModTupRngElt
- A[i, j] : Mtrx, RngIntElt, RngIntElt -> RngElt
- A[Q] : Mtrx, [ RngIntElt ] -> RngElt
- A[i] := v : Mtrx, RngIntElt, Mtrx ->
- A[i, j] := x : Mtrx, RngIntElt, RngIntElt, RngElt ->
- Example Mat_Indexing (H27E4)
- Extracting and Inserting Blocks
- Submatrix(A, i, j, p, q) : Mtrx, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> Mtrx
- SubmatrixRange(A, i, j, r, s) : Mtrx, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> Mtrx
- Submatrix(A, I, J) : Mtrx, [RngIntElt], [RngIntElt] -> Mtrx
- InsertBlock(A, B, i, j) : Mtrx, Mtrx, RngIntElt, RngIntElt -> Mtrx
- RowSubmatrix(A, i, k) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- RowSubmatrix(A, i) : Mtrx, RngIntElt -> Mtrx
- RowSubmatrixRange(A, i, j) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- ColumnSubmatrix(A, i, k) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- ColumnSubmatrix(A, i) : Mtrx, RngIntElt -> Mtrx
- ColumnSubmatrixRange(A, i, j) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- Example Mat_Submatrix (H27E5)
- Row and Column Operations
- SwapRows(A, i, j) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- SwapColumns(A, i, j) : Mtrx, RngIntElt, RngIntElt -> Mtrx
- ReverseRows(A) : Mtrx -> Mtrx
- ReverseColumns(A) : Mtrx -> Mtrx
- AddRow(A, c, i, j) : Mtrx, RngElt, RngIntElt, RngIntElt -> Mtrx
- AddColumn(A, c, i, j) : Mtrx, RngElt, RngIntElt, RngIntElt -> Mtrx
- MultiplyRow(A, c, i) : Mtrx, RngElt, RngIntElt -> Mtrx
- MultiplyColumn(A, c, i) : Mtrx, RngElt, RngIntElt -> Mtrx
- RemoveRow(A, i) : Mtrx, RngIntElt -> Mtrx
- RemoveColumn(A, j) : Mtrx, RngIntElt -> Mtrx
- RemoveRowColumn(A, i, j) : Mtrx, RngIntElt -> Mtrx
- RemoveZeroRows(A) : Mtrx -> Mtrx
- Example Mat_RowColumnOps (H27E6)
- Building Block Matrices
- BlockMatrix(m, n, blocks) : RngIntElt, RngIntElt, [ Mtrx ] -> Mtrx
- BlockMatrix(m, n, rows) : RngIntElt, RngIntElt, [ [ Mtrx ] ] -> Mtrx
- HorizontalJoin(X, Y) : Mtrx, Mtrx -> Mtrx
- HorizontalJoin(Q) : [ Mtrx ] -> Mtrx
- VerticalJoin(X, Y) : Mtrx, Mtrx -> Mtrx
- VerticalJoin(Q) : [ Mtrx ] -> Mtrx
- DiagonalJoin(X, Y) : Mtrx, Mtrx -> Mtrx
- DiagonalJoin(Q) : [ Mtrx ] -> Mtrx
- KroneckerProduct(A, B) : Mtrx, Mtrx -> Mtrx
- Changing Ring
- Elementary Arithmetic
- A + B : Mtrx, Mtrx -> Mtrx
- A - B : Mtrx, Mtrx -> Mtrx
- A * B : Mtrx, Mtrx -> Mtrx
- x * A : RngElt, Mtrx -> Mtrx
- - A : Mtrx -> Mtrx
- A ^ -1 : Mtrx, RngIntElt -> Mtrx
- A ^ n : Mtrx, RngIntElt -> Mtrx
- Transpose(A) : Mtrx -> Mtrx
- AddScaledMatrix(A, s, B) : Mtrx, RngElt, Mtrx -> Mtrx
- AddScaledMatrix(~A, s, B) : Mtrx, RngElt, Mtrx ->
- Nullspaces and Solutions of Systems
- Nullspace(A) : Mtrx -> ModTupRng
- NullspaceMatrix(A) : Mtrx -> ModTupRng
- NullspaceOfTranspose(A) : Mtrx -> ModTupRng
- IsConsistent(A, W) : Mtrx, Mtrx -> BoolElt, Mtrx, ModTupRng
- IsConsistent(A, Q) : Mtrx, [ ModTupRng ] -> BoolElt, [ ModTupRngElt ], ModTupRng
- Solution(A, W) : ModMatRngElt, ModTupRng -> ModTupRngElt, ModTupRng
- Solution(A, Q) : ModMatRngElt, [ ModTupRng ] -> [ ModTupRngElt ], ModTupRng
- Example Mat_Nullspace (H27E7)
- Example Mat_Solution (H27E8)
- Predicates
- Determinant and Other Properties
- Determinant(A: parameters) : Mtrx -> RngElt
- Trace(A) : Mtrx -> RngElt
- TraceOfProduct(A, B) : Mtrx, Mtrx -> RngElt
- Rank(A) : Mtrx -> RngIntElt
- Minor(M, i, j) : Mtrx, RngIntElt, RngIntElt -> RngElt
- Minor(M, I, J) : Mtrx, [RngIntElt], [RngIntElt] -> RngElt
- Minors(M, r) : Mtrx, RngIntElt -> SeqEnum
- Cofactor(M, i, j) : Mtrx, RngIntElt, RngIntElt -> RngElt
- Cofactors(M) : Mtrx -> SeqEnum
- Cofactors(M, r) : Mtrx, RngIntElt -> SeqEnum
- Pfaffian(M) : Mtrx -> RngElt
- Minimal and Characteristic Polynomials and Eigenvalues
- Canonical Forms
- Canonical Forms over General Rings
- Canonical Forms over Fields
- PrimaryRationalForm(A) : Mtrx -> AlgMatElt, AlgMatElt, [ <RngUPolElt, RngIntElt ]
- JordanForm(A) : Mtrx -> Mtrx, AlgMatElt, [ <RngUPolElt, RngIntElt> ]
- RationalForm(A) : Mtrx -> Mtrx, AlgMatElt, [ RngUPolElt ]
- PrimaryInvariantFactors(A) : Mtrx -> [ <RngUPolElt, RngIntElt> ]
- InvariantFactors(A) : Mtrx -> [ RngUPolElt ]
- IsSimilar(A, B) : AlgMatElt, AlgMatElt -> BoolElt, AlgMatElt
- HessenbergForm(A) : Mtrx -> AlgMatElt
- FrobeniusFormAlternating(A) : AlgMatElt -> SeqEnum
- Example Mat_CanonicalForms (H27E9)
- Canonical Forms over Euclidean Domains
- Orders of Invertible Matrices
- Numerical Linear Algebra
- Miscellaneous Operations on Matrices
- Bibliography
V2.28, 13 July 2023