sagemath/sage

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

Opened this issue · 13 comments

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

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.
+
+

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.
 
 

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.
+
+

Dependencies: #31748

Changed dependencies from #31748 to #31748, #31881

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

9390187WIP Sets.Subobjects.ParentMethods.indicator_function

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

Changed commit from 9390187 to 7eb807b

Changed commit from 7eb807b to beaea83

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

beaea83ConvexSet_base: Add indicator_function, indicator_functions_monoid

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