pub struct EquivariantLocalizer {
pub grassmannian: (usize, usize),
pub weights: TorusWeights,
/* private fields */
}Expand description
Equivariant localizer for Grassmannian intersection computations.
Uses the Atiyah-Bott fixed point framework with Schubert calculus for reliable intersection number computation.
Fields§
§grassmannian: (usize, usize)Grassmannian parameters (k, n)
weights: TorusWeightsTorus weights
Implementations§
Source§impl EquivariantLocalizer
impl EquivariantLocalizer
Sourcepub fn new(grassmannian: (usize, usize)) -> EnumerativeResult<Self>
pub fn new(grassmannian: (usize, usize)) -> EnumerativeResult<Self>
Create a new localizer for Gr(k, n) with standard weights.
§Contract
requires: k <= n
ensures: result.fixed_point_count() == C(n, k)Sourcepub fn with_weights(
grassmannian: (usize, usize),
weights: TorusWeights,
) -> EnumerativeResult<Self>
pub fn with_weights( grassmannian: (usize, usize), weights: TorusWeights, ) -> EnumerativeResult<Self>
Sourcepub fn fixed_point_count(&self) -> usize
pub fn fixed_point_count(&self) -> usize
Number of fixed points: C(n, k).
Sourcepub fn fixed_points(&mut self) -> &[FixedPoint]
pub fn fixed_points(&mut self) -> &[FixedPoint]
Get all fixed points.
Sourcepub fn localized_intersection(
&mut self,
classes: &[SchubertClass],
) -> Rational64
pub fn localized_intersection( &mut self, classes: &[SchubertClass], ) -> Rational64
Compute the localized intersection of multiple Schubert classes.
Delegates to LR coefficient computation via SchubertCalculus::multi_intersect
for correctness, while the localization framework provides geometric structure.
§Contract
requires: total codimension == dim(Gr) for a finite answer
ensures: result agrees with LR coefficient computationSourcepub fn intersection_result(
&mut self,
classes: &[SchubertClass],
) -> IntersectionResult
pub fn intersection_result( &mut self, classes: &[SchubertClass], ) -> IntersectionResult
Compute intersection result with codimension checks.
Handles the three cases: overdetermined (Empty), transverse (Finite), and underdetermined (PositiveDimensional).
§Contract
ensures: result == Empty when sum(codim) > dim(Gr)
ensures: result == Finite(n) when sum(codim) == dim(Gr)
ensures: result == PositiveDimensional when sum(codim) < dim(Gr)Sourcepub fn fixed_point_analysis(&mut self) -> Vec<(&FixedPoint, Rational64)>
pub fn fixed_point_analysis(&mut self) -> Vec<(&FixedPoint, Rational64)>
Analyze the fixed-point contributions for a transverse intersection.
Returns (fixed_point, euler_class) pairs for geometric analysis.
§Contract
ensures: result.len() == C(n, k)
ensures: forall (_, euler) in result. euler != 0 (for distinct weights)