Condensing a 4-Tensor into a 2-Tensor
- To: mathgroup at smc.vnet.net
- Subject: [mg45116] Condensing a 4-Tensor into a 2-Tensor
- From: "Ashok. R" <ashokr at alum.dartmouth.org>
- Date: Wed, 17 Dec 2003 07:54:32 -0500 (EST)
- Organization: Washington University in St. Louis
- Sender: owner-wri-mathgroup at wolfram.com
Greetings. I have a 4-Tensor H, whose components are given by H[i,j,k,l]. The tensor has minor symmetries so that H[i,j,k,l] = H[j,i,k,l] = H[i,j,l,k]. So there are only 36 distinct components in this tensor. I want to condense these into a 6x6 2-tensor (Matrix), D, with the following rules: D(1,1) should map to H[1,1,1,1] D(1,2) should map to H[1,1,2,2] D(1,3) should map to H[1,1,3,3] D(1,4) should map to H[1,1,1,2] D(1,5) should map to H[1,1,1,3] D(1,6) should map to H[1,1,2,3] and so on. Basically for D(i,j) : If i<=3, replace i with i,i in H If i = 4, replace i with 1,2 in H If i = 5, replace i with 1,3 in H if i = 6, replace i with 2,3 in H The rules are the same for j: If j<=3, replace j with j,j H If j = 4, replace j with 1,2 in H If j = 5, replace j with 1,3 in H if j = 6, replace j with 2,3 in H The only way I can think of is the tedious way of assigning all 3,6 entries individually. Is there a shorter, more elegant way to do this ? Thanks, Ashok