On Jul 7, 2009, at 12:29 PM, Christophe wrote:

>
> Aaron S. Meurer a écrit :
>> You're probably right.  According to 
>> http://en.wikipedia.org/wiki/Interval_(mathematics)#Notations_for_intervals
>> , there is a different notation based on whether you are in America  
>> or
>> in Europe.  I think we can allow multiple different notations for the
>> arguments of the function. For example, also allow the use of a
>> bracket to denote open and a parenthesis to denote closed as is the
>> standard notation, so open-closed would be '(]', and so on.
>>
>> As to printing, I think we need to decide.  I have never seen
>> the ]3,4] notation, but I guess that is used.  What do you think?  I
>> guess we can include to option to have both, but we still need a
>> default option.
>>
> ]3;4] is the french standard notation of (3,4]. I could add an  
> optional
> argument lang. The choice lang='fr' will write ]3;4] and other value  
> of
> lang will write (3,4].
According to the Wikipedia article, that notation is based on ISO  
31-11 and is used in Europe and South America.  I think maybe the  
argument should be notation="American" for (3,4], and  
notation="European" for ]3, 4], with "American" as the default.
>
>>>> class Interval():
>>>>   def __init__(self, a, b, endpoints ='cc'):
>>>>       if endpoints not in ['cc', 'oc', 'co', 'oo']:
>>>>           raise Exception, 'Unkown endpoints of interval : "' +
>>>> str(endpoints) + '"'
>>>>
>>>
>>> please use raise Exception (...)
>>> ...and note the grammar and typo.
>>>
>> Actually, this should be TypeError, not Exception.  Also, the typo he
>> is referring to is the misspelling of "Unknown".
>>
> Sorry for my english but I try to do my best. Ok for changing of the
> error that must be raised.
>
>
>>>>   def __str__(self):
>>>>       if self.min == self.max:
>>>>           if self.endpoints == 'cc':
>>>>               return '{' + str(self.min) + '}'
>>>>
>>> Should we use [ or { ??
>>>
>> I am unfamiliar with the European notation, as I mentioned above, but
>> usually '{' is reserved for finite sets, like {1, 2, 3}, or set
>> builder notation, like {x | 1 < x < 2}.
>>
> Here we have an interval like [3,3] which is equal to {3}. No ?
I see.  Yes, you are correct, in that case, maybe it should return  
set(3).  Or maybe SymPy should have a special Set class with its own  
printer that uses "{".  The same for something like (3,3) or [4, 3],  
which should return the empty set.
>
> Is sympy is able to work with inequalities like 3<oo ?
It looks like it:
 >>> 3 < oo
True

Aaron Meurer


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
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/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to