Re: creating a symbolic square symmetric matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg66326] Re: creating a symbolic square symmetric matrix
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Tue, 9 May 2006 03:59:37 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <e3pege$ifq$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
ravi wrote: > Hi, > First, I created a square matrix with the following command : > n=4; > mat=Table[Subscript[a,i, j],{i,n},{j,n}] > In the same style, I would like to create a symmetric matric where all > a[i, j] is replaced by a[j,i] for i>j. For i<=j, the coefficients > remain in place. > I tried to use the replace command : > Replace[mat,Subscript[a,i,j]->Subscript[a,j,i]] > This just interchanged the elements. I want this replacement only for > the lower or upper triangular matrix elements. > Would appreciate tips of doing a conditional substitution. > /ravi > Hi Ravi, Conditions can be added by *Condition* (/; in the example) [1] as in the following In[1]:= With[{n=4}, m=Table[Subscript[a,i,j],{i,n},{j,n}]] Out[1]//OutputForm= a a a a 1,1 1,2 1,3 1,4 a a a a 2,1 2,2 2,3 2,4 a a a a 3,1 3,2 3,3 3,4 a a a a 4,1 4,2 4,3 4,4 In[2]:= m /. Subscript[a, i_, j_] /; i > j -> Subscript[a, j, i] Out[2]//OutputForm= a a a a 1,1 1,2 1,3 1,4 a a a a 1,2 2,2 2,3 2,4 a a a a 1,3 2,3 3,3 3,4 a a a a 1,4 2,4 3,4 4,4 HTH, Jean-Marc