[Python-ideas] Support multiplication for sets

Nick Coghlan ncoghlan at gmail.com
Fri Oct 7 23:29:32 CEST 2011


On Fri, Oct 7, 2011 at 2:13 PM, Paul Moore <p.f.moore at gmail.com> wrote:
> On 7 October 2011 18:15, Stephen J. Turnbull <turnbull at sk.tsukuba.ac.jp> wrote:
>> Paul Moore writes:
>>
>>  > So your multiplication isn't commutative (the types of the elements in
>>  > the 2 expressions above are different).
>>
>> No, set multiplication is not going to be commutative: {'a'} X {1} is
>> quite different from {1} X {'a'}.  The problem you're pointing out is
>> much worse: the obvious implementation of Cartesian product isn't even
>> associative.
>
> Bah. For all my claims of having a mathematical background (OK, so it
> was 30 years ago :-)) I can't even remember the difference between
> associativity and commutativity.

Associative: A * (B * C) == (A * B) * C
Commutative: A * B == B * A

Set multiplication as the Cartesian product is neither (as others have
pointed out).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-ideas mailing list