pub struct ChainComplex {
pub boundary: Vec<Vec<Vec<i32>>>,
pub ranks: Vec<usize>,
}Expand description
An abstract chain complex (C_k, ∂_k) over the integers.
Stores the boundary matrices for each dimension and provides ranks and homology rank bounds.
Fields§
§boundary: Vec<Vec<Vec<i32>>>Boundary matrices: boundary[k] = ∂{k+1} : C{k+1} → C_k.
ranks: Vec<usize>Chain group ranks (dimensions) indexed by k.
Implementations§
Source§impl ChainComplex
impl ChainComplex
Sourcepub fn from_matrices(matrices: Vec<Vec<Vec<i32>>>) -> Self
pub fn from_matrices(matrices: Vec<Vec<Vec<i32>>>) -> Self
Create a chain complex from a sequence of boundary matrices.
matrices[k] is the boundary operator ∂_{k+1}, stored as
a matrix of shape (rank_k) × (rank_{k+1}).
Sourcepub fn from_cw_complex(cw: &CwComplex) -> Self
pub fn from_cw_complex(cw: &CwComplex) -> Self
Extract chain complex from a CW complex up to dimension max_dim.
Trait Implementations§
Source§impl Clone for ChainComplex
impl Clone for ChainComplex
Source§fn clone(&self) -> ChainComplex
fn clone(&self) -> ChainComplex
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 moreSource§impl Debug for ChainComplex
impl Debug for ChainComplex
Source§impl Default for ChainComplex
impl Default for ChainComplex
Source§fn default() -> ChainComplex
fn default() -> ChainComplex
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ChainComplex
impl RefUnwindSafe for ChainComplex
impl Send for ChainComplex
impl Sync for ChainComplex
impl Unpin for ChainComplex
impl UnsafeUnpin for ChainComplex
impl UnwindSafe for ChainComplex
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.