IndexedMatrix(R, mnRow, mnCol)

matrix.spad line 1 [edit on github]

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))
* : (%, R) -> % 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))
* : (Integer, %) -> % if R has AbelianGroup
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))
* : (%, IndexedVector(R, mnRow)) -> IndexedVector(R, mnRow) 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
Pfaffian : % -> R if R has CommutativeRing
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
^ : (%, 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))
antisymmetric? : % -> Boolean if R has AbelianGroup
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
any? : (Mapping(Boolean, R), %) -> Boolean
from HomogeneousAggregate(R)
array2 : List(List(R)) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
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 : IndexedVector(R, mnRow) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
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, %) -> NonNegativeInteger
from HomogeneousAggregate(R)
count : (Mapping(Boolean, 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, 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))
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))
empty : () -> %
from Aggregate
empty? : % -> Boolean
from Aggregate
eq? : (%, %) -> Boolean
from Aggregate
eval : (%, R, R) -> % if R has Evalable(R)
from InnerEvalable(R, R)
eval : (%, 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 : (%, List(Equation(R))) -> % if R has Evalable(R)
from Evalable(R)
every? : (Mapping(Boolean, R), %) -> 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 if R has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if R has Hashable
from Hashable
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))
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))
kronecker_prod1 : (%, Integer, List(List(NonNegativeInteger)), List(%), NonNegativeInteger, NonNegativeInteger, Union(R, "one")) -> Void
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 : (Mapping(R, R), %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map : (Mapping(R, R, R), %, %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map : (Mapping(R, R, R), %, %, R) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
map! : (Mapping(R, R), %) -> %
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
matrix : List(List(R)) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
matrix : (NonNegativeInteger, NonNegativeInteger, Mapping(R, Integer, Integer)) -> %
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
max : % -> R if R has OrderedSet
from HomogeneousAggregate(R)
max : (Mapping(Boolean, R, R), %) -> R
from HomogeneousAggregate(R)
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)
min : % -> R if R has OrderedSet
from HomogeneousAggregate(R)
minColIndex : % -> Integer
from TwoDimensionalArrayCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
minRowIndex : % -> 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))
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))
nullSpace : % -> List(IndexedVector(R, mnRow)) if R has IntegralDomain
from MatrixCategory(R, IndexedVector(R, mnCol), IndexedVector(R, mnRow))
nullity : % -> NonNegativeInteger 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))
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))
setRow! : (%, Integer, IndexedVector(R, mnCol)) -> %
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))
setelt! : (%, Integer, Integer, R) -> R
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))
~= : (%, %) -> Boolean
from BasicType

Comparable

shallowlyMutable

Aggregate

BasicType

HomogeneousAggregate(R)

SetCategory

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

Hashable

InnerEvalable(R, R)

CoercibleTo(OutputForm)

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

finiteAggregate

Evalable(R)