[Next][Prev] [Right] [Left] [Up] [Index] [Root]

SPARSE MATRICES

 
Acknowledgements
 
Introduction
 
Creation of Sparse Matrices
      Construction of Initialized Sparse Matrices
      Construction of Trivial Sparse Matrices
      Construction of Structured Matrices
      Parents of Sparse Matrices
 
Accessing Sparse Matrices
      Elementary Properties
      Weights
 
Accessing or Modifying Entries
      Extracting and Inserting Blocks
      Row and Column Operations
 
Building Block Matrices
 
Conversion to and from Dense Matrices
 
Changing Ring
 
Predicates
 
Elementary Arithmetic
 
Multiplying Vectors or Matrices by Sparse Matrices
 
Non-trivial Properties
      Nullspace and Rowspace
      Rank
 
Determinant and Other Properties
      Elementary Divisors (Smith Form)
      Verbosity
 
Linear Systems (Structured Gaussian Elimination)
 
Bibliography







DETAILS

 
Introduction

 
Creation of Sparse Matrices

      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 (H27E1)

      Construction of Structured Matrices
            IdentitySparseMatrix(R, n) : Rng, RngElt -> MtrxSprs
            ScalarSparseMatrix(n, s) : RngIntElt, RngElt -> MtrxSprs
            ScalarSparseMatrix(R, n, s) : Rng, RngIntElt, RngElt -> MtrxSprs
            DiagonalSparseMatrix(R, n, Q) : Rng, RngIntElt, [ RngElt ] -> MtrxSprs
            DiagonalSparseMatrix(R, Q) : Rng, [ RngElt ] -> MtrxSprs
            DiagonalSparseMatrix(Q) : [ RngElt ] -> MtrxSprs

      Parents of Sparse Matrices
            SparseMatrixStructure(R) : [ Rng ] -> MtrxSprsStr

 
Accessing Sparse Matrices

      Elementary Properties
            BaseRing(A) : MtrxSprs -> Rng
            NumberOfRows(A) : MtrxSprs -> RngIntElt
            NumberOfColumns(A) : MtrxSprs -> RngIntElt
            ElementToSequence(A) : Mtrx -> [ <RngIntElt, RngIntElt, RngElt> ]
            NumberOfNonZeroEntries(A) : MtrxSprs -> RngIntElt
            Density(A) : MtrxSprs -> FldRe
            Support(A, i) : MtrxSprs, RngIntElt -> [RngIntElt]
            Support(A) : MtrxSprs -> [ <RngIntElt, RngIntElt, RngElt> ]

      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]

 
Accessing or Modifying Entries
      A[i] : MtrxSprs, RngIntElt -> ModTupRngElt
      A[i, j] : MtrxSprs, RngIntElt, RngIntElt -> RngElt
      A[i, j] := x : MtrxSprs, RngIntElt, RngIntElt, RngElt ->
      SetEntry(~A, i, j, x) : MtrxSprs, RngIntElt, RngIntElt, RngElt ->
      Example SMat_Indexing (H27E2)

      Extracting and Inserting Blocks
            Submatrix(A, i, j, p, q) : MtrxSprs, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> MtrxSprs
            SubmatrixRange(A, i, j, r, s) : MtrxSprs, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> MtrxSprs
            Submatrix(A, I, J) : MtrxSprs, [RngIntElt], [RngIntElt] -> MtrxSprs
            InsertBlock(A, B, i, j) : MtrxSprs, MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            RowSubmatrix(A, i, k) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            RowSubmatrix(A, i) : MtrxSprs, RngIntElt -> MtrxSprs
            RowSubmatrixRange(A, i, j) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            ColumnSubmatrix(A, i, k) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            ColumnSubmatrix(A, i) : MtrxSprs, RngIntElt -> MtrxSprs
            ColumnSubmatrixRange(A, i, j) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs

      Row and Column Operations
            SwapRows(A, i, j) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            SwapColumns(A, i, j) : MtrxSprs, RngIntElt, RngIntElt -> MtrxSprs
            ReverseRows(A) : MtrxSprs -> MtrxSprs
            ReverseColumns(A) : MtrxSprs -> MtrxSprs
            AddRow(A, c, i, j) : MtrxSprs, RngElt, RngIntElt, RngIntElt -> MtrxSprs
            AddColumn(A, c, i, j) : MtrxSprs, RngElt, RngIntElt, RngIntElt -> MtrxSprs
            MultiplyRow(A, c, i) : MtrxSprs, RngElt, RngIntElt -> MtrxSprs
            MultiplyColumn(A, c, i) : MtrxSprs, RngElt, RngIntElt -> MtrxSprs
            RemoveRow(A, i) : MtrxSprs, RngIntElt -> MtrxSprs
            RemoveColumn(A, j) : MtrxSprs, RngIntElt -> MtrxSprs
            RemoveRowColumn(A, i, j) : MtrxSprs, RngIntElt -> MtrxSprs
            RemoveZeroRows(A) : MtrxSprs -> MtrxSprs

 
Building Block Matrices
      HorizontalJoin(A, B) : MtrxSprs, MtrxSprs -> MtrxSprs
      VerticalJoin(A, B) : MtrxSprs, MtrxSprs -> MtrxSprs
      DiagonalJoin(A, B) : MtrxSprs, MtrxSprs -> MtrxSprs

 
Conversion to and from Dense Matrices
      Matrix(A) : MtrxSprs -> Mtrx
      SparseMatrix(A) : Mtrx -> MtrxSprs

 
Changing Ring
      ChangeRing(A, R) : MtrxSprs, Rng -> MtrxSprs

 
Predicates
      A eq B : MtrxSprs, MtrxSprs -> BoolElt
      IsZero(A) : MtrxSprs -> BoolElt
      IsOne(A) : MtrxSprs -> BoolElt
      IsMinusOne(A) : MtrxSprs -> BoolElt
      IsScalar(A) : MtrxSprs -> BoolElt
      IsDiagonal(A) : MtrxSprs -> BoolElt
      IsSymmetric(A) : MtrxSprs -> BoolElt
      IsUpperTriangular(A) : MtrxSprs -> BoolElt
      IsLowerTriangular(A) : MtrxSprs -> BoolElt

 
Elementary Arithmetic
      A + B : MtrxSprs, MtrxSprs -> MtrxSprs
      A - B : MtrxSprs, MtrxSprs -> MtrxSprs
      A * B : MtrxSprs, MtrxSprs -> MtrxSprs
      x * A : RngElt, MtrxSprs -> MtrxSprs
      -A : MtrxSprs -> MtrxSprs
      A ^-1 : MtrxSprs, RngIntElt -> MtrxSprs
      A ^ n : MtrxSprs, RngIntElt -> MtrxSprs
      Transpose(A) : MtrxSprs -> MtrxSprs

 
Multiplying Vectors or Matrices by Sparse Matrices
      v * A : ModTupRng, MtrxSprs -> ModTupRng
      MultiplyByTranspose(v, A) : ModTupRng, MtrxSprs -> ModTupRng

 
Non-trivial Properties

      Nullspace and Rowspace
            Nullspace(A) : MtrxSprs -> ModTupRng
            NullspaceMatrix(A) : MtrxSprs -> Mtrx
            NullspaceOfTranspose(A) : MtrxSprs -> ModTupRng
            Rowspace(A) : MtrxSprs -> ModTupRng

      Rank
            Rank(A) : MtrxSprs -> RngIntElt

 
Determinant and Other Properties
      Determinant(A: parameters) : MtrxSprs -> RngElt

      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
      Example SMat_DiscreteLog (H27E3)

 
Bibliography

[Next][Prev] [Right] [____] [Up] [Index] [Root]
Version: V2.19 of Mon Dec 17 14:40:36 EST 2012