Programmatically creating functions of many variables
- To: mathgroup at smc.vnet.net
- Subject: [mg113659] Programmatically creating functions of many variables
- From: Yaroslav Bulatov <yaroslavvb at gmail.com>
- Date: Sat, 6 Nov 2010 05:01:03 -0500 (EST)
Suppose I have a graph, and I'd like to create a function which checks
whether given assignment of nodes is a proper labeling -- ie, no two
adjacent nodes get the same number. One could do something like the
following, but that gives Part warnings. Is there a preferred
approach?
graph = GraphData[{"Grid", {2, 2}}, "AdjacencyMatrix"] // Normal;
f = Function @@ {{x}, And @@ (x[[First[#]]] != x[[Last[#]]] & /@
Position[graph, 1])}
This is actually a problem that I periodically come across. Part
approach causes warnings meanwhile something like Function @@
{Subscript[x,#]&/@Range[n], ...} doesn't work. What are typical ways
of generating multivariate functions automatically?
----
Yaroslav
http://stackoverflow.com/users/419116/yaroslav-bulatov