Skip to main content

DrinfeldModule

Struct DrinfeldModule 

Source
pub struct DrinfeldModule {
    pub rank: usize,
    pub characteristic: u64,
}
Expand description

A Drinfeld module over a function field.

Drinfeld modules are analogues of elliptic curves in the function field setting. They play the same role in the Langlands programme over function fields as elliptic curves do over number fields.

Fields§

§rank: usize

The rank of the Drinfeld module (analogous to degree of an isogeny).

§characteristic: u64

The characteristic of the underlying function field (a prime power).

Implementations§

Source§

impl DrinfeldModule

Source

pub fn new(rank: usize, characteristic: u64) -> Self

Constructs a Drinfeld module of given rank and characteristic.

Source

pub fn is_ordinary(&self) -> bool

Returns true if the Drinfeld module is ordinary.

An ordinary Drinfeld module of rank r has r distinct period lattice generators; equivalently, its Hasse invariant is non-zero.

Source

pub fn is_supersingular(&self) -> bool

Returns true if the Drinfeld module is supersingular.

A supersingular Drinfeld module has trivial p-torsion; it is the complement of ordinary in the moduli space.

Source

pub fn height(&self) -> usize

Returns the height of the Drinfeld module.

The height is the rank minus the height of the formal group; for an ordinary module it equals 0, for supersingular it equals the rank.

Trait Implementations§

Source§

impl Clone for DrinfeldModule

Source§

fn clone(&self) -> DrinfeldModule

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DrinfeldModule

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.