vech and other matrix operators

1 2 3 | ```
vech(A)
vech2mat(v)
duplicationMatrix(n)
``` |

`A` |
a (symmetric) square matrix |

`v` |
a numeric vector such that |

`n` |
a positive integer number; default is |

a vector in case of `vech`

, otherwise a matrix

For a square matrix `A`

, `vech(A)`

returns the vector formed
by the lower triangular portion of the matrix, including the diagonal;
usually, this only makes sense for a symmetric matrix of numeric values.
If `v=vech(M)`

where `M`

is a symmetric numeric matrix,
`vect2mat(v)`

performs the inverse operation and
returns `M`

; this explain the requirement on `length(v)`

.
For a positive integer `n`

, `D=duplicationMatrix(n)`

is a matrix
of dimension `(n^2, n*(n+1)/2)`

such that `D %*% vech(M)`

returns
the `vec`

-form of a symmetric matrix `M`

of
order `n`

, that is, the vector which stacks the columns of `M`

;
for more information, see Section 3.8 of Magnus and Neudecker (1988).

Adelchi Azzalini;
the original Octave code of `duplicationMatrix`

is by Kurt Hornik

Magnus, Jan R. and Neudecker, Heinz (1988). *Matrix differential
calculus with application in statistics and econometrics*.
Wiley series in probability and statistics.

1 2 3 4 5 |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.