MathGroup Archive 2003

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

Search the Archive

Re: how implement sets

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41558] Re: how implement sets
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Mon, 26 May 2003 05:46:35 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <bakj7u$l8h$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

create a new expression type and you can benefit from
the Oderless arrtibute, and Mathematica will sort the 
arguments by default.

Remove[MathematicalSet]

SetAttributes[MathematicalSet, Orderless]
MathematicalSet[a__] /; Length[Split[{a}]] =!= Length[{a}] := 
  MathematicalSet @@ (First /@ Split[{a}])

Regards
  Jens


Murray Eisenberg wrote:
> 
> Mathematica has no built-in data type for sets in the mathematical sense
> (no implied order of elements).  This is to ask your advice in how in
> Mathematica to implement sets, for use in teaching math, where the
> distinction between an "ordered set" and just a plain "set" is crucial.
> 
> Inherently, lists in Mathematica have an order, so List itself certainly
> cannot be the correct thing to use.  Here are two possibilities:
> 
> (1) A set is a list with no repeated parts.  Then a function SetQ is
> needed to test that.  Obvious definition:
> 
>      SetQ[x_] := ListQ[x] && Length[Union[x]] == Length[x]
> 
> (2) Create a new "datatype" by using an appropriately-named head, such
> as -- WHAT?  Mathematica has already appropriated the word Set for
> something else, of course.  Perhaps Class or Collection?  (And then
> overload Union, Intersection, Complement so they do what they should
> with such objects.)
> 
> Any thoughts on which might be preferable, or on some other way?
> 
> --
> Murray Eisenberg                     murray at math.umass.edu
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower      phone 413 549-1020 (H)
> University of Massachusetts                413 545-2859 (W)
> 710 North Pleasant Street            fax   413 545-1801
> Amherst, MA 01003-9305


  • Prev by Date: Re: Re: equiprobable intervals with triangular pdf
  • Next by Date: Re: Tricky differential equation
  • Previous by thread: Re: how implement sets
  • Next by thread: Re: transform a function