#13125: Reals sets consisting of intervals and isolated points
------------------------------------------------------------+---------------
Reporter: ares | Owner:
Ares Ribó
Type: enhancement | Status:
needs_review
Priority: major | Milestone:
sage-5.11
Component: calculus | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Volker Braun , Jordi Saludes , Ares Ribó | Merged in:
Dependencies: | Stopgaps:
------------------------------------------------------------+---------------
Old description:
> Finite unions of open/closed/semi-closed subsets of the real line
>
> For example
> {{{
> sage: RealSet(0,2) + RealSet.unbounded_above_closed(10)
> (0, 2) + [10, +Infinity)
> }}}
> '''
> Reals sets consisting of union of real intervals and isolated points.'''
>
> This is based of previous work available from http://www.mail-
> archive.com/[email protected]/msg21326.html
> but supporting now integration on real intervals and real sets.
>
> - Laurent Claessens (2010-12-10): Original Interval and ContinuousSet
> from 'http://www.mail-archive.com/sage-
> [email protected]/msg21326.html'.
> Defined a class Interval that represents an interval (can be
> open, closed, half open, unbounded), and implements 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 that represents
> finite union and
> intersections of intervals by a list of disjoint intervals. For
> the class ContinuousSet, union() and __contain__() methods are
> implemented.
>
> - Ares Ribo (2011-10-24): Extended the previous work defining the
> class RealSet, that describes any real set as a list of disjoint
> intervals and a list of
> isolated points. For this class, we implemented the
> intersection() ( union() and __contain__() as for ContinuousSets). We
> implemented the function 'subsets'
> which 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. Also we support definite integration over a RealSet, and we
> implemented the infimum and the supremum of a RealSet. 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.
>
> - Jordi Saludes (2011-12-10): Documentation and file reorganization.
> Reimplementation of 'setdiff'. RInterval is now always an open interval.
> The boundary/ies
> can be added as isolated point/s if necessary, constituting a
> RealSet.
>
> The research leading to these results has received funding from the
> European Union's Seventh Framework Programme (FP7/2007-2013) under grant
> agreement
> n° FP7-ICT-247914.
>
> Examples
> {{{
> sage: A = RealSet([RInterval((1,2)),RInterval((3,4))],[1,2])
>
> sage: A
> [ 1 :: 2 ] + ] 3 :: 4 [
>
> sage: B = RealSet([RInterval((2,3))],[1])
>
> sage: B
> ] 2 :: 3 [ + {1}
> }}}
New description:
Finite unions of open/closed/semi-closed subsets of the real line
For example
{{{
sage: RealSet(0,2) + RealSet.unbounded_above_closed(10)
(0, 2) + [10, +Infinity)
}}}
Apply
* [attachment:trac_13125_real_set.patch]
* [attachment:trac_13125_misc.patch]
--
Comment (by vbraun):
I've added the authors to my patch and incorporated any methods that made
sense to me. Ares, since your patch would take a bit of work to make use
of the Sage class hierarchy and since docstrings are not quite according
to Sage specs I propose that we base the implementation on what I have
currently posted. The imho only thing left is to decide what to do with
the `toGf` method. Which is some third-party code, I suppose. Maybe you
can explain what it is for? If you think it should go into Sage we could
turn it into a underscore method.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13125#comment:12>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.