sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.19k stars 413 forks source link

Sets.Subobjects.ParentMethods.indicator_function, ConvexSet_base.indicator_function, ConvexSet_base.convex_indicator_function #32201

Open mkoeppe opened 2 years ago

mkoeppe commented 2 years ago

These are the {0,1}- and {+oo,0}-valued functions on the ambient space that indicate set membership. The main focus of this ticket is on indicator_function.

indicator_functions form algebras in which multiplication is the pointwise multiplication; it corresponds to taking intersections. Every indicator function is an idempotent.

The indicator functions of the faces of a PolyhedralComplex form a basis. The indicator functions of their relative interiors form another basis - of orthogonal idempotents. The algebra is isomorphic to the MoebiusAlgebra of the opposite of the face poset.

convex_indicator_functions merely form a cone of functions. We introduce them on this ticket only to clarify the terminology, and in preparation for a connection to cvxpy (https://www.cvxpy.org/api_reference/cvxpy.transforms.html#cvxpy.transforms.indicator) in #31981

Depends on #31748 Depends on #31881

CC: @tscrim @kliem @yuan-zhou

Component: geometry

Branch/Commit: u/mkoeppe/sets_subobjects_parentmethods_indicator_function__convexset_base_indicator_function__convexset_base_convex_indicator_function @ beaea83

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

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,2 +1,5 @@
 these are the {0,1}- and {+oo,0}-valued functions on the ambient space that indicate set membership

+`indicator_function`s form algebras in which multiplication is the pointwise multiplication; it corresponds to taking intersections.
+
+
mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,5 +1,8 @@
 these are the {0,1}- and {+oo,0}-valued functions on the ambient space that indicate set membership

-`indicator_function`s form algebras in which multiplication is the pointwise multiplication; it corresponds to taking intersections.
+`indicator_function`s form algebras in which multiplication is the pointwise multiplication; it corresponds to taking intersections. Every indicator function is an idempotent.
+
+The indicator functions of the faces of a `PolyhedralComplex` form a basis. The indicator functions of their relative interiors form another basis - of orthogonal idempotents. 
+The algebra is isomorphic to the `MoebiusAlgebra` of the opposite of the face poset.
mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-these are the {0,1}- and {+oo,0}-valued functions on the ambient space that indicate set membership
+These are the {0,1}- and {+oo,0}-valued functions on the ambient space that indicate set membership.  The main focus of this ticket is on `indicator_function`.

 `indicator_function`s form algebras in which multiplication is the pointwise multiplication; it corresponds to taking intersections. Every indicator function is an idempotent.

@@ -6,3 +6,6 @@
 The algebra is isomorphic to the `MoebiusAlgebra` of the opposite of the face poset.

+`convex_indicator_function`s merely form a cone of functions. We introduce them on this ticket only to clarify the terminology.
+
+
mkoeppe commented 2 years ago

Dependencies: #31748

mkoeppe commented 2 years ago

Changed dependencies from #31748 to #31748, #31881

mkoeppe commented 2 years ago

Branch: u/mkoeppe/sets_subobjects_parentmethods_indicator_function__convexset_base_indicator_function__convexset_base_convex_indicator_function

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

9390187WIP Sets.Subobjects.ParentMethods.indicator_function
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Commit: 9390187

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

994c861WIP PolyhedralComplex.indicator_functions_algebra
00e452eInfinityRing, UnsignedInfinityRing: Add is_field method
7eb807bConvexSet_base.convex_indicator_function: New
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 9390187 to 7eb807b

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 7eb807b to beaea83

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

beaea83ConvexSet_base: Add indicator_function, indicator_functions_monoid
mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -6,6 +6,6 @@
 The algebra is isomorphic to the `MoebiusAlgebra` of the opposite of the face poset.

-`convex_indicator_function`s merely form a cone of functions. We introduce them on this ticket only to clarify the terminology.
+`convex_indicator_function`s merely form a cone of functions. We introduce them on this ticket only to clarify the terminology, and in preparation for a connection to cvxpy (https://www.cvxpy.org/api_reference/cvxpy.transforms.html#cvxpy.transforms.indicator) in #31981