pub struct Graph { /* private fields */ }Expand description
Undirected graphs.
Implementation of graphs by upper triangular adjacency matrix,
reprensented as a boolean vector of length n choose 2.
Implementations§
Source§impl Graph
impl Graph
Sourcepub fn new(n: usize, edge: &[(usize, usize)]) -> Self
pub fn new(n: usize, edge: &[(usize, usize)]) -> Self
Create a graph on n vertices with edge set edge.
The vertices of this graph are 0,...,n-1.
Trait Implementations§
Source§impl Canonize for Graph
impl Canonize for Graph
Source§fn invariant_neighborhood(&self, v: usize) -> Vec<Vec<usize>>
fn invariant_neighborhood(&self, v: usize) -> Vec<Vec<usize>>
Return lists of vertices that are invariant isomorphism. Read more
Source§fn apply_morphism(&self, p: &[usize]) -> Self
fn apply_morphism(&self, p: &[usize]) -> Self
Return the result of the action of a permuation
p on the object. Read moreSource§fn invariant_coloring(&self) -> Option<Vec<u64>>
fn invariant_coloring(&self) -> Option<Vec<u64>>
Optionally returns a value for each node that is invariant by isomorphism. Read more
Source§fn canonical_typed(&self, sigma: usize) -> Self
fn canonical_typed(&self, sigma: usize) -> Self
The “typed” objects refers to the case where only
the action of permutations that are constant
on
0..sigma are considered. Read moreSource§fn morphism_to_canonical(&self) -> Vec<usize>
fn morphism_to_canonical(&self) -> Vec<usize>
Source§fn automorphisms(&self) -> AutomorphismIterator<Self>
fn automorphisms(&self) -> AutomorphismIterator<Self>
Iterator on the automorphism group of
g. Read moreSource§fn stabilizer(&self, sigma: usize) -> AutomorphismIterator<Self>
fn stabilizer(&self, sigma: usize) -> AutomorphismIterator<Self>
Source§impl<'de> Deserialize<'de> for Graph
impl<'de> Deserialize<'de> for Graph
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Flag for Graph
impl Flag for Graph
Source§const NAME: &'static str = "Graph"
const NAME: &'static str = "Graph"
A unique name for this type of flags. For instance “Graph”.
This nameis used for naming the associated data subdirectory.
Source§fn induce(&self, p: &[usize]) -> Self
fn induce(&self, p: &[usize]) -> Self
Returns the subflag induced by the vertices in the slice
set.Source§fn size_zero_flags() -> Vec<Self>
fn size_zero_flags() -> Vec<Self>
Returns the set of all flags of size 0. Read more
Source§fn superflags(&self) -> Vec<Self>
fn superflags(&self) -> Vec<Self>
Source§const HEREDITARY: bool = true
const HEREDITARY: bool = true
Setting this parameter to
false deactivate checks that induced subflags exists.
Must be true in every classic case.Source§fn generate_next(previous: &[Self]) -> Vec<Self>
fn generate_next(previous: &[Self]) -> Vec<Self>
Return the list of flags of size
self.size() + 1 that contain self
as an induced subflag reduced modulo isomorphism.Source§fn generate(n: usize) -> Vec<Self>
fn generate(n: usize) -> Vec<Self>
Return the list of flags of size
n reduced modulo isomorphism.Source§fn generate_typed_up(type_flag: &Self, g_vec: &[Self]) -> Vec<Self>
fn generate_typed_up(type_flag: &Self, g_vec: &[Self]) -> Vec<Self>
Return the list of flags of
g_vec that can be rooted on the
flag type_flag.
Each different way to root this flag give a different flag in the result.Source§fn generate_typed(type_flag: &Self, size: usize) -> Vec<Self>
fn generate_typed(type_flag: &Self, size: usize) -> Vec<Self>
Return the list of flag of size
size rooted on type_flag
reduced modulo (typed) isomorphism.Source§fn select_type(&self, eta: &[usize]) -> Self
fn select_type(&self, eta: &[usize]) -> Self
Reorder self so that the
eta.len() first vertices are the values
of eta in the corresponding order.Source§impl Ord for Graph
impl Ord for Graph
Source§impl PartialOrd for Graph
impl PartialOrd for Graph
Source§impl SubFlag<Graph> for Connected
impl SubFlag<Graph> for Connected
Source§const SUBCLASS_NAME: &'static str = "Connected graph"
const SUBCLASS_NAME: &'static str = "Connected graph"
Unique name for the subclass.
This is used for naming the memoization directory.
const HEREDITARY: bool = false
Source§fn is_in_subclass(flag: &Graph) -> bool
fn is_in_subclass(flag: &Graph) -> bool
Identifier function for the subclass.
impl Eq for Graph
impl StructuralPartialEq for Graph
Auto Trait Implementations§
impl Freeze for Graph
impl RefUnwindSafe for Graph
impl Send for Graph
impl Sync for Graph
impl Unpin for Graph
impl UnwindSafe for Graph
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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§unsafe fn to_subset_unchecked(&self) -> SS
unsafe 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.