How to transform an UpperDiagonalMatrix into a symmetric matrix in Mathematica 5.2?
c = {{c11, c12, c13, c14}, {0, c22, c23, c24}, {0, 0, c33, c34}, {0, 0, 0, c44}};
Table[c[[i, j]] = c[[j, i]], {i, 2, Length[c]}, {j, 1, i - 1}];
c // MatrixForm
MapIndexed[c[[## & @@ Sort@#2]] &, c, {2}]
c2 = Array[Function[, c[[##]], Orderless], Dimensions @ c]
TeXForm @ MatrixForm @ c2
$\left( \begin{array}{cccc} \text{c11} & \text{c12} & \text{c13} & \text{c14} \\ \text{c12} & \text{c22} & \text{c23} & \text{c24} \\ \text{c13} & \text{c23} & \text{c33} & \text{c34} \\ \text{c14} & \text{c24} & \text{c34} & \text{c44} \\ \end{array} \right)$
Also,
SetAttributes[f, Orderless]
f[i_, j_] := c[[i, j]]
c3 = Array[f, Dimensions @ c]
c3 == c2
True
and
c4 = Array[c[[##]] & @@ Sort[{##}] &, Dimensions[c]]
c4 == c2
True
All functions used are available since version 1.