Hi, I was wanting to get the diagonal of an openmx output matrix and tried "diag()" as shown below with the matrix.

Question: should (can?) we overload "standard" R functions, or is there to be an mxDiag() equivalent?

If the latter, it would be nice if where possible it worked (to parameters) as the {base} library functions do.

I guess that it would be VERY helpful if code like

a = mxRun(factorModel) round(diag(a$S), 2) # worked, i.e, output a matrix rounded to 2 decimal places

<

pre>

> diag(a$S)

Error in y[1L + 0L:(m - 1L) * (n + 1L)] <- x :

incompatible types (from S4 to double) in subassignment type fix

> a$S

SymmMatrix 'S'

Labels matrix: No labels assigned.

Values matrix:

[,1] [,2] [,3] [,4] [,5] [,6]

[1,] 0.04081422 0.00000000 0.0000000 0.00000000 0.00000000 0

[2,] 0.00000000 0.03802001 0.0000000 0.00000000 0.00000000 0

[3,] 0.00000000 0.00000000 0.0408272 0.00000000 0.00000000 0

[4,] 0.00000000 0.00000000 0.0000000 0.03938708 0.00000000 0

[5,] 0.00000000 0.00000000 0.0000000 0.00000000 0.03628711 0

[6,] 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1