pub struct LineBundleData {
pub self_intersection: i64,
pub curve_intersections: Vec<i64>,
}Expand description
Represents a line bundle on a smooth projective variety by its numerical data.
Fields§
§self_intersection: i64Self-intersection number (for surfaces: L²).
curve_intersections: Vec<i64>Intersection with a curve class (for ampleness checks).
Implementations§
Source§impl LineBundleData
impl LineBundleData
Sourcepub fn new(self_intersection: i64, curve_intersections: Vec<i64>) -> Self
pub fn new(self_intersection: i64, curve_intersections: Vec<i64>) -> Self
Create a LineBundleData with given self-intersection and curve intersections.
Sourcepub fn is_ample_nakai_moishezon(&self) -> bool
pub fn is_ample_nakai_moishezon(&self) -> bool
Check ampleness via Nakai-Moishezon on a surface: L² > 0 and L·C > 0 for all curves.
Sourcepub fn seshadri_constant(&self, multiplicities: &[u64]) -> f64
pub fn seshadri_constant(&self, multiplicities: &[u64]) -> f64
Compute the Seshadri constant (simplified: min ratio L·C / mult_x(C)).
Trait Implementations§
Source§impl Clone for LineBundleData
impl Clone for LineBundleData
Source§fn clone(&self) -> LineBundleData
fn clone(&self) -> LineBundleData
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 LineBundleData
impl RefUnwindSafe for LineBundleData
impl Send for LineBundleData
impl Sync for LineBundleData
impl Unpin for LineBundleData
impl UnsafeUnpin for LineBundleData
impl UnwindSafe for LineBundleData
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