Re: Add terms surrounded by zero together in matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg59192] Re: Add terms surrounded by zero together in matrix
- From: Peter Pein <petsie at dordos.net>
- Date: Mon, 1 Aug 2005 01:05:06 -0400 (EDT)
- References: <dcccur$3j7$1@smc.vnet.net><dcf31j$led$1@smc.vnet.net> <dchoka$86g$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
mchangun at gmail.com schrieb:
> Hi Oli,
>
> That should be counted as two 1's.
>
Andrzeij's code is easily adapted to this:
In[1]:=
SumsOfTermsSurroundedByZero[AA_]:=
Block[{d,MakeNames,A},
A=Prepend[Flatten[{0,#,0}]&/@AA,Table[0,{2+Length[AA[[1]]]}]];
MakeNames[i_,j_]:=A[[i,j]]*=
If[(d=Variables[{A[[i-1,j]],A[[i,j-1]]}])==={},
Unique[z],
If[Length[d]>1,
Set[#,First[d]]&/@Rest[d]];
First[d]
];
MakeNames@@@Position[A,_?Positive];
Coefficient[Plus@@Flatten[A],#]&/@Variables[A]
]
In[2]:=
SumsOfTermsSurroundedByZero[{{1,0,0,1,0,0,1},{0,1,0,1,0,
1,0},{0,0,1,0,1,0,0},{0,0,0,1,0,0,0}}]
Out[2]=
{1,2,1,1,1,1,1,1}
--
Peter Pein
Berlin
http://people.freenet.de/Peter_Berlin/