The method smat2vec obtains the vectorization of a symmetric matrix. The method vec2smat performs the reverse operation.
i1 : A = matrix(QQ, {{1,2,3,4},{2,5,6,7},{3,6,8,9},{4,7,9,10}}) o1 = | 1 2 3 4 | | 2 5 6 7 | | 3 6 8 9 | | 4 7 9 10 | 4 4 o1 : Matrix QQ <--- QQ |
i2 : v = smat2vec A o2 = | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | 10 1 o2 : Matrix QQ <--- QQ |
i3 : vec2smat v o3 = | 1 2 3 4 | | 2 5 6 7 | | 3 6 8 9 | | 4 7 9 10 | 4 4 o3 : Matrix QQ <--- QQ |
The scaling of the off-diagonal entries can be controlled with the optional parameter.
i4 : smat2vec(A,Scaling=>2) o4 = | 1 | | 4 | | 6 | | 8 | | 5 | | 12 | | 14 | | 8 | | 18 | | 10 | 10 1 o4 : Matrix QQ <--- QQ |
The object smat2vec is a method function with options.