Re: How to construct symmetric matrix from just a one half matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg110373] Re: How to construct symmetric matrix from just a one half matrix
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Wed, 16 Jun 2010 05:36:00 -0400 (EDT)
On 6/15/10 at 2:29 AM, culinovic at gmail.com (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
Here is one way that seems reasonably simple:
In[3]:= a = {{1, 0, 0, 0}, {2, 3, 0, 0}, {4, 9, 5, 0}, {2, 2, 3, 4}};
a + Transpose[a] - DiagonalMatrix[Tr[a, List]]
Out[4]= {{1, 2, 4, 2}, {2, 3, 9, 2}, {4, 9, 5, 3},
{2, 2, 3, 4}}