Re: distance function

*To*: mathgroup at smc.vnet.net*Subject*: [mg68826] Re: distance function*From*: "Dana DeLouis" <dana.del at gmail.com>*Date*: Sun, 20 Aug 2006 04:43:44 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

> "Given a list of points in the plane, write a function that finds the > set of all distances > between the points." Just something different. For a small number of points, if you wish to draw a graph, here's one way. The function "GetEdgeWeights" will list all the distances also. In[1]:= Needs["DiscreteMath`Combinatorica`"] In[2]:= pts = {{0, 0}, {3, 0}, {5, 3}, {1, 5}}; In[3]:= Dist = Norm /@ Apply[Subtract, KSubsets[pts, 2], {1}] In[4]:= g = ChangeVertices[CompleteGraph[Length[pts]], pts]; g = SetEdgeWeights[g, WeightingFunction -> Euclidean]; GetEdgeWeights[g] In[7]:= ShowGraph[g, GridLines -> Automatic, VertexNumber -> True, EdgeLabel -> Dist]; > In the book of Gaylord et al. (1996) there is one exercise which asks > (see page 113) > > "Given a list of points in the plane, write a function that finds the > set of all distances > between the points." > > Although there is one solution, that solution makes use of the Table > and Length commands. > > Is it a way to define the same function using Higher-Order functions > like Outer, MapThread etc?