vech#
Purpose#
Vectorizes a symmetric matrix by retaining only the lower triangular portion of the matrix.
Format#
- v = vech(x)#
- Parameters:
- x (NxN symmetric matrix) – data 
- Returns:
- v ((N*(N+1)/2)x1 vector) – the lower triangular portion of the matrix x. 
 
Examples#
// Add a 3x1 column vector containing 10, 20, 30 to a 1x3
// row vector containing 1, 2, 3, to create a 3x3 matrix
x = seqa(10, 10, 3) + seqa(1, 1, 3)';
// Turn the lower triangular portion of 'x' into a column
// vector in 'v'
v = vech(x);
// Expand the vector 'v' into a symmetric matrix in 'sx'
sx = xpnd(v);
After the code above:
                   11
    11 12 13       21       11 21 31
x = 21 22 23   v = 22  sx = 21 22 32
    31 32 33       31       31 32 33
                   32
                   33
Remarks#
As you can see from the example below, vech() will not check to see if x
is symmetric. It just packs the lower triangular portion of the matrix
into a column vector in row-wise order.
See also
Functions xpnd()
