Construction of Initialized Sparse Matrices
SparseMatrix(R, m, n, Q) : Rng, RngIntElt, RngIntElt, [ <RngIntElt, RngIntElt, RngElt> ] -> MtrxSprs
SparseMatrix(R, m, n) : Rng, RngIntElt, RngIntElt -> MtrxSprs
SparseMatrix(m, n) : RngIntElt, RngIntElt -> MtrxSprs
Construction of Trivial Sparse Matrices
SparseMatrix(R) : Rng -> MtrxSprs
Example SMat_Create (H46E1)
Elementary Properties
BaseRing(A) : MtrxSprs -> Rng
NumberOfRows(A) : MtrxSprs -> RngIntElt
NumberOfColumns(A) : MtrxSprs -> RngIntElt
NumberOfNonZeroEntries(A) : MtrxSprs -> RngIntElt
Density(A) : MtrxSprs -> FldRe
Support(A, i) : MtrxSprs, RngIntElt -> [RngIntElt]
Weights
RowWeight(A, i) : MtrxSprs, RngIntElt -> RngIntElt
RowWeights(A) : MtrxSprs -> [RngIntElt]
ColumnWeight(A, j) : MtrxSprs, RngIntElt -> RngIntElt
ColumnWeights(A) : MtrxSprs -> [RngIntElt]
ColumnWeights(A) : MtrxSprs -> [RngIntElt]
Predicates
IsZero(A) : MtrxSprs -> BoolElt
A eq B : MtrxSprs, MtrxSprs -> BoolElt
Accessing or Modifying Entries
A[i, j] := x : MtrxSprs, RngIntElt, RngIntElt, RngElt ->
SetEntry(~A, i, j, x) : MtrxSprs, RngIntElt, RngIntElt, RngElt ->
Example SMat_Indexing (H46E2)
Conversion to and from Dense Matrices
Matrix(A) : MtrxSprs -> Mtrx
SparseMatrix(A) : Mtrx -> MtrxSprs
Changing Ring
ChangeRing(A, R) : MtrxSprs, Ring -> MtrxSprs
Multiplying Vectors or Matrices by Sparse Matrices
v * A : ModTupRng, MtrxSprs -> ModTupRng
MultiplyByTranspose(v, A) : ModTupRng, MtrxSprs -> ModTupRng
Nullspace
Nullspace(A) : MtrxSprs -> ModTupRng
NullspaceMatrix(A) : MtrxSprs -> Mtrx
NullspaceOfTranspose(A) : MtrxSprs -> ModTupRng
Rank
Rank(A) : MtrxSprs -> RngIntElt
Elementary Divisors (Smith Form)
ElementaryDivisors(A) : MtrxSprs -> [RngElt]
Verbosity
SetVerbose("SparseMatrix", v) : MonStgElt, RngIntElt ->
Linear Systems (Structured Gaussian Elimination)
ModularSolution(A, M) : MtrxSprs, RngIntElt -> ModTupRng