Documentation ready for alpha2
[openmx:openmx.git] / man / mxConstraint.Rd
1 \name{mxConstraint}\r
2 \alias{mxConstraint}\r
3 \r
4 \title{Function To Create an MxConstraint Object}\r
5 \r
6 \description{\r
7 This function creates a new \link{MxConstraint} object.\r
8 }\r
9 \r
10 \usage{\r
11 mxConstraint(alg1, relation, alg2, name = NA)\r
12 }\r
13 \r
14 \arguments{\r
15 \item{alg1}{A character string indicating the name of an \link{MxAlgebra} or \link{MxMatrix} object, whose relationship to the object specified in the 'alg2' argument is constrained.}\r
16 \item{relation}{A character string indicating the relation between 'alg1' and 'alg2'. Must be either "<", "=", or ">".}\r
17 \item{alg2}{A character string indicating the name of an \link{MxAlgebra} or \link{MxMatrix} object, whose relationship to the object specified in the 'alg1' argument is constrained.}   \r
18 \item{name}{An optional character string indicating the name of this object.}\r
19 }\r
20 \r
21 \details{\r
22 The mxConstraint function defines relationships between two \link{MxAlgebra} or \link{MxMatrix} objects. They are used to affect the estimation of free parameters in the referenced objects. The relationships "<", "=" and ">" are supported. To affect an estimation or optimization, an \link{MxConstraint} object must be included in an \link{MxModel} object with all referenced \link{MxAlgebra} and \link{MxMatrix} objects.\r
23 \r
24 The mxConstraint function may not be used to constrain free parameters, either by name or by their position in an \link{MxMatrix} or \link{MxAlgebra} object. Free parameters in the same \link{MxModel} may be constrained to equality by giving them the same name in their respective 'specification' matrices.\r
25 }\r
26 \r
27 \value{\r
28 Returns an \link{MxConstraint} object. If used as an argument in an \link{MxModel} object, the objects referenced in the 'alg1' and 'alg2' arguments must also be included prior to optimization.\r
29 }\r
30 \r
31 \references{\r
32 The Mx manual may be found at\r
33 }\r
34 \r
35 \seealso{\r
36 \link{MxConstraint} for the S4 class created by mxConstraint. \link{MxAlgebra} and \link{MxMatrix} for objects which may be entered as arguments in the 'alg' and 'alg2' arguments, and \link{mxAlgebra} and \link{mxMatrix} for the functions that create them. More information about the OpenMx package may be found \link[=OpenMx]{here}. \r
37 }\r
38 \r
39 \examples{\r
40 #Create a constraint between MxMatrices 'A' and 'B'\r
41 constraint <- mxConstraint('A', '=', 'B', name = 'constraint')\r
42 \r
43 #Constrain a matrix of free parameters 'F' to be greater than a matrix of zeros 'Z'\r
44 F <- mxMatrix(nrow=2, ncol=2, free=TRUE, name="F")\r
45 Z <- mxMatrix(type="Zero", nrow=2, ncol=2, name="Z")\r
46 positive <- mxConstraint("F", ">", "Z")\r
47 }