Skip to main content

EquivariantLocalizer

Struct EquivariantLocalizer 

Source
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: TorusWeights

Torus weights

Implementations§

Source§

impl EquivariantLocalizer

Source

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)
Source

pub fn with_weights( grassmannian: (usize, usize), weights: TorusWeights, ) -> EnumerativeResult<Self>

Create a localizer with custom weights.

§Contract
requires: k <= n
requires: weights.len() == n
Source

pub fn fixed_point_count(&self) -> usize

Number of fixed points: C(n, k).

Source

pub fn fixed_points(&mut self) -> &[FixedPoint]

Get all fixed points.

Source

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 computation
Source

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)
Source

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)

Trait Implementations§

Source§

impl Debug for EquivariantLocalizer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.