Building Block Matrices#

HorizontalJoin(A, B): MtrxSprs, MtrxSprs -> MtrxSprs#

Given a sparse matrix \(A\) with \(r\) rows and \(c\) columns, and a sparse matrix \(B\) with \(r\) rows and \(d\) columns, both over the same coefficient ring \(R\), return the sparse matrix over \(R\) with \(r\) rows and \((c+d)\) columns obtained by joining \(A\) and \(B\) horizontally (placing \(B\) to the right of \(A\)).

VerticalJoin(A, B): MtrxSprs, MtrxSprs -> MtrxSprs#

Given a sparse matrix \(A\) with \(r\) rows and \(c\) columns, and a sparse matrix \(B\) with \(s\) rows and \(c\) columns, both over the same coefficient ring \(R\), return the sparse matrix with \((r+s)\) rows and \(c\) columns over \(R\) obtained by joining \(A\) and \(B\) vertically (placing \(B\) underneath \(A\)).

DiagonalJoin(A, B): MtrxSprs, MtrxSprs -> MtrxSprs#

Given matrices \(A\) with \(a\) rows and \(b\) columns and \(B\) with \(c\) rows and \(d\) columns, both over the same coefficient ring \(R\), return the sparse matrix with \((a+c)\) rows and \((b+d)\) columns over \(R\) obtained by joining \(A\) and \(B\) diagonally (placing \(B\) diagonally to the right of and underneath \(A\), with zero blocks above and below the diagonal).