# ThreeDimensionalMatrix RΒΆ

fortran.spad line 948 [edit on github]

R: SetCategory

This domain represents three dimensional matrices over a general object type

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- coerce: % -> PrimitiveArray PrimitiveArray PrimitiveArray R
`coerce(x)`

moves from the domain to the representation type

- coerce: PrimitiveArray PrimitiveArray PrimitiveArray R -> %
`coerce(p)`

moves from the representation type (PrimitiveArray PrimitiveArray PrimitiveArray`R`

) to the domain

- elt: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> R
`elt(x, i, j, k)`

extract an element from the matrix`x`

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

- hash: % -> SingleInteger
from SetCategory

- hashUpdate!: (HashState, %) -> HashState
from SetCategory

- identityMatrix: NonNegativeInteger -> % if R has Ring
`identityMatrix(n)`

create an identity matrix we note that this must be square

- latex: % -> String
from SetCategory

- less?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- map: (R -> R, %) -> %
from HomogeneousAggregate R

- matrixConcat3D: (Symbol, %, %) -> %
`matrixConcat3D(s, x, y)`

concatenates two 3-`D`

matrices along a specified axis

- matrixDimensions: % -> Vector NonNegativeInteger
`matrixDimensions(x)`

returns the dimensions of a matrix

- max: % -> R if % has finiteAggregate and R has OrderedSet
from HomogeneousAggregate R

- min: % -> R if % has finiteAggregate and R has OrderedSet
from HomogeneousAggregate R

- more?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- plus: (%, %) -> % if R has Ring
`plus(x, y)`

adds two matrices, term by term we note that they must be the same size

- setelt!: (%, NonNegativeInteger, NonNegativeInteger, NonNegativeInteger, R) -> R
`setelt!(x, i, j, k, s)`

(or`x`

.`i`

.`j`

.`k`

`:=`

`s`

) sets a specific element of the array to some value of type`R`

- size?: (%, NonNegativeInteger) -> Boolean
from Aggregate

- zeroMatrix: (NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> % if R has Ring
`zeroMatrix(i, j, k)`

create a matrix with all zero terms

Evalable R if R has Evalable R

InnerEvalable(R, R) if R has Evalable R