pub struct StabilityCondition {
pub grassmannian: (usize, usize),
pub trust_level: f64,
}Expand description
A Bridgeland-type stability condition parameterized by trust level.
The central charge is:
Z_t(σ_λ) = -codim(σ_λ) + i · t · dim(σ_λ)A Schubert class is stable at trust level t if its phase φ = (1/π)·arg(Z_t) ∈ (0, 1).
Fields§
§grassmannian: (usize, usize)Grassmannian parameters
trust_level: f64Trust level parameter
Implementations§
Source§impl StabilityCondition
impl StabilityCondition
Sourcepub fn standard(grassmannian: (usize, usize), trust_level: f64) -> Self
pub fn standard(grassmannian: (usize, usize), trust_level: f64) -> Self
Create the standard stability condition for a Grassmannian.
§Contract
requires: trust_level > 0
ensures: result.is_stable(σ_λ) depends on codim/dim ratioSourcepub fn central_charge(&self, class: &SchubertClass) -> (f64, f64)
pub fn central_charge(&self, class: &SchubertClass) -> (f64, f64)
Compute the central charge Z_t(σ_λ).
Returns (real_part, imaginary_part).
§Contract
ensures: result.0 == -codim(class)
ensures: result.1 == trust_level * dim(class)Sourcepub fn phase(&self, class: &SchubertClass) -> f64
pub fn phase(&self, class: &SchubertClass) -> f64
Compute the phase φ = (1/π) · arg(Z_t(σ_λ)).
Phase in (0, 1) means the class is stable. Phase = 0 or 1 means semistable (on a wall).
§Contract
ensures: 0.0 <= result <= 1.0Sourcepub fn is_stable(&self, capability: &Capability) -> bool
pub fn is_stable(&self, capability: &Capability) -> bool
Check if a capability is stable at this trust level.
§Contract
ensures: result == (0 < phase(class) < 1)Sourcepub fn stable_capabilities<'a>(
&self,
namespace: &'a Namespace,
) -> Vec<&'a Capability>
pub fn stable_capabilities<'a>( &self, namespace: &'a Namespace, ) -> Vec<&'a Capability>
Find all stable capabilities in a namespace at this trust level.
§Contract
ensures: forall cap in result. self.is_stable(cap) == true
ensures: result.len() <= namespace.capabilities.len()Sourcepub fn stable_count(&self, namespace: &Namespace) -> usize
pub fn stable_count(&self, namespace: &Namespace) -> usize
Trait Implementations§
Source§impl Clone for StabilityCondition
impl Clone for StabilityCondition
Source§fn clone(&self) -> StabilityCondition
fn clone(&self) -> StabilityCondition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StabilityCondition
impl RefUnwindSafe for StabilityCondition
impl Send for StabilityCondition
impl Sync for StabilityCondition
impl Unpin for StabilityCondition
impl UnsafeUnpin for StabilityCondition
impl UnwindSafe for StabilityCondition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more