On Jan 9, 3:40 pm, "William Stein" <[email protected]> wrote:
> On Fri, Jan 9, 2009 at 3:38 PM, Mike Hansen <[email protected]> wrote:
>
> > On Fri, Jan 9, 2009 at 3:36 PM, John H Palmieri <[email protected]>
> > 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---