Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: creating adjacency matrices

  • 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>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • 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[
    {actors,events adj},
    {events, actors} = Union /@ Transpose[lst];
    adj = Table[0, {Length[events]}, {Length[actors]}];
    Scan[(Part[adj, Sequence @@ #] = 1) &, 
      lst /. MapIndexed[Rule[#1, First[#2]] &, actors]];
    adj
    ]

you get

In[]:=AdjacenceMatrix[lst]
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
> Graduate School of Management
> University of California, Irvine
> tmoliter at uci.edu
> **********************************************


  • Prev by Date: Re: Error in BinCounts function?
  • Next by Date: RE: Re: A symbol for Floor
  • Previous by thread: creating adjacency matrices
  • Next by thread: Re: creating adjacency matrices