Added documentation of the MxMatrix subclasses.
[openmx:openmx.git] / R / IdenMatrix.R
1 ###########################################################################/**\r
2 # @RdocClass IdenMatrix\r
3 #\r
4 # @title "The IdenMatrix class"\r
5 #\r
6 # \description{\r
7 #\r
8 #  Creates a square identity matrix. This matrix has no\r
9 #  free parameters.\r
10 #\r
11 #  @classhierarchy\r
12 # }\r
13 #\r
14 # @synopsis\r
15 #\r
16 # \arguments{\r
17 #   \item{row}{The number of rows this matrix contains.}\r
18 #   \item{col}{The number of columns this matrix contains.}\r
19 # }\r
20 #\r
21 #\r
22 #\r
23 #*/###########################################################################\r
24 setConstructorS3("IdenMatrix", function(row, col, free = FALSE) {\r
25 \r
26    if (missing(row)) row <- 0;\r
27    if (missing(col)) col <- 0;\r
28 \r
29    checkMatrix(row,col);\r
30    checkFree(free);\r
31    checkSquare(row,col);\r
32 \r
33    freeParameters <- matrix(0, row, col);\r
34    valuesMatrix <- diag(row);\r
35    modifiable <- 0;\r
36    extend(MxMatrix(freeParameters, valuesMatrix, modifiable), "IdenMatrix");\r
37 \r
38 })\r