xpnd#
Purpose#
Expands a column vector into a symmetric matrix.
Format#
- x = xpnd(v)#
- Parameters:
v (Kx1 vector) – data to be expanded into a symmetric matrix.
- Returns:
x (MxM matrix) –
the results of taking v and filling in a symmetric matrix with its elements.
\[M = \frac{\sqrt{1 + 8 \times K} - 1}{2}\]
Examples#
x = { 1,
2, 3,
4, 5, 6,
7, 8, 9, 10 };
y = xpnd(x);
After the code above, the variables x and y are equal to:
1
2
3
4 1 2 4 7
x = 5 y = 2 3 5 8
6 4 5 6 9
7 7 8 9 10
8
9
10
Remarks#
If v does not contain the right number of elements, (that is, if \(\sqrt{1 + 8 \times K}\) is not integral), then an error message is generated.
This function is particularly useful for hard-coding symmetric matrices, because only about half of the matrix needs to be entered.
See also
Functions vech()