• To: mathgroup at smc.vnet.net
• Subject: [mg36584] Re: creating adjacency matrices
• From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
• Date: Fri, 13 Sep 2002 01:13:51 -0400 (EDT)
• Organization: Universitaet Leipzig
• References: <alnvl6\$7pn\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi,

with

In[]:=lst = {{1, A},
{1, B},
{2 , B},
{3, C}, {3, D}, {1, D}};

and

In[]:=
AdjacenceMatrix[lst : {{_, _} ..}] := Module[
{events, actors} = Union /@ Transpose[lst];
Scan[(Part[adj, Sequence @@ #] = 1) &,
lst /. MapIndexed[Rule[#1, First[#2]] &, actors]];
]

you get

Out[]={{1, 1, 0, 1}, {0, 1, 0, 0}, {0, 0, 1, 1}}

Regards
Jens

"Moliterno, Thomas" wrote:
>
> I need to create an adjacency matrix from my data, which is currently in
> the form of a .txt file and is basically a two column incidence list.
> For example:
>
> 1 A
> 1 B
> 2 B
> 3 C
> . .
> . .
> . .
> m n
>
> Where 1 to m represent actors and A to n represent events. My goal is to
> have an (m x m) matrix where cell i,j equals 1 if two actors are
> incident to the same event (in the sample above, 1 and 2 are both
> incident to B) and 0 otherwise (w/ zeros on the diagonal).
>
> I'm new to Mathmatica, and so I'm on the steep part of the learning
> curve ... All I've been able to figure out so far is how to get my
> incidence list into the program using Import["filename.txt"]. But then
> what? How do I convert to the adjacency matrix? I've found the
> ToAdjacencyMatrix[] command in DiscreteMath`Combinatorica`, but I can't
> seem to get it to work ...
>
> Thanks to any and all in advance.
>
> Tom
>
> **********************************************
> Thomas P. Moliterno