MxMatrix-class {OpenMx} | R Documentation |

## MxMatrix Class

### Description

MxMatrix is a virtual S4 class that comprises the nine types of matrix objects used by OpenMx (see `mxMatrix()`

for details). An MxMatrix object is a named entity. New instances of this class can be created using the function `mxMatrix()`

. MxMatrix objects may be used as arguments in other functions from the OpenMx package, including `mxAlgebra()`

, `mxConstraint()`

, and `mxModel()`

.

### Objects from the Class

All nine types of object that the class comprises can be created via `mxMatrix()`

.

### Slots

`name`

:Character string; the name of the MxMatrix object. Note that this is the object's "Mx name" (so to speak), which identifies it in OpenMx's internal namespace, rather than the symbol identifying it in

**R**'s workspace. Use of MxMatrix objects in an mxAlgebra or mxConstraint function requires reference by name.`values`

:Numeric matrix of values. If an element is specified as a fixed parameter in the 'free' matrix, then the element in the 'values' matrix is treated as a constant value and cannot be altered or updated by an objective function when included in an

`mxRun()`

function. If an element is specified as a free parameter in the 'free' matrix, the element in the 'value' matrix is considered a starting value and can be changed by an objective function when included in an`mxRun()`

function.`labels`

:Matrix of character strings which provides the labels of free and fixed parameters. Fixed parameters with identical labels must have identical values. Free parameters with identical labels impose an equality constraint. The same label cannot be applied to a free parameter and a fixed parameter. A free parameter with the label 'NA' implies a unique free parameter, that cannot be constrained to equal any other free parameter.

`free`

:Logical matrix specifying whether each element is free versus fixed. An element is a free parameter if-and-only-if the corresponding value in the 'free' matrix is 'TRUE'. Free parameters are elements of an MxMatrix object whose values may be changed by a fitfunction when that MxMatrix object is included in an MxModel object and evaluated using the

`mxRun()`

function.`lbound`

:Numeric matrix of lower bounds on free parameters.

`ubound`

:Numeric matrix of upper bounds on free parameters.

`.squareBrackets`

:Logical matrix; used internally by OpenMx. Identifies which elements have labels with square brackets in them.

`.persist`

:Logical; used internally by OpenMx. Governs how

`mxRun()`

handles the MxMatrix object when it is inside the MxModel being run.`.condenseSlots`

:Logical; used internally by OpenMx. If

`FALSE`

, then the matrices in the 'values', 'labels', 'free', 'lbound', and 'ubound' slots are all of equal dimensions. If`TRUE`

, then the last four of those slots will "condense" a matrix consisting entirely of`FALSE`

or`NA`

down to 1x1.`display`

:Character string; used internally by OpenMx when parsing MxAlgebras.

`dependencies`

:Integer; used internally by OpenMx when parsing MxAlgebras.

### Methods

- $
`signature(x = "MxMatrix")`

: ...- $<-
`signature(x = "MxMatrix")`

: ...- [
`signature(x = "MxMatrix")`

: ...- [<-
`signature(x = "MxMatrix")`

: ...- dim
`signature(x = "MxMatrix")`

: ...- dimnames
`signature(x = "MxMatrix")`

: ...- dimnames<-
`signature(x = "MxMatrix")`

: ...- length
`signature(x = "MxMatrix")`

: ...- names
`signature(x = "MxMatrix")`

: ...- ncol
`signature(x = "MxMatrix")`

: ...- nrow
`signature(x = "MxMatrix")`

: ...`signature(x = "MxMatrix")`

: ...- show
`signature(object = "MxMatrix")`

: ...

Note that some methods are documented separately (see below, under "See Also").

### References

The OpenMx User's guide can be found at https://openmx.ssri.psu.edu/documentation.

### See Also

`mxMatrix()`

for creating MxMatrix objects. Note that functions `imxCreateMatrix()`

, `imxDeparse()`

, `imxSquareMatrix()`

, `imxSymmetricMatrix()`

, and `imxVerifyMatrix()`

are separately documented methods for this class. More information about the OpenMx package may be found here.

### Examples

```
showClass("MxMatrix")
```

*OpenMx*version 2.21.11 Index]