Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConditionSet, ImageSet: Implement formal Set comprehension #24176

Closed
rwst opened this issue Nov 8, 2017 · 37 comments
Closed

ConditionSet, ImageSet: Implement formal Set comprehension #24176

rwst opened this issue Nov 8, 2017 · 37 comments

Comments

@rwst
Copy link

rwst commented Nov 8, 2017

In order to be able to express solution sets from SymPy's solveset a set comprehension constructor as equivalent to SymPy's imageset / ConditionSet is needed. As the arguments are symbolic the most natural way to do this would be a formal symbolic function named like set_of_all taking a term argument and a list argument containing element_of(...) function expressions.

This set would convert to a SymPy ImageSet or ConditionSet

Related: ImageManifoldSubset (#31653)

Depends on #24171
Depends on #32013
Depends on #32089
Depends on #32121

CC: @tscrim @mantepse

Component: symbolics

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/24176

@rwst rwst added this to the sage-8.2 milestone Nov 8, 2017
@rwst
Copy link
Author

rwst commented Nov 8, 2017

Dependencies: #24171

@rwst
Copy link
Author

rwst commented Nov 10, 2017

Changed dependencies from #24171 to #24171, pynac-0.7.13

@rwst
Copy link
Author

rwst commented Nov 10, 2017

comment:2

Accepting lists requires the function being a GinacFunction.

@rwst
Copy link
Author

rwst commented Nov 13, 2017

@rwst
Copy link
Author

rwst commented Nov 21, 2017

Commit: 9c77312

@rwst
Copy link
Author

rwst commented Nov 21, 2017

Changed dependencies from #24171, pynac-0.7.13 to #24171, #24262

@rwst
Copy link
Author

rwst commented Nov 21, 2017

New commits:

669ea2224171: Formal set membership function
34c977324171: make RealSet inherit from Set_generic
af8271724171: remove RealSet import; SR set coercion doctests
592ce8724171: Py3 fixes
82b7c6fMerge branch 'u/rws/formal_set_membership_function' of git://trac.sagemath.org/sage into t/24176/implement_formal_set_comprehension
ae2989524176: check set argument of element_of()
9c7731224176: Implement formal Set comprehension

@rwst
Copy link
Author

rwst commented Dec 14, 2017

Changed branch from u/rws/implement_formal_set_comprehension to u/rws/24176

@rwst
Copy link
Author

rwst commented Dec 14, 2017

Changed branch from u/rws/24176 to u/rws/implement_formal_set_comprehension

@rwst
Copy link
Author

rwst commented Dec 14, 2017

Changed dependencies from #24171, #24262 to #24171, #24329

@rwst
Copy link
Author

rwst commented Dec 14, 2017

Author: Ralf Stephan

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

Changed commit from 9c77312 to ec39309

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

Changed dependencies from #24171, #24329 to #24171

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

comment:8

Rebased on top of rebased #24171


New commits:

72565f224171: Formal set membership function
71bbf3824171: Formal set membership function
6811a7624171: make RealSet inherit from Set_generic
0a66f7824171: remove RealSet import; SR set coercion doctests
e35349a24171: Py3 fixes
26ef67d24176: check set argument of element_of()
ec3930924176: Implement formal Set comprehension

@mkoeppe mkoeppe modified the milestones: sage-8.2, sage-9.4 Jun 9, 2021
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2021

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

51c8152Merge branch 't/31877/refine_category_of_realset' into t/24171/set-membership-rebased
5e623bbRealSet.is_finite: Remove, inherited from category
7d19916Do not use QQ.completion(oo,oo) - not implemented
9b4e22424176: check set argument of element_of()
5310e04Function_elementof: Remove use of is_Set
46d979524171: Formal set membership function
6995d1e24171: make RealSet inherit from Set_generic
a41c5fc24171: remove RealSet import; SR set coercion doctests
2a9c49a24171: Py3 fixes
24789ba24176: Implement formal Set comprehension

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2021

Changed commit from ec39309 to 24789ba

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

comment:10

Rebased on top of updated #24171, which cherry-picked 1 commit from here.

Not sure about the changes on this ticket marked 24171. They are either from a newer or older version of 24171.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 9, 2021

comment:11

The fix to RealSet.__bool__ in 6995d1e/2a9c49a can go to #31941 (Make empty RealSet false).

Unclear to me whether 6995d1e (make RealSet inherit from Set_generic) should be done

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 10, 2021

comment:14

I think the approach on the current branch may be tied a bit too closely to SR functions.

I think it's better to first implement:

@mkoeppe mkoeppe changed the title Implement formal Set comprehension ConditionSet, ImageSet: Implement formal Set comprehension Jun 19, 2021
@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 19, 2021

comment:16

Replying to @mkoeppe:

  • ConditionSet (as an abstract subobject of a parent in the Sets category) - defined via the element constructor of the parent and an SR expression with truth value.

more precisely... an element of CallableSymbolicExpression (see #32008 for making this safer)

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 20, 2021

Changed dependencies from #24171 to #24171, #32013

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 2, 2021

Changed dependencies from #24171, #32013 to #24171, #32013, #32089

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 2, 2021

comment:18

Replying to @mkoeppe:

Replying to @mkoeppe:

  • ConditionSet (as an abstract subobject of a parent in the Sets category) - defined via the element constructor of the parent and an SR expression with truth value.

more precisely... an element of CallableSymbolicExpression (see #32008 for making this safer)

This is now implemented in #32089.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 4, 2021

comment:19

ImageSet is essentially the same as the (deprecated?) sage.combinat.combinat.MapCombinatorialClass, except that we would not insist that the map is injective.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 4, 2021

comment:20

Opened #32121 Replace MapCombinatorialClass

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 4, 2021

Changed dependencies from #24171, #32013, #32089 to #24171, #32013, #32089, #32121

@mantepse
Copy link
Contributor

mantepse commented Jul 6, 2021

comment:22

@mkoeppe: since you put me into the CC list, would this include symbolic roots of polynomials, given by the minimal polynomial?

I am guessing (because I'm not an expert there) that these would really need a special treatment, because one can compute with them quite well.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 5, 2022

comment:25

With #32121 merged, this is now finished

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 5, 2022

Changed author from Ralf Stephan to none

@mkoeppe mkoeppe removed this from the sage-9.6 milestone Mar 5, 2022
@tscrim
Copy link
Collaborator

tscrim commented Mar 5, 2022

comment:26

Agreed.

@tscrim
Copy link
Collaborator

tscrim commented Mar 5, 2022

Reviewer: Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Mar 5, 2022

Changed branch from u/mkoeppe/implement_formal_set_comprehension to none

@tscrim
Copy link
Collaborator

tscrim commented Mar 5, 2022

Changed commit from 24789ba to none

@mantepse
Copy link
Contributor

mantepse commented Mar 6, 2022

comment:27

Does #32121 provide a possibility to specify the set of roots of a polynomial?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants