LinearMultivariateMatrixPencil R¶
linpen.spad line 9 [edit on github]
R: Ring
Author: Konrad Schrempf <schrempf@math.tugraz.at> Date Created: Mit 2016-02-03 17:20 Date Changed: Sam 2018-09-01 10:37 Basic Functions: Related Constructors: Matrix Also See: FreeDivisionAlgebra AMS Classifications: Keywords: References: Description:
- *: (%, Matrix R) -> %
p * Ucolumn transformation …
- *: (Matrix R, %) -> %
T * Prow transformation …
- =: (%, %) -> Boolean
p = qentrywise equality.
- addColumns!: (%, NonNegativeInteger, NonNegativeInteger, R) -> %
addColumns!(p, i, j, alpha)adds alpha*column(i) to column(j) in all matrices of the linear pencilp.
- addRows!: (%, NonNegativeInteger, NonNegativeInteger, R) -> %
addRows!(p, i, j, alpha)adds alpha*row(i) to row(j) in all matrices of the linear pencilp.
- append!: (%, NonNegativeInteger) -> %
append!(p, l)appendslmatrices to the linear pencil.
- append: (%, NonNegativeInteger) -> %
append(p, l)appendslmatrices to the linear pencil.
- blockElimination: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Matrix R if R has Field
blockElimination(p, rsrc, rdst, rext, csrc, cdst, cext)r___ rows, c___ columns _src source, _dst destination, _ext extra (zeros) Uses a linear system of equations to determine row and column transformation matrices to eliminate the entries in rdst+rext times cdst+cext and returns an empty list if there is no solution.
- coerce: % -> OutputForm
coerce(p)prints the linear pencilpin list form.
- copy: % -> %
copy(p)returns a copy of the linear pencilp.
- diagonal?: (%, NonNegativeInteger) -> Boolean
diagonal?(p, l)is the matrixldiagonal?
- diagonal: (%, NonNegativeInteger) -> List R
diagonal(p, l)returns the entries along the diagonal in a list.
- eliminationEquations: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Matrix Polynomial R if R has Field
eliminationEquations(p, row_P, col_P, row_Q, col_Q, rdst, cdst)returns a list of matrices with equations to eliminate the entries in rows/columns rdst/cdst.
- eliminationEquations: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Matrix Polynomial R if R has Field
eliminationEquations(p, row_P, col_P, row_Q, col_Q, rdst, cdst, rex1, cex1, rex2, cex2)returns a list of matrices with equations to eliminate the entries in rows/columns rdst/cdst,rex1/cex1andrex2/cex2.
- eliminationEquations: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Polynomial R if R has Field
eliminationEquations(p, row_P, col_P, row_Q, col_Q, rdst, cdst, rex1, cex1, rex2, cex2)returns a list of equations with equations to eliminate the entries in rows/columns rdst/cdst,rex1/cex1andrex2/cex2, including det(P)-1and det(Q)-1.
- eliminationGroebner: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Polynomial R if R has Field
eliminationGroebner(p, row_P, col_P, row_Q, col_Q, rdst, cdst, rex1, cex1, rex2, cex2)computes a Groebner–Shirshov basis for the ideal generated by the equations from eliminationEquations(…) using the domain DistributedMultivariatePolynomial.
- eliminationSolve: (List Polynomial R, List R, List List Equation Polynomial R) -> List List Equation Polynomial R if R has Field
eliminationSolve(lst_eqn, lst_val, lst_sub)computes all solutions of the first equation oflst_eqnby trying the values oflst_valfor undetermined variables with respect to given subsolutions lst_sub and return those which fulfill all other equations inlst_eqn.
- eliminationSolve: (Polynomial R, List R) -> List List Equation Polynomial R if R has Field
eliminationSolve(eqn, lst_val)computes all solutions of equationeqnby trying the values of lst_val for undetermined variables.
- eliminationSolve: (Polynomial R, List R, List Equation Polynomial R) -> List List Equation Polynomial R if R has Field
eliminationSolve(eqn, lst_val, sub)computes all solutions of equationeqnby trying the values oflst_valfor undetermined variables with respect to given subsolution sub.
- eliminationSolve: (Polynomial R, List R, List List Equation Polynomial R) -> List List Equation Polynomial R if R has Field
eliminationSolve(eqn, lst_val, lst_sub)computes all solutions of equationeqnby trying the values oflst_valfor undetermined variables with respect to given subsolutions lst_sub.
- eliminationSolve: List Polynomial R -> List List Equation Polynomial R if R has Field
eliminationSolve(lst_eqn)calls eliminationSolve(lst_eqn, [0,1], []).
- eliminationTransformations: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger) -> List Matrix Polynomial R if R has Field
eliminationTransformations(p, row_P, col_P, row_Q, col_Q)returns a pair of transformation matrices with commutative variables ‘a[i] in rows/columns row_P/col_P respectively'b[i] in rows/columns row_Q/col_Q.
- eliminationTransformations: (%, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List NonNegativeInteger, List Equation Polynomial R) -> List Matrix R if R has Field
eliminationTransformations(p, row_P, col_P, row_Q, col_Q, sol)Uses eval to set the values in sol into the variables in the transformation matrices.
- eliminationTransformations: (%, List NonNegativeInteger, List NonNegativeInteger, Symbol, List NonNegativeInteger, List NonNegativeInteger, Symbol) -> List Matrix Polynomial R if R has Field
eliminationTransformations(p, row_P, col_P, sym_P, row_Q, col_Q, sym_Q)returns a pair of transformation matrices with commutative variablessym_P[i] in rows/columns row_P/col_P respectively sym_Q[i] in rows/columns row_Q/col_Q.
- elt: (%, NonNegativeInteger, NonNegativeInteger) -> List R
elt(p, i, j)returns the elements (i,j) from the linear pencilpas a list.
- elt: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> R
elt(p, i, j, l)returns the element (i,j) in matrixlof the linear pencilp.
- equal?: (%, List NonNegativeInteger, %, List NonNegativeInteger) -> Boolean
equal?(p, pos_p, q, pos_q)checks, if the matricespos_pinpare equal to the pos_q inq. Not spacified matrices have to be zero.
- insertRowsColumns: (%, List NonNegativeInteger, List NonNegativeInteger) -> %
insertRowsColumns(p, lst_row, lst_col)returns a new pencil with additional rows and columns after the specified indices. addRowsColumns(p, [0,0,1], [0,0,3]) would insert 2 rows and columns at the beginning an one row and column between rows 1 and 2 and columns 3 and 4 respectively.
- leftIdentity: % -> Matrix R
leftIdentity(p)returns the left identity matrix.
- matrix: (%, NonNegativeInteger) -> Matrix R
matrix(p, l)returns matrixlin the linear pencilp.
- multiplyColumn!: (%, NonNegativeInteger, R) -> %
multiplyColumn!(p, j, alphat)multiplies column(j) by alpha.
- multiplyRow!: (%, NonNegativeInteger, R) -> %
multiplyRow!(p, i, alpha)multiplies row(i) by alpha.
- ncols: % -> NonNegativeInteger
ncols(p)returns the number of columns.
- nelem: % -> NonNegativeInteger
nelem(p)returns the number of elements.
- nrows: % -> NonNegativeInteger
nrows(p)returns the number of rows.
- qaddColumns!: (%, NonNegativeInteger, NonNegativeInteger, R) -> %
addColumns!(p, i, j, alpha)adds alpha*column(i) to column(j) in all matrices of the linear pencilp. (no index check)
- qaddRows!: (%, NonNegativeInteger, NonNegativeInteger, R) -> %
qaddRows!(p, i, j, alpha)adds alpha*row(i) to row(j) in all matrices of the linear pencilp(no index check). (no index check)
- qcolumnIndices: (%, NonNegativeInteger) -> List List NonNegativeInteger
qcolumnIndices(p, off)returns a list of column indices for nozero elements for every row starting at the specified offset. (no range check)
- qcolumnIndices: (%, NonNegativeInteger, NonNegativeInteger) -> List List NonNegativeInteger
qcolumnIndices(p, off, l)returns a list of column indices for nonzero elements in matrixlfor every row starting at the specified offset. (no range check)
- qcolumnIndices: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> List NonNegativeInteger
qcolumnIndices(p, off, i, l)returns a list of column indices for nonzero elements in the specified row of matrixlfor starting at the specified offset. (no range check)
- qdiagonal?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
qdiagonal?(p, k_min, k_max, l)is the matrixldiagonal betweenk_minand k_max? (no range check)
- qdiagonal: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> List R
qdiagonal(p, k_min, k_max, l)returns the entries along the diagonal betweenk_minandk_max. (no range check)
- qelt: (%, NonNegativeInteger, NonNegativeInteger) -> List R
elt(p, i, j)returns the elements (i,j) from the linear pencilpas a list (no check).
- qelt: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> R
elt(p, i, j, l)returns the element (i,j) in matrixlof the linear pencilp(no index-check).
- qequal?: (%, List NonNegativeInteger, %, List NonNegativeInteger, NonNegativeInteger) -> Boolean
qequal?(p, pos_p, q, pos_q, offset)checks, if the matrices are equal starting at offset.
- qmultiplyColumn!: (%, NonNegativeInteger, R) -> %
multiplyColumn!(p, j, alphat)multiplies column(j) by alpha.
- qmultiplyRow!: (%, NonNegativeInteger, R) -> %
qmultiplyRow!(p, i, alpha)multiplies row(i) by alpha. (no index check)
- qnew: (NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> %
qnew(m, n, l)creates an empty linear pencil withlmatrices withmrows andncolumns.
- qnilpotent?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
qnilpotent?(p, k_min, k_max, l)ist the matrixlnilpotent with respect to the specified block? (no range check)
- qrowIndices: (%, NonNegativeInteger) -> List List NonNegativeInteger
qrowIndices(p, off)returns a list of row indices for nonzero elements for every column starting at the specified offset. (no range check)
- qrowIndices: (%, NonNegativeInteger, NonNegativeInteger) -> List List NonNegativeInteger
qrowIndices(p, off, l)returns a list of row indices for nonzero elements in matrixlfor every column starting at the specified offset. (no range check)
- qrowIndices: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> List NonNegativeInteger
qrowIndices(p, off, j, l)returns a list of row indices for nozero elements in columnjin matrixl(no range check)
- qscaleBlock!: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, R) -> %
qscalesubMatrix!(p, i_min, i_max, j_min, j_max, l, alpha)multiplies the entries in the specified block of matrixlwith alpha.
- qsemizero?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
qsemizero?(p, i_min, i_max, j_min, j_max, l)checks, if the specified submatrix is zero except for matrixl(no index check).
- qsetelt!: (%, NonNegativeInteger, NonNegativeInteger, List R) -> List R
qsetelt!(p, i, j, lst)sets the element (i,j) in the matrices of the linear pencilpaccording to the elements inlst.
- qsetelt!: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, R) -> R
qselelt!(p, i, j, l, alpha)sets the element (i,j) in matrixlof the linear pencilpto alpha.
- qswapColumns!: (%, NonNegativeInteger, NonNegativeInteger) -> %
qswapColumns!(p, i, j)exchanges columnsiandjin all matrices of the linear pencilp(no index check)
- qswapRows!: (%, NonNegativeInteger, NonNegativeInteger) -> %
qswapRows!(p, i, j)exchanges rowsiandjin all matrices of the linear pencilp(no index check).
- quppertriangular?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
quppertriangular?(p, k_min, k_max, l)is the matrixlupper triangular with respect to the specified block? (no range check)
- qzero?: (%, NonNegativeInteger, NonNegativeInteger) -> Boolean
qzero?(p, i, j)checks if all the entries (i,j) of the linear pencilpare zero. (no index check)
- qzero?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
qzero?(p, i_min, i_max, j_min, j_max)checks if the specified block of the linear pencilpis zero for all matrices. (no index check)
- qzero?: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Boolean
qzero?(p, i_min, i_max, j_min, j_max, l)checks if the specified block of matrixlof the linear pencilpis zero (no index check)
- removeRowsColumns: (%, List NonNegativeInteger, List NonNegativeInteger) -> %
removeRowsColumns(p, lst_row, lst_col)returns a new pencil with submatrices specified by the complement of the list of rows and columns.
- rightIdentity: % -> Matrix R
rightIdentity(p)returns the right identity matrix.
- setelt!: (%, NonNegativeInteger, NonNegativeInteger, List R) -> List R
setelt!(p, i, j, lst)sets the element (i,j) in the matrices of the linear pencilpaccording to the elements inlst.
- setelt!: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, R) -> R
selelt!(p, i, j, l, alpha)sets the element (i,j) in matrixlof the linear pencilpto alpha.
- setsubMatrix!: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, Matrix R) -> Matrix R
setsubMatrix!(p, i, j, l, a)sets the matrix a into the matrixlofpin position (i,j).
- setsubPencil!: (%, NonNegativeInteger, NonNegativeInteger, %) -> %
setsubPencil!(p, i, j, q)sets the matrices of pencilqinto the matrices ofpin position (i,j).
- subMatrix: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> Matrix R
subMatrix(p, r_min, r_max, c_min, c_max, l)returns the specified submatrixlof the linear pencilp.
- subPencil: (%, List NonNegativeInteger, List NonNegativeInteger) -> %
subPencil(p, lst_row, lst_col)returns a pencil with submatrices specified by a list of rows and columns.
- subPencil: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> %
subPencil(p, r_min, r_max, c_min, c_max)returns a pencil with the specified submatrices.
- swapColumns!: (%, NonNegativeInteger, NonNegativeInteger) -> %
swapColumns!(p, i, j)exchanges columnsiandjin all matrices of the linear pencilp.
- swapRows!: (%, NonNegativeInteger, NonNegativeInteger) -> %
swapRows!(p, i, j)exchanges rowsiandjin all matrices of the linear pencilp.
- transformColumns!: (%, Matrix R) -> %
transformColumns!(p, U)multiplies the matrices of the linear pencil from the right byU.
- transformRows!: (%, Matrix R) -> %
transformRows!(p, T)multiplies the matrices of the linear pencil from the left byT.
- uppertriangular?: (%, NonNegativeInteger) -> Boolean
uppertriangular?(p, l)is the matrixlupper triangular?
- zero?: (%, NonNegativeInteger, NonNegativeInteger) -> Boolean
zero?(p, i, j)checks if all the entries (i,j) of the linear pencilpare zero.