On Jan 9, 3:40 pm, "William Stein" <wst...@gmail.com> wrote:
> On Fri, Jan 9, 2009 at 3:38 PM, Mike Hansen <mhan...@gmail.com> wrote:
>
> > On Fri, Jan 9, 2009 at 3:36 PM, John H Palmieri <jhpalmier...@gmail.com> 
> > wrote:
>
> >> Is this a bug?
>
> >> sage: Set([])
> >> {}
> >> sage: Set(Set([]))
> >> {}
> >> sage: Set([]) == Set(Set([]))
> >> True
>
> > This is because Set takes a list (iterable) for all the of the
> > elements of the set.  So, if you want to construct the set containing
> > the empty set, you'd do the following:
>
> > sage: e = Set([])
> > sage: ee = Set([e])
> > sage: e
> > {}
> > sage: ee
> > {{}}
> > sage: e == ee
> > False
>
> Yep.  Think "coercion" -- Set(foo) makes foo into a set.
> It doesn't make the set containing foo.

Oh, I should have figured that out.

Here's another question: what is the most efficient way of testing
whether one Set is a subset of another?  I can do

    S in list(T.subsets())

-- and it's a bit frustrating that I can't do S in T.subsets() -- and
I can also manipulate intersections, unions, differences, etc. I can
also convert to python sets and use <=.  Is there a preferred way?

  John


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to