Re: How to construct symmetric matrix from just a one half matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg110388] Re: How to construct symmetric matrix from just a one half matrix
- From: Sseziwa Mukasa <mukasa at jeol.com>
- Date: Wed, 16 Jun 2010 05:38:48 -0400 (EDT)
On Jun 15, 2010, at 2:29 AM, dragec wrote: > please help me with simple to apply function that will construct > symmetric matrix from given just a half matrix with diagonal. > Eg: > > From: > 1 0 0 0 > 2 3 0 0 > 4 9 5 0 > 2 2 3 4 > > To give: > > 1 2 4 2 > 2 3 9 2 > 4 9 5 3 > 2 2 3 4 > (Debug) In[76]:= lowerTriangulartoSymmetric[a_] := Array[If[#2 > #1, a[[#2, #1]], a[[#1, #2]]] &, Dimensions[a]] lowerTriangulartoSymmetric[{{1, 0, 0, 0}, {2, 3, 0, 0}, {4, 9, 5, 0}, {2, 2, 3, 4}}] (Debug) Out[77]= {{1, 2, 4, 2}, {2, 3, 9, 2}, {4, 9, 5, 3}, {2, 2, 3, 4}} Regards, Ssezi