Changes between Version 2 and Version 5 of Ticket #13125

Ignore:
Timestamp:
06/20/13 23:56:36 (9 years ago)
Comment:

I'm taking over this ticket since I need this for piecewise functions. I'm not sure what happened with the originally proposed patch, but what was attached here is not the actual code.

Unmodified
Added
Removed
Modified
• Ticket #13125

• Property Status changed from `new` to `needs_review`
• Property Cc kcrisman added
• Property Authors changed from `Jordi Saludes and Ares Ribó` to `Volker Braun`
• Ticket #13125 – Description

 v2 This is based of previous work available from http://www.mail-archive.com/sage-support@googlegroups.com/msg21326.html but supporting now integration on real intervals and real sets. Finite unions of open/closed/semi-closed subsets of the real line Laurent Claessens defined a class Interval that represents an interval (can be open, closed, half open, unbounded), and implemented union() and intersection() methods, as well as the __contains__() method that tests if a number is contained in the interval. Also defined the class ContinuousSet represening finite union and intersections of intervals by a list of disjoint intervals, and for this class ContinuousSet, union() and __contain__() methods were implemented. We extend the previous work of Laurent Claessens defining the class RealSet, that describes any real set as a list of disjoint intervals and a list of isolated points.  We define the class RInterval of real intervals. A RInterval is now a RealSet, consituted as a list of disjoint intervals with a unique element and an empty list of isolated points. Our class RInterval is now always an open interval. The boundary/ies can be added as isolated point/s if necessary, constituting a RealSet. For the class RealSet, we implement the intersection(), union() and __contain__(). We implement the function subsets that, given two different real sets A and B, returns if A is a (proper) subset of B, and the function setdiff that returns the difference of two given real sets. We implement also the infimum and the supremum of a RealSet. Also we support definite integration over a RealSet. For example {{{ sage: RealSet(0,2) + RealSet.unbounded_above_closed(10) (0, 2) + [10, +Infinity) }}}