IndexedMatrix(R, mnRow, mnCol)ΒΆ

matrix.spad line 1

An IndexedMatrix is a matrix where the minimal row and column indices are parameters of the type. The domains Row and Col are both IndexedVectors. The index of the ‘first’ row may be obtained by calling the function minRowIndex. The index of the ‘first’ column may be obtained by calling the function minColIndex. The index of the first element of a ‘Row’ is the same as the index of the first column in a matrix and vice versa.

#: % -> NonNegativeInteger
from Aggregate
*: (%, %) -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
*: (%, IndexedVector(R, mnRow)) -> IndexedVector(R, mnRow) if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
*: (%, R) -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
*: (IndexedVector(R, mnCol), %) -> IndexedVector(R, mnCol) if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
*: (Integer, %) -> % if R has AbelianGroup
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
*: (R, %) -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
+: (%, %) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
-: % -> % if R has AbelianGroup
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
-: (%, %) -> % if R has AbelianGroup
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
/: (%, R) -> % if R has Field
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
=: (%, %) -> Boolean
from BasicType
^: (%, Integer) -> % if R has Field
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
^: (%, NonNegativeInteger) -> % if R has Monoid and R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
~=: (%, %) -> Boolean
from BasicType
antisymmetric?: % -> Boolean if R has AbelianGroup
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
any?: (R -> Boolean, %) -> Boolean
from HomogeneousAggregate R
blockConcat: List List % -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
blockSplit: (%, List NonNegativeInteger, List NonNegativeInteger) -> List List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
blockSplit: (%, PositiveInteger, PositiveInteger) -> List List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
coerce: % -> OutputForm
from CoercibleTo OutputForm
coerce: IndexedVector(R, mnRow) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
colSlice: % -> Segment Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
column: (%, Integer) -> IndexedVector(R, mnRow)
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
columnSpace: % -> List IndexedVector(R, mnRow) if R has EuclideanDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
copy: % -> %
from Aggregate
count: (R -> Boolean, %) -> NonNegativeInteger
from HomogeneousAggregate R
count: (R, %) -> NonNegativeInteger
from HomogeneousAggregate R
determinant: % -> R if R has CommutativeRing
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
diagonal?: % -> Boolean
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
diagonalMatrix: List % -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
diagonalMatrix: List R -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Integer, Integer) -> R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Integer, Integer, R) -> R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Integer, List Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Integer, List Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Integer, Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Integer, List Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Integer, Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Segment Integer, Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Segment Integer, List Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, List Segment Integer, Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Segment Integer, List Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Segment Integer, List Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
elt: (%, Segment Integer, Segment Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
empty: () -> %
from Aggregate
empty?: % -> Boolean
from Aggregate
eq?: (%, %) -> Boolean
from Aggregate
eval: (%, Equation R) -> % if R has Evalable R
from Evalable R
eval: (%, List Equation R) -> % if R has Evalable R
from Evalable R
eval: (%, List R, List R) -> % if R has Evalable R
from InnerEvalable(R, R)
eval: (%, R, R) -> % if R has Evalable R
from InnerEvalable(R, R)
every?: (R -> Boolean, %) -> Boolean
from HomogeneousAggregate R
exquo: (%, R) -> Union(%, failed) if R has IntegralDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
fill!: (%, R) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
hash: % -> SingleInteger
from SetCategory
hashUpdate!: (HashState, %) -> HashState
from SetCategory
horizConcat: (%, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
horizConcat: List % -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
horizSplit: (%, List NonNegativeInteger) -> List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
horizSplit: (%, PositiveInteger) -> List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
inverse: % -> Union(%, failed) if R has Field
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
kronecker_prod1: (%, Integer, List List NonNegativeInteger, List %, NonNegativeInteger, NonNegativeInteger, Union(R, one)) -> Void
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
kroneckerProduct: (%, %) -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
kroneckerProduct: List % -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
kroneckerSum: (%, %) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
kroneckerSum: List % -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
latex: % -> String
from SetCategory
less?: (%, NonNegativeInteger) -> Boolean
from Aggregate
listOfLists: % -> List List R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map!: (R -> R, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map: ((R, R) -> R, %, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map: ((R, R) -> R, %, %, R) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map: (R -> R, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
matrix: (NonNegativeInteger, NonNegativeInteger, (Integer, Integer) -> R) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
matrix: List List R -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
maxColIndex: % -> Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
maxRowIndex: % -> Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
member?: (R, %) -> Boolean
from HomogeneousAggregate R
members: % -> List R
from HomogeneousAggregate R
minColIndex: % -> Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
minordet: % -> R if R has CommutativeRing
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
minRowIndex: % -> Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
more?: (%, NonNegativeInteger) -> Boolean
from Aggregate
ncols: % -> NonNegativeInteger
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
new: (NonNegativeInteger, NonNegativeInteger, R) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
nrows: % -> NonNegativeInteger
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
nullity: % -> NonNegativeInteger if R has IntegralDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
nullSpace: % -> List IndexedVector(R, mnRow) if R has IntegralDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
parts: % -> List R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
Pfaffian: % -> R if R has CommutativeRing
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
positivePower: (%, Integer) -> % if R has SemiRng
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
qelt: (%, Integer, Integer) -> R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
qnew: (NonNegativeInteger, NonNegativeInteger) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
qsetelt!: (%, Integer, Integer, R) -> R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
rank: % -> NonNegativeInteger if R has IntegralDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
row: (%, Integer) -> IndexedVector(R, mnCol)
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
rowEchelon: % -> % if R has EuclideanDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
rowSlice: % -> Segment Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
sample: %
from Aggregate
scalarMatrix: (NonNegativeInteger, R) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setColumn!: (%, Integer, IndexedVector(R, mnRow)) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Integer, Integer, R) -> R
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Integer, List Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Integer, List Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Integer, Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Integer, List Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Integer, Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Segment Integer, Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Segment Integer, List Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, List Segment Integer, Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Segment Integer, List Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Segment Integer, List Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setelt!: (%, Segment Integer, Segment Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setRow!: (%, Integer, IndexedVector(R, mnCol)) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
setsubMatrix!: (%, Integer, Integer, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
size?: (%, NonNegativeInteger) -> Boolean
from Aggregate
smaller?: (%, %) -> Boolean if R has Comparable
from Comparable
square?: % -> Boolean
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
squareTop: % -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
subMatrix: (%, Integer, Integer, Integer, Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
swapColumns!: (%, Integer, Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
swapRows!: (%, Integer, Integer) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
symmetric?: % -> Boolean
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
transpose: % -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
transpose: IndexedVector(R, mnCol) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
vertConcat: (%, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
vertConcat: List % -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
vertSplit: (%, List NonNegativeInteger) -> List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
vertSplit: (%, PositiveInteger) -> List %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
zero: (NonNegativeInteger, NonNegativeInteger) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
zero?: % -> Boolean
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))

Aggregate

BasicType

CoercibleTo OutputForm

Comparable if R has Comparable

Evalable R if R has Evalable R

finiteAggregate

HomogeneousAggregate R

InnerEvalable(R, R) if R has Evalable R

MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))

SetCategory

shallowlyMutable

TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))